22 #ifndef __ONSETDETECTIONFUNCTION_H
23 #define __ONSETDETECTIONFUNCTION_H
35 SpectralDifferenceHWR,
37 ComplexSpectralDifference,
38 ComplexSpectralDifferenceHWR,
40 HighFrequencySpectralDifference,
41 HighFrequencySpectralDifferenceHWR
93 void initialise(
int hopSize_,
int frameSize_,
int onsetDetectionFunctionType_,
int windowType_);
113 double energyEnvelope();
116 double energyDifference();
119 double spectralDifference();
122 double spectralDifferenceHWR();
125 double phaseDeviation();
128 double complexSpectralDifference();
131 double complexSpectralDifferenceHWR();
134 double highFrequencyContent();
137 double highFrequencySpectralDifference();
140 double highFrequencySpectralDifferenceHWR();
144 void calculateRectangularWindow();
147 void calculateHanningWindow();
150 void calclulateHammingWindow();
153 void calculateBlackmanWindow();
156 void calculateTukeyWindow();
163 double princarg(
double phaseVal);
170 int onsetDetectionFunctionType;
174 fftw_complex *complexIn;
175 fftw_complex *complexOut;
179 std::vector<double> frame;
180 std::vector<double> window;
182 double prevEnergySum;
184 std::vector<double> magSpec;
185 std::vector<double> prevMagSpec;
187 std::vector<double> phase;
188 std::vector<double> prevPhase;
189 std::vector<double> prevPhase2;