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__) */