qm-dsp  1.8
TempoTrack Class Reference

#include <TempoTrack.h>

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()

TempoTrack::~TempoTrack ( )
virtual

Definition at line 53 of file TempoTrack.cpp.

References deInitialise().

Member Function Documentation

◆ process()

◆ initialise()

◆ deInitialise()

void TempoTrack::deInitialise ( )
private

◆ beatPredict()

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().

◆ phaseMM()

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().

◆ createPhaseExtractor()

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().

◆ findMeter()

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().

◆ constDetect()

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

Definition at line 465 of file TempoTrack.cpp.

Referenced by process().

◆ stepDetect()

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

Definition at line 445 of file TempoTrack.cpp.

Referenced by process().

◆ createCombFilter()

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().

◆ tempoMM()

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

Member Data Documentation

◆ m_dataLength

unsigned int TempoTrack::m_dataLength
private

Definition at line 71 of file TempoTrack.h.

Referenced by process(), and TempoTrack().

◆ m_winLength

unsigned int TempoTrack::m_winLength
private

Definition at line 72 of file TempoTrack.h.

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

◆ m_lagLength

unsigned int TempoTrack::m_lagLength
private

Definition at line 73 of file TempoTrack.h.

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

◆ m_rayparam

double TempoTrack::m_rayparam
private

Definition at line 75 of file TempoTrack.h.

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

◆ m_sigma

double TempoTrack::m_sigma
private

Definition at line 76 of file TempoTrack.h.

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

◆ m_DFWVNnorm

double TempoTrack::m_DFWVNnorm
private

Definition at line 77 of file TempoTrack.h.

Referenced by initialise(), and TempoTrack().

◆ m_beats

vector<int> TempoTrack::m_beats
private

Definition at line 79 of file TempoTrack.h.

Referenced by beatPredict(), and process().

◆ m_lockedTempo

double TempoTrack::m_lockedTempo
private

Definition at line 81 of file TempoTrack.h.

Referenced by process(), and tempoMM().

◆ m_tempoScratch

double* TempoTrack::m_tempoScratch
private

Definition at line 83 of file TempoTrack.h.

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

◆ m_smoothRCF

double* TempoTrack::m_smoothRCF
private

Definition at line 84 of file TempoTrack.h.

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

◆ m_rawDFFrame

double* TempoTrack::m_rawDFFrame
private

Definition at line 87 of file TempoTrack.h.

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

◆ m_smoothDFFrame

double* TempoTrack::m_smoothDFFrame
private

Definition at line 88 of file TempoTrack.h.

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

◆ m_frameACF

double* TempoTrack::m_frameACF
private

Definition at line 89 of file TempoTrack.h.

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

◆ m_ACoeffs

double* TempoTrack::m_ACoeffs
private

Definition at line 92 of file TempoTrack.h.

◆ m_BCoeffs

double* TempoTrack::m_BCoeffs
private

Definition at line 93 of file TempoTrack.h.

◆ m_DFFramer

Framer TempoTrack::m_DFFramer
private

Definition at line 96 of file TempoTrack.h.

Referenced by initialise(), and process().

◆ m_DFConditioning

DFProcess* TempoTrack::m_DFConditioning
private

Definition at line 97 of file TempoTrack.h.

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

◆ m_correlator

Correlation TempoTrack::m_correlator
private

Definition at line 98 of file TempoTrack.h.

Referenced by process().

◆ m_DFPParams

DFProcConfig TempoTrack::m_DFPParams
private

Definition at line 100 of file TempoTrack.h.

Referenced by initialise().

◆ m_RCFConditioning

DFProcess* TempoTrack::m_RCFConditioning
private

Definition at line 103 of file TempoTrack.h.

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

◆ m_RCFPParams

DFProcConfig TempoTrack::m_RCFPParams
private

Definition at line 105 of file TempoTrack.h.

Referenced by initialise().


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