Mercurial > hg > qm-dsp
comparison dsp/onsets/DetectionFunction.h @ 2:c539af5259da
* Make it possible to provide the detection function with frequency domain
inputs (i.e. phase vocoder already run)
author | cannam |
---|---|
date | Mon, 15 May 2006 11:21:47 +0000 |
parents | d7116e3183f8 |
children | da277e8b5244 |
comparison
equal
deleted
inserted
replaced
1:a017ab37d8ea | 2:c539af5259da |
---|---|
33 public: | 33 public: |
34 double* getSpectrumMagnitude(); | 34 double* getSpectrumMagnitude(); |
35 DetectionFunction( DFConfig Config ); | 35 DetectionFunction( DFConfig Config ); |
36 virtual ~DetectionFunction(); | 36 virtual ~DetectionFunction(); |
37 double process( double* TDomain ); | 37 double process( double* TDomain ); |
38 double process( double* magnitudes, double* phases ); | |
38 | 39 |
39 private: | 40 private: |
41 double runDF(); | |
42 | |
40 double HFC( unsigned int length, double* src); | 43 double HFC( unsigned int length, double* src); |
41 double specDiff( unsigned int length, double* src); | 44 double specDiff( unsigned int length, double* src); |
42 double phaseDev(unsigned int length, double *srcMagnitude, double *srcPhase); | 45 double phaseDev(unsigned int length, double *srcMagnitude, double *srcPhase); |
43 double complexSD(unsigned int length, double *srcMagnitude, double *srcPhase); | 46 double complexSD(unsigned int length, double *srcMagnitude, double *srcPhase); |
44 | 47 |
48 | 51 |
49 int m_DFType; | 52 int m_DFType; |
50 unsigned int m_dataLength; | 53 unsigned int m_dataLength; |
51 unsigned int m_halfLength; | 54 unsigned int m_halfLength; |
52 | 55 |
53 double* magHistory; | 56 double* m_magHistory; |
54 double* phaseHistory; | 57 double* m_phaseHistory; |
55 double* phaseHistoryOld; | 58 double* m_phaseHistoryOld; |
56 | 59 |
57 double* m_DFWindowedFrame; // Array for windowed analysis frame | 60 double* m_DFWindowedFrame; // Array for windowed analysis frame |
58 double* m_magnitude; // Magnitude of analysis frame ( frequency domain ) | 61 double* m_magnitude; // Magnitude of analysis frame ( frequency domain ) |
59 double* m_thetaAngle;// Phase of analysis frame ( frequency domain ) | 62 double* m_thetaAngle;// Phase of analysis frame ( frequency domain ) |
60 | 63 |
61 | |
62 vector < ComplexData > meas ; | |
63 | |
64 ComplexData j; | |
65 | |
66 Window<double> *m_window; | 64 Window<double> *m_window; |
67 | 65 PhaseVocoder* m_phaseVoc; // Phase Vocoder |
68 PhaseVocoder* m_phaseVoc; // Phase Vocoder | |
69 | |
70 }; | 66 }; |
71 | 67 |
72 #endif | 68 #endif |