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