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@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
78 void initialise(
int hopSize_,
int frameSize_,
int onsetDetectionFunctionType_,
int windowType);
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
98 double energyEnvelope();
adamstark@28:
adamstark@28:
101 double energyDifference();
adamstark@28:
adamstark@28:
104 double spectralDifference();
adamstark@28:
adamstark@28:
107 double spectralDifferenceHWR();
adamstark@28:
adamstark@28:
110 double phaseDeviation();
adamstark@28:
adamstark@28:
113 double complexSpectralDifference();
adamstark@28:
adamstark@28:
116 double complexSpectralDifferenceHWR();
adamstark@28:
adamstark@28:
119 double highFrequencyContent();
adamstark@28:
adamstark@28:
122 double highFrequencySpectralDifference();
adamstark@28:
adamstark@28:
125 double highFrequencySpectralDifferenceHWR();
adamstark@28:
adamstark@28:
adamstark@28:
129 void calculateRectangularWindow();
adamstark@28:
adamstark@28:
132 void calculateHanningWindow();
adamstark@28:
adamstark@28:
135 void calclulateHammingWindow();
adamstark@28:
adamstark@28:
138 void calculateBlackmanWindow();
adamstark@28:
adamstark@28:
141 void calculateTukeyWindow();
adamstark@28:
adamstark@28:
adamstark@28:
148 double princarg(
double phaseVal);
adamstark@24:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
adamstark@28:
155 int onsetDetectionFunctionType;
adamstark@28:
adamstark@28:
158 fftw_complex *complexIn;
adamstark@28:
159 fftw_complex *complexOut;
adamstark@28:
adamstark@28:
163 std::vector<double> frame;
adamstark@28:
164 std::vector<double> window;
adamstark@28:
166 double prevEnergySum;
adamstark@28:
168 std::vector<double> magSpec;
adamstark@28:
169 std::vector<double> prevMagSpec;
adamstark@28:
171 std::vector<double> phase;
adamstark@28:
172 std::vector<double> prevPhase;
adamstark@28:
173 std::vector<double> prevPhase2;
adamstark@28:
adamstark@24:
adamstark@28:
adamstark@28:
adamstark@23: