22 #ifndef __ONSETDETECTIONFUNCTION_H
23 #define __ONSETDETECTIONFUNCTION_H
35 SpectralDifferenceHWR,
37 ComplexSpectralDifference,
38 ComplexSpectralDifferenceHWR,
40 HighFrequencySpectralDifference,
41 HighFrequencySpectralDifferenceHWR
78 void initialise(
int hopSize_,
int frameSize_,
int onsetDetectionFunctionType_,
int windowType);
98 double energyEnvelope();
101 double energyDifference();
104 double spectralDifference();
107 double spectralDifferenceHWR();
110 double phaseDeviation();
113 double complexSpectralDifference();
116 double complexSpectralDifferenceHWR();
119 double highFrequencyContent();
122 double highFrequencySpectralDifference();
125 double highFrequencySpectralDifferenceHWR();
129 void calculateRectangularWindow();
132 void calculateHanningWindow();
135 void calclulateHammingWindow();
138 void calculateBlackmanWindow();
141 void calculateTukeyWindow();
148 double princarg(
double phaseVal);
155 int onsetDetectionFunctionType;
158 fftw_complex *complexIn;
159 fftw_complex *complexOut;
163 std::vector<double> frame;
164 std::vector<double> window;
166 double prevEnergySum;
168 std::vector<double> magSpec;
169 std::vector<double> prevMagSpec;
171 std::vector<double> phase;
172 std::vector<double> prevPhase;
173 std::vector<double> prevPhase2;