17 #ifndef TEMPOTRACKV2_H
18 #define TEMPOTRACKV2_H
44 vector<double> &beatPeriod,
45 vector<double> &tempi) {
46 calculateBeatPeriod(df, beatPeriod, tempi, 120.0,
false);
53 vector<double> &beatPeriod,
54 vector<double> &tempi,
55 double inputtempo,
bool constraintempo);
59 const vector<double> &beatPeriod,
60 vector<double> &beats) {
61 calculateBeats(df, beatPeriod, beats, 0.9, 4.0);
68 const vector<double> &beatPeriod,
69 vector<double> &beats,
70 double alpha,
double tightness);
!! Question: how far is this actually sample rate dependent? I
void calculateBeats(const vector< double > &df, const vector< double > &beatPeriod, vector< double > &beats)
void filter_df(d_vec_t &df)
vector< vector< double > > d_mat_t
void adapt_thresh(d_vec_t &df)
void normalise_vec(d_vec_t &df)
double mean_array(const d_vec_t &dfin, int start, int end)
double get_max_val(const d_vec_t &df)
int get_max_ind(const d_vec_t &df)
void calculateBeats(const vector< double > &df, const vector< double > &beatPeriod, vector< double > &beats, double alpha, double tightness)
void calculateBeatPeriod(const vector< double > &df, vector< double > &beatPeriod, vector< double > &tempi)
void get_rcf(const d_vec_t &dfframe, const d_vec_t &wv, d_vec_t &rcf)
TempoTrackV2(float sampleRate, size_t dfIncrement)
void calculateBeatPeriod(const vector< double > &df, vector< double > &beatPeriod, vector< double > &tempi, double inputtempo, bool constraintempo)
void viterbi_decode(const d_mat_t &rcfmat, const d_vec_t &wv, d_vec_t &bp, d_vec_t &tempi)
vector< vector< int > > i_mat_t
PBD::PropertyDescriptor< timepos_t > start