Mercurial > hg > batch-feature-extraction-tool
view Source/MFCC.h @ 1:e86e9c111b29
Updates stuff that potentially fixes the memory leak and also makes it work on Windows and Linux (Need to test). Still have to fix fftw include for linux in Jucer.
author | David Ronan <d.m.ronan@qmul.ac.uk> |
---|---|
date | Thu, 09 Jul 2015 15:01:32 +0100 |
parents | 25bf17994ef1 |
children | 345acbd06029 |
line wrap: on
line source
/* ============================================================================== MFCC.h Created: 2 Sep 2014 3:30:50pm Author: david.ronan ============================================================================== */ #ifndef MFCC_H_INCLUDED #define MFCC_H_INCLUDED #include<vector> class MFCC { public: void initMFFCvariables(int NCoeffs, int Nfft, float fSampleRate); void ComputeMFCC(float* magnitude, std::vector<float> &mfccs); void freeMFCCmemory(); private: // -------- MFFC computation int m_iNumMFCCCoefs; int m_iTotalMFCCFilters; int* m_pMFCCFilterStart; int* m_pMFCCFilterLength; float** m_ppMFCCFilters; float* m_ppMFFC_DCT; float* m_fMelFilteredFFT; float* m_pMFCC; float* m_pfTempMelFilterResult; // -------- tools inline void vDSP_vmul(float* v1,int stride1, float* v2, int stride2, float* out, int outstride, int iNumSamples); inline float vDSP_sve(float* v, int stride, int iNumSamples); inline void vDSP_mmul(float* v1, int stride1, float* v2, int stride2, float* &vout, int strideOut, int M, int N, int P); }; #endif // MFCC_H_INCLUDED