Mercurial > hg > qm-dsp
diff dsp/mfcc/MFCC.h @ 250:a106e551e9a4
...
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 10 Jan 2008 15:16:08 +0000 |
parents | |
children | d096a79fa772 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dsp/mfcc/MFCC.h Thu Jan 10 15:16:08 2008 +0000 @@ -0,0 +1,51 @@ +#ifndef _LIB_MFCC_H +#define _LIB_MFCC_H + +#define MFCC 6 + +typedef struct mfcc_t { + + /* Filter bank parameters */ + double lowestFrequency; + int linearFilters; + double linearSpacing; + int logFilters; + double logSpacing; + + /* FFT length */ + int fftSize; + + /* Analysis window length*/ + int windowSize; + + int totalFilters; + + /* Misc. */ + int samplingRate; + int nceps; + + /* MFCC vector */ + double *ceps; + + double **mfccDCTMatrix; + double **mfccFilterWeights; + + /* The analysis window */ + double *window; + + /* For the FFT */ + double* imagIn; // always zero + double* realOut; + double* imagOut; + + /* Set if user want C0 */ + int WANT_C0; + +} mfcc_t; + +extern mfcc_t* init_mfcc(int fftSize, int nceps , int samplingRate, int WANT_C0); +extern int do_mfcc(mfcc_t* mfcc_p, double* frame, int length); +extern void close_mfcc(mfcc_t* mfcc_p); + +#endif +