adamstark@114:
adamstark@114:
adamstark@114:
22#ifndef __ONSETDETECTIONFUNCTION_H
adamstark@114:
23#define __ONSETDETECTIONFUNCTION_H
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
42 SpectralDifferenceHWR,
adamstark@114:
adamstark@114:
44 ComplexSpectralDifference,
adamstark@114:
45 ComplexSpectralDifferenceHWR,
adamstark@114:
adamstark@114:
47 HighFrequencySpectralDifference,
adamstark@114:
48 HighFrequencySpectralDifferenceHWR
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
100 void initialise (
int hopSize,
int frameSize,
int onsetDetectionFunctionType,
int windowType);
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
120 double energyEnvelope();
adamstark@114:
adamstark@114:
123 double energyDifference();
adamstark@114:
adamstark@114:
126 double spectralDifference();
adamstark@114:
adamstark@114:
129 double spectralDifferenceHWR();
adamstark@114:
adamstark@114:
132 double phaseDeviation();
adamstark@114:
adamstark@114:
135 double complexSpectralDifference();
adamstark@114:
adamstark@114:
138 double complexSpectralDifferenceHWR();
adamstark@114:
adamstark@114:
141 double highFrequencyContent();
adamstark@114:
adamstark@114:
144 double highFrequencySpectralDifference();
adamstark@114:
adamstark@114:
147 double highFrequencySpectralDifferenceHWR();
adamstark@114:
adamstark@114:
adamstark@114:
151 void calculateRectangularWindow();
adamstark@114:
adamstark@114:
154 void calculateHanningWindow();
adamstark@114:
adamstark@114:
157 void calclulateHammingWindow();
adamstark@114:
adamstark@114:
160 void calculateBlackmanWindow();
adamstark@114:
adamstark@114:
163 void calculateTukeyWindow();
adamstark@114:
adamstark@114:
adamstark@114:
170 double princarg(
double phaseVal);
adamstark@114:
adamstark@114:
172 void initialiseFFT();
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
179 int onsetDetectionFunctionType;
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
185 fftw_complex* complexIn;
adamstark@114:
186 fftw_complex* complexOut;
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
192 kiss_fft_cpx* fftOut;
adamstark@114:
193 std::vector<std::vector<double> > complexOut;
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
199 std::vector<double> frame;
adamstark@114:
200 std::vector<double> window;
adamstark@114:
202 double prevEnergySum;
adamstark@114:
204 std::vector<double> magSpec;
adamstark@114:
205 std::vector<double> prevMagSpec;
adamstark@114:
207 std::vector<double> phase;
adamstark@114:
208 std::vector<double> prevPhase;
adamstark@114:
209 std::vector<double> prevPhase2;
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
adamstark@114:
OnsetDetectionFunctionType
Definition OnsetDetectionFunction.h:38
adamstark@114:
WindowType
Definition OnsetDetectionFunction.h:54
adamstark@114:
Definition OnsetDetectionFunction.h:65
adamstark@114:
void initialise(int hopSize, int frameSize)
Definition OnsetDetectionFunction.cpp:64
adamstark@114:
double calculateOnsetDetectionFunctionSample(double *buffer)
Definition OnsetDetectionFunction.cpp:179
adamstark@114:
~OnsetDetectionFunction()
Definition OnsetDetectionFunction.cpp:55
adamstark@114:
void setOnsetDetectionFunctionType(int onsetDetectionFunctionType)
Definition OnsetDetectionFunction.cpp:173
adamstark@60: