d@0
|
1 /*
|
d@0
|
2 ==============================================================================
|
d@0
|
3
|
d@0
|
4 MFCC.h
|
d@0
|
5 Created: 2 Sep 2014 3:30:50pm
|
d@0
|
6 Author: david.ronan
|
d@0
|
7
|
d@0
|
8 ==============================================================================
|
d@0
|
9 */
|
d@0
|
10
|
d@0
|
11 #ifndef MFCC_H_INCLUDED
|
d@0
|
12 #define MFCC_H_INCLUDED
|
d@0
|
13
|
d@0
|
14 #include<vector>
|
d@0
|
15
|
d@0
|
16 class MFCC
|
d@0
|
17 {
|
d@0
|
18 public:
|
d@0
|
19 void initMFFCvariables(int NCoeffs, int Nfft, float fSampleRate);
|
d@4
|
20 void ComputeMFCC(std::vector<float> magnitude, std::vector<float> &mfccs);
|
d@0
|
21 private:
|
d@0
|
22 // -------- MFFC computation
|
d@0
|
23 int m_iNumMFCCCoefs;
|
d@0
|
24 int m_iTotalMFCCFilters;
|
d@9
|
25 std::vector<int> m_pMFCCFilterStart;
|
d@9
|
26 std::vector<int> m_pMFCCFilterLength;
|
d@9
|
27 std::vector<std::vector<float>> m_ppMFCCFilters;
|
d@9
|
28 std::vector<float> m_ppMFFC_DCT;
|
d@9
|
29 std::vector<float> m_fMelFilteredFFT;
|
d@9
|
30 std::vector<float> m_pMFCC;
|
d@9
|
31 std::vector<float> m_pfTempMelFilterResult;
|
d@0
|
32
|
d@9
|
33 void MultiplyVector(std::vector<float> v1, std::vector<float> v2, std::vector<float> &out, int iNumSamples);
|
d@0
|
34
|
d@9
|
35 float SumVector(std::vector<float> v);
|
d@0
|
36
|
d@9
|
37 void MultiplySumVector(std::vector<float> v1, std::vector<float> v2, std::vector<float> &vout, int M, int P);
|
d@0
|
38
|
d@0
|
39 };
|
d@0
|
40
|
d@0
|
41
|
d@0
|
42
|
d@0
|
43 #endif // MFCC_H_INCLUDED
|