Mercurial > hg > vamp-tempogram
diff NoveltyCurve.h @ 13:7680cc4c0073
* Tidying - made length of array variables type size_t and for loops unsigned int, where index > 0.
* Window length parameter is now a dropdown box.
author | Carl Bussey <c.bussey@se10.qmul.ac.uk> |
---|---|
date | Wed, 13 Aug 2014 14:18:00 +0100 |
parents | 09fb76606b2b |
children |
line wrap: on
line diff
--- a/NoveltyCurve.h Wed Aug 13 10:47:39 2014 +0100 +++ b/NoveltyCurve.h Wed Aug 13 14:18:00 2014 +0100 @@ -18,6 +18,7 @@ #include "FIRFilter.h" #include "WindowFunction.h" #include <cassert> +#include "Spectrogram.h" class NoveltyCurve{ float m_samplingFrequency; @@ -26,23 +27,21 @@ int m_numberOfBlocks; int m_compressionConstant; int m_numberOfBands; - int * m_bandBoundaries; - int m_hannLength; - float * m_bandSum; - std::vector<float> data; + int * m_pBandBoundaries; + float * m_pBandSum; void initialise(); void cleanup(); - float calculateMax(std::vector< std::vector<float> > &spectrogram); - void subtractLocalAverage(std::vector<float> &noveltyCurve); - void smoothedDifferentiator(std::vector< std::vector<float> > &spectrogram, int smoothLength); - void halfWaveRectify(std::vector< std::vector<float> > &spectrogram); + float calculateMax(const std::vector< std::vector<float> > &spectrogram) const; + void subtractLocalAverage(std::vector<float> &noveltyCurve, const size_t &smoothLength) const; + void smoothedDifferentiator(std::vector< std::vector<float> > &spectrogram, const size_t &smoothLength) const; + void halfWaveRectify(std::vector< std::vector<float> > &spectrogram) const; public: - NoveltyCurve(float samplingFrequency, int fftLength, int numberOfBlocks, int compressionConstant); + NoveltyCurve(const float &samplingFrequency, const size_t &fftLength, const size_t &numberOfBlocks, const size_t &compressionConstant); ~NoveltyCurve(); - std::vector<float> spectrogramToNoveltyCurve(std::vector< std::vector<float> > spectrogram); + std::vector<float> spectrogramToNoveltyCurve(Spectrogram spectrogram) const; }; #endif /* defined(__Tempogram__NoveltyCurve__) */