view Source/MFCC.h @ 7:c6f38cba266d

Cleaned up redundant code
author Geogaddi\David <d.m.ronan@qmul.ac.uk>
date Wed, 22 Jul 2015 15:14:58 +0100
parents 345acbd06029
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