Mercurial > hg > vamp-tempogram
comparison Spectrogram.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 |
comparison
equal
deleted
inserted
replaced
12:d58409ecd720 | 13:7680cc4c0073 |
---|---|
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 typedef std::vector <std::vector<float> > Spectrogram; | |
16 typedef std::vector <std::vector<float> > SpectrogramTransposed; | |
17 | |
15 class SpectrogramProcessor{ | 18 class SpectrogramProcessor{ |
16 int m_inputLength; | 19 size_t m_inputLength; |
17 int m_windowLength; | 20 size_t m_windowLength; |
18 int m_fftLength; | 21 size_t m_fftLength; |
19 int m_hopSize; | 22 size_t m_hopSize; |
20 int m_numberOfOutputBins; | 23 size_t m_numberOfOutputBins; |
21 double * fftInput; | 24 double * m_pFftInput; |
22 double * fftOutputReal; | 25 double * m_pFftOutputReal; |
23 double * fftOutputImag; | 26 double * m_pFftOutputImag; |
24 std::vector< std::vector <float> > spectrogramOutput; | |
25 | 27 |
26 void initialise(); | 28 void initialise(); |
27 void cleanup(); | 29 void cleanup(); |
28 public: | 30 public: |
29 std::vector< std::vector<float> > process(const float * const input, const float * window); | 31 SpectrogramProcessor(const size_t &inputLength, const size_t &windowLength, const size_t &fftLength, const size_t &hopSize); |
30 SpectrogramProcessor(unsigned int inputLength, unsigned int windowLength, unsigned int fftLength, unsigned int hopSize); | |
31 ~SpectrogramProcessor(); | 32 ~SpectrogramProcessor(); |
33 | |
34 std::vector< std::vector<float> > process(const float * const pInput, const float * pWindow) const; | |
32 }; | 35 }; |
33 | 36 |
34 #endif /* defined(__Tempogram__Spectrogram__) */ | 37 #endif /* defined(__Tempogram__Spectrogram__) */ |