comparison Tempogram.h @ 3:5125d34fda67

* Implemented normalisation * Implemented threshold * Strated implementing bandpass processing
author Carl Bussey <c.bussey@se10.qmul.ac.uk>
date Wed, 09 Jul 2014 20:14:20 +0100
parents 3fd1a41b089b
children 597f033fa7a2
comparison
equal deleted inserted replaced
2:1d0b7dcea27f 3:5125d34fda67
43 OutputList getOutputDescriptors() const; 43 OutputList getOutputDescriptors() const;
44 44
45 bool initialise(size_t channels, size_t stepSize, size_t blockSize); 45 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
46 void initialiseForGRF(); 46 void initialiseForGRF();
47 void cleanupForGRF(); 47 void cleanupForGRF();
48 vector<float> spectrogramToNoveltyCurve(vector<float> spectrogramData, int numberOfBlocks, int blockSize, float samplingFrequency, FeatureSet * featureSet = NULL);
48 void reset(); 49 void reset();
49 50
50 FeatureSet process(const float *const *inputBuffers, 51 FeatureSet process(const float *const *inputBuffers,
51 Vamp::RealTime timestamp); 52 Vamp::RealTime timestamp);
52 53
55 protected: 56 protected:
56 // plugin-specific data and methods go here 57 // plugin-specific data and methods go here
57 size_t m_blockSize; 58 size_t m_blockSize;
58 size_t m_stepSize; 59 size_t m_stepSize;
59 float compressionConstant; 60 float compressionConstant;
61 float specMax;
60 float *previousY; 62 float *previousY;
61 float *currentY; 63 float *currentY;
64 vector<float> specData;
62 vector<float> noveltyCurve; 65 vector<float> noveltyCurve;
66 float minDB;
63 67
64 unsigned int tN; 68 unsigned int tN;
65 unsigned int thopSize; 69 unsigned int thopSize;
66 double * fftInput; 70 double * fftInput;
67 double * fftOutputReal; 71 double * fftOutputReal;
68 double * fftOutputImag; 72 double * fftOutputImag;
69 73
70 int ncLength; 74 int numberOfBlocks;
71 int hannN; 75 int hannN;
72 float *hannWindow; 76 float *hannWindow;
73 float *hannWindowtN; 77 float *hannWindowtN;
74 78
75 vector<Vamp::RealTime> ncTimestamps; 79 vector<Vamp::RealTime> ncTimestamps;