qm-dsp
1.8
|
#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 |
DFProcess * | m_DFConditioning |
Correlation | m_correlator |
DFProcConfig | m_DFPParams |
DFProcess * | m_RCFConditioning |
DFProcConfig | m_RCFPParams |
Definition at line 49 of file TempoTrack.h.
TempoTrack::TempoTrack | ( | TTParams | Params | ) |
Definition at line 34 of file TempoTrack.cpp.
References initialise(), m_dataLength, m_DFWVNnorm, m_frameACF, m_lagLength, m_rawDFFrame, m_rayparam, m_sigma, m_smoothDFFrame, m_smoothRCF, m_tempoScratch, m_winLength, and NULL.
TempoTrack::~TempoTrack | ( | ) | [virtual] |
Definition at line 53 of file TempoTrack.cpp.
References deInitialise().
vector< int > TempoTrack::process | ( | vector< double > | DF, |
vector< double > * | tempoReturn = 0 |
||
) |
Definition at line 696 of file TempoTrack.cpp.
References beatPredict(), constDetect(), createCombFilter(), createPhaseExtractor(), Correlation::doAutoUnBiased(), findMeter(), Framer::getFrame(), Framer::getMaxNoFrames(), m_beats, m_correlator, m_dataLength, m_DFConditioning, m_DFFramer, m_frameACF, m_lagLength, m_lockedTempo, m_rawDFFrame, m_smoothDFFrame, m_winLength, phaseMM(), DFProcess::process(), Framer::setSource(), stepDetect(), and tempoMM().
void TempoTrack::initialise | ( | TTParams | Params | ) | [private] |
Definition at line 58 of file TempoTrack.cpp.
References TTParams::alpha, DFProcConfig::AlphaNormParam, Framer::configure(), DFProcConfig::isMedianPositive, TTParams::lagLength, DFProcConfig::length, DFProcConfig::LPACoeffs, TTParams::LPACoeffs, DFProcConfig::LPBCoeffs, TTParams::LPBCoeffs, DFProcConfig::LPOrd, TTParams::LPOrd, m_DFConditioning, m_DFFramer, m_DFPParams, m_DFWVNnorm, m_frameACF, m_lagLength, m_rawDFFrame, m_rayparam, m_RCFConditioning, m_RCFPParams, m_sigma, m_smoothDFFrame, m_smoothRCF, m_tempoScratch, m_winLength, WinThresh::post, WinThresh::pre, TTParams::winLength, DFProcConfig::winPost, DFProcConfig::winPre, and TTParams::WinT.
Referenced by TempoTrack().
void TempoTrack::deInitialise | ( | ) | [private] |
Definition at line 105 of file TempoTrack.cpp.
References m_DFConditioning, m_frameACF, m_rawDFFrame, m_RCFConditioning, m_smoothDFFrame, m_smoothRCF, and m_tempoScratch.
Referenced by ~TempoTrack().
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] |
Definition at line 145 of file TempoTrack.cpp.
References m_lagLength, m_lockedTempo, m_RCFConditioning, m_smoothRCF, m_tempoScratch, m_winLength, MathUtilities::mean(), and DFProcess::process().
Referenced by process().
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.
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.
Framer TempoTrack::m_DFFramer [private] |
Definition at line 96 of file TempoTrack.h.
Referenced by initialise(), and process().
DFProcess* TempoTrack::m_DFConditioning [private] |
Definition at line 97 of file TempoTrack.h.
Referenced by deInitialise(), initialise(), and process().
Correlation TempoTrack::m_correlator [private] |
Definition at line 98 of file TempoTrack.h.
Referenced by process().
DFProcConfig TempoTrack::m_DFPParams [private] |
Definition at line 100 of file TempoTrack.h.
Referenced by initialise().
DFProcess* TempoTrack::m_RCFConditioning [private] |
Definition at line 103 of file TempoTrack.h.
Referenced by deInitialise(), initialise(), and tempoMM().
DFProcConfig TempoTrack::m_RCFPParams [private] |
Definition at line 105 of file TempoTrack.h.
Referenced by initialise().