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

vector< int > TempoTrack::process ( vector< double > DF,
vector< double > * tempoReturn = 0 )

◆ 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: