qm-dsp  1.8
TempoTrack Class Reference

#include <TempoTrack.h>

List of all members.

Public Member Functions

 TempoTrack (TTParams Params)
virtual ~TempoTrack ()
vector< int > process (vector< double > DF, vector< double > *tempoReturn=0)

Private Member Functions

void initialise (TTParams Params)
void deInitialise ()
int beatPredict (unsigned int FSP, double alignment, double period, unsigned int step)
int phaseMM (double *DF, double *weighting, unsigned int winLength, double period)
void createPhaseExtractor (double *Filter, unsigned int winLength, double period, unsigned int fsp, unsigned int lastBeat)
int findMeter (double *ACF, unsigned int len, double period)
void constDetect (double *periodP, int currentIdx, int *flag)
void stepDetect (double *periodP, double *periodG, int currentIdx, int *flag)
void createCombFilter (double *Filter, unsigned int winLength, unsigned int TSig, double beatLag)
double tempoMM (double *ACF, double *weight, int sig)

Private Attributes

unsigned int m_dataLength
unsigned int m_winLength
unsigned int m_lagLength
double m_rayparam
double m_sigma
double m_DFWVNnorm
vector< int > m_beats
double m_lockedTempo
double * m_tempoScratch
double * m_smoothRCF
double * m_rawDFFrame
double * m_smoothDFFrame
double * m_frameACF
double * m_ACoeffs
double * m_BCoeffs
Framer m_DFFramer
DFProcessm_DFConditioning
Correlation m_correlator
DFProcConfig m_DFPParams
DFProcessm_RCFConditioning
DFProcConfig m_RCFPParams

Detailed Description

Definition at line 49 of file TempoTrack.h.


Constructor & Destructor Documentation

TempoTrack::~TempoTrack ( ) [virtual]

Definition at line 53 of file TempoTrack.cpp.

References deInitialise().


Member Function Documentation

int TempoTrack::beatPredict ( unsigned int  FSP,
double  alignment,
double  period,
unsigned int  step 
) [private]

Definition at line 670 of file TempoTrack.cpp.

References m_beats, and MathUtilities::round().

Referenced by process().

int TempoTrack::phaseMM ( double *  DF,
double *  weighting,
unsigned int  winLength,
double  period 
) [private]

Definition at line 627 of file TempoTrack.cpp.

References MathUtilities::round().

Referenced by process().

void TempoTrack::createPhaseExtractor ( double *  Filter,
unsigned int  winLength,
double  period,
unsigned int  fsp,
unsigned int  lastBeat 
) [private]

(double)winLength);

Definition at line 551 of file TempoTrack.cpp.

References MathUtilities::getFrameMinMax(), PI, and MathUtilities::round().

Referenced by process().

int TempoTrack::findMeter ( double *  ACF,
unsigned int  len,
double  period 
) [private]

Definition at line 479 of file TempoTrack.cpp.

References MathUtilities::round().

Referenced by process().

void TempoTrack::constDetect ( double *  periodP,
int  currentIdx,
int *  flag 
) [private]

Definition at line 465 of file TempoTrack.cpp.

Referenced by process().

void TempoTrack::stepDetect ( double *  periodP,
double *  periodG,
int  currentIdx,
int *  flag 
) [private]

Definition at line 445 of file TempoTrack.cpp.

Referenced by process().

void TempoTrack::createCombFilter ( double *  Filter,
unsigned int  winLength,
unsigned int  TSig,
double  beatLag 
) [private]

Definition at line 123 of file TempoTrack.cpp.

References m_rayparam, m_sigma, and PI.

Referenced by process().

double TempoTrack::tempoMM ( double *  ACF,
double *  weight,
int  sig 
) [private]

Member Data Documentation

unsigned int TempoTrack::m_dataLength [private]

Definition at line 71 of file TempoTrack.h.

Referenced by process(), and TempoTrack().

unsigned int TempoTrack::m_winLength [private]

Definition at line 72 of file TempoTrack.h.

Referenced by initialise(), process(), tempoMM(), and TempoTrack().

unsigned int TempoTrack::m_lagLength [private]

Definition at line 73 of file TempoTrack.h.

Referenced by initialise(), process(), tempoMM(), and TempoTrack().

double TempoTrack::m_rayparam [private]

Definition at line 75 of file TempoTrack.h.

Referenced by createCombFilter(), initialise(), and TempoTrack().

double TempoTrack::m_sigma [private]

Definition at line 76 of file TempoTrack.h.

Referenced by createCombFilter(), initialise(), and TempoTrack().

double TempoTrack::m_DFWVNnorm [private]

Definition at line 77 of file TempoTrack.h.

Referenced by initialise(), and TempoTrack().

vector<int> TempoTrack::m_beats [private]

Definition at line 79 of file TempoTrack.h.

Referenced by beatPredict(), and process().

double TempoTrack::m_lockedTempo [private]

Definition at line 81 of file TempoTrack.h.

Referenced by process(), and tempoMM().

double* TempoTrack::m_tempoScratch [private]

Definition at line 83 of file TempoTrack.h.

Referenced by deInitialise(), initialise(), tempoMM(), and TempoTrack().

double* TempoTrack::m_smoothRCF [private]

Definition at line 84 of file TempoTrack.h.

Referenced by deInitialise(), initialise(), tempoMM(), and TempoTrack().

double* TempoTrack::m_rawDFFrame [private]

Definition at line 87 of file TempoTrack.h.

Referenced by deInitialise(), initialise(), process(), and TempoTrack().

double* TempoTrack::m_smoothDFFrame [private]

Definition at line 88 of file TempoTrack.h.

Referenced by deInitialise(), initialise(), process(), and TempoTrack().

double* TempoTrack::m_frameACF [private]

Definition at line 89 of file TempoTrack.h.

Referenced by deInitialise(), initialise(), process(), and TempoTrack().

double* TempoTrack::m_ACoeffs [private]

Definition at line 92 of file TempoTrack.h.

double* TempoTrack::m_BCoeffs [private]

Definition at line 93 of file TempoTrack.h.

Definition at line 96 of file TempoTrack.h.

Referenced by initialise(), and process().

Definition at line 97 of file TempoTrack.h.

Referenced by deInitialise(), initialise(), and process().

Definition at line 98 of file TempoTrack.h.

Referenced by process().

Definition at line 100 of file TempoTrack.h.

Referenced by initialise().

Definition at line 103 of file TempoTrack.h.

Referenced by deInitialise(), initialise(), and tempoMM().

Definition at line 105 of file TempoTrack.h.

Referenced by initialise().


The documentation for this class was generated from the following files: