c@5: // c@5: // NoveltyCurve.h c@5: // Tempogram c@5: // c@5: // Created by Carl Bussey on 10/07/2014. c@5: // Copyright (c) 2014 Carl Bussey. All rights reserved. c@5: // c@5: c@5: #ifndef __Tempogram__NoveltyCurve__ c@5: #define __Tempogram__NoveltyCurve__ c@5: c@5: #include c@5: c@5: class NoveltyCurve{ c@5: float m_samplingFrequency; c@5: int m_blockSize; c@5: int m_numberOfBlocks; c@5: int m_compressionConstant; c@5: int m_numberOfBands; c@5: int * m_bandBoundaries; c@5: int m_hannLength; c@5: float * m_hannWindow; c@5: float ** m_bandSum; c@5: c@5: void initialise(); c@5: void cleanup(); c@5: float calculateMax(float ** spectrogram); c@5: void subtractLocalAverage(float * noveltyCurve); c@5: c@5: public: c@5: vector data; c@5: c@5: NoveltyCurve(float samplingFrequency, int blockSize, int numberOfBlocks, int compressionConstant); c@5: ~NoveltyCurve(); c@5: vector spectrogramToNoveltyCurve(float ** spectrogram); c@5: }; c@5: c@5: #endif /* defined(__Tempogram__NoveltyCurve__) */