Mercurial > hg > vamp-tempogram
comparison Spectrogram.h @ 11:09fb76606b2b
* Removed many unnecessary heap allocations with objects
author | Carl Bussey <c.bussey@se10.qmul.ac.uk> |
---|---|
date | Wed, 13 Aug 2014 10:45:46 +0100 |
parents | be59b4a73f49 |
children | 7680cc4c0073 |
comparison
equal
deleted
inserted
replaced
9:be59b4a73f49 | 11:09fb76606b2b |
---|---|
10 #define __Tempogram__Spectrogram__ | 10 #define __Tempogram__Spectrogram__ |
11 #include <vector> | 11 #include <vector> |
12 #include <vamp-sdk/FFT.h> | 12 #include <vamp-sdk/FFT.h> |
13 #include <cmath> | 13 #include <cmath> |
14 | 14 |
15 class Spectrogram{ | 15 class SpectrogramProcessor{ |
16 int m_inputLength; | 16 int m_inputLength; |
17 int m_windowLength; | 17 int m_windowLength; |
18 int m_fftLength; | 18 int m_fftLength; |
19 int m_hopSize; | 19 int m_hopSize; |
20 int m_numberOfOutputBins; | 20 int m_numberOfOutputBins; |
24 std::vector< std::vector <float> > spectrogramOutput; | 24 std::vector< std::vector <float> > spectrogramOutput; |
25 | 25 |
26 void initialise(); | 26 void initialise(); |
27 void cleanup(); | 27 void cleanup(); |
28 public: | 28 public: |
29 std::vector< std::vector<float> > audioToMagnitudeSpectrogram(const float * const input, const float * window); | 29 std::vector< std::vector<float> > process(const float * const input, const float * window); |
30 Spectrogram(unsigned int inputLength, unsigned int windowLength, unsigned int fftLength, unsigned int hopSize); | 30 SpectrogramProcessor(unsigned int inputLength, unsigned int windowLength, unsigned int fftLength, unsigned int hopSize); |
31 ~Spectrogram(); | 31 ~SpectrogramProcessor(); |
32 }; | 32 }; |
33 | 33 |
34 #endif /* defined(__Tempogram__Spectrogram__) */ | 34 #endif /* defined(__Tempogram__Spectrogram__) */ |