#include <TempoTrack.h>

Public Member Functions

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

Private Member Functions

void initialise (TTParams Params)
 
void deInitialise ()
 
int beatPredict (int FSP, double alignment, double period, int step)
 
int phaseMM (double *DF, double *weighting, int winLength, double period)
 
void createPhaseExtractor (double *Filter, int winLength, double period, int fsp, int lastBeat)
 
int findMeter (double *ACF, 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, int winLength, int TSig, double beatLag)
 
double tempoMM (double *ACF, double *weight, int sig)
 

Private Attributes

int m_dataLength
 
int m_winLength
 
int m_lagLength
 
double m_rayparam
 
double m_sigma
 
double m_DFWVNnorm
 
std::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 45 of file TempoTrack.h.

Constructor & Destructor Documentation

TempoTrack::~TempoTrack ( )
virtual

Definition at line 54 of file TempoTrack.cpp.

References deInitialise().

Member Function Documentation

void TempoTrack::deInitialise ( )
private
int TempoTrack::beatPredict ( int  FSP,
double  alignment,
double  period,
int  step 
)
private

Definition at line 594 of file TempoTrack.cpp.

References m_beats, and MathUtilities::round().

Referenced by process().

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

Definition at line 556 of file TempoTrack.cpp.

References MathUtilities::round().

Referenced by process().

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

(double)winLength);

Definition at line 487 of file TempoTrack.cpp.

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

Referenced by process().

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

Definition at line 425 of file TempoTrack.cpp.

References MathUtilities::round().

Referenced by process().

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

Definition at line 414 of file TempoTrack.cpp.

Referenced by process().

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

Definition at line 399 of file TempoTrack.cpp.

Referenced by process().

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

Definition at line 111 of file TempoTrack.cpp.

References m_rayparam, m_sigma, and TWO_PI.

Referenced by process().

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

Member Data Documentation

int TempoTrack::m_dataLength
private

Definition at line 68 of file TempoTrack.h.

Referenced by process(), and TempoTrack().

int TempoTrack::m_winLength
private

Definition at line 69 of file TempoTrack.h.

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

int TempoTrack::m_lagLength
private

Definition at line 70 of file TempoTrack.h.

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

double TempoTrack::m_rayparam
private

Definition at line 72 of file TempoTrack.h.

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

double TempoTrack::m_sigma
private

Definition at line 73 of file TempoTrack.h.

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

double TempoTrack::m_DFWVNnorm
private

Definition at line 74 of file TempoTrack.h.

Referenced by initialise(), and TempoTrack().

std::vector<int> TempoTrack::m_beats
private

Definition at line 76 of file TempoTrack.h.

Referenced by beatPredict(), and process().

double TempoTrack::m_lockedTempo
private

Definition at line 78 of file TempoTrack.h.

Referenced by process(), and tempoMM().

double* TempoTrack::m_tempoScratch
private

Definition at line 80 of file TempoTrack.h.

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

double* TempoTrack::m_smoothRCF
private

Definition at line 81 of file TempoTrack.h.

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

double* TempoTrack::m_rawDFFrame
private

Definition at line 84 of file TempoTrack.h.

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

double* TempoTrack::m_smoothDFFrame
private

Definition at line 85 of file TempoTrack.h.

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

double* TempoTrack::m_frameACF
private

Definition at line 86 of file TempoTrack.h.

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

double* TempoTrack::m_ACoeffs
private

Definition at line 89 of file TempoTrack.h.

double* TempoTrack::m_BCoeffs
private

Definition at line 90 of file TempoTrack.h.

Framer TempoTrack::m_DFFramer
private

Definition at line 93 of file TempoTrack.h.

Referenced by initialise(), and process().

DFProcess* TempoTrack::m_DFConditioning
private

Definition at line 94 of file TempoTrack.h.

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

Correlation TempoTrack::m_correlator
private

Definition at line 95 of file TempoTrack.h.

Referenced by process().

DFProcConfig TempoTrack::m_DFPParams
private

Definition at line 97 of file TempoTrack.h.

Referenced by initialise().

DFProcess* TempoTrack::m_RCFConditioning
private

Definition at line 100 of file TempoTrack.h.

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

DFProcConfig TempoTrack::m_RCFPParams
private

Definition at line 102 of file TempoTrack.h.

Referenced by initialise().


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