Mercurial > hg > batch-feature-extraction-tool
view Source/MFCC.h @ 4:345acbd06029
Vectorised most things to make lifer easier. Still no debug version though. Weird.
author | Geogaddi\David <d.m.ronan@qmul.ac.uk> |
---|---|
date | Fri, 10 Jul 2015 03:04:11 +0100 |
parents | 25bf17994ef1 |
children | 262e084a15a9 |
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(std::vector<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