Mercurial > hg > qm-dsp
annotate dsp/mfcc/mfcc.h @ 23:eea2a08a75a9
* remove some debug output
author | cannam |
---|---|
date | Thu, 10 Jan 2008 15:14:30 +0000 |
parents | 34808d582f47 |
children |
rev | line source |
---|---|
cannam@21 | 1 #ifndef _LIB_MFCC_H |
cannam@21 | 2 #define _LIB_MFCC_H |
cannam@21 | 3 |
cannam@21 | 4 #define MFCC 6 |
cannam@21 | 5 |
cannam@21 | 6 typedef struct mfcc_t { |
cannam@21 | 7 |
cannam@21 | 8 /* Filter bank parameters */ |
cannam@21 | 9 double lowestFrequency; |
cannam@21 | 10 int linearFilters; |
cannam@21 | 11 double linearSpacing; |
cannam@21 | 12 int logFilters; |
cannam@21 | 13 double logSpacing; |
cannam@21 | 14 |
cannam@21 | 15 /* FFT length */ |
cannam@21 | 16 int fftSize; |
cannam@21 | 17 |
cannam@21 | 18 /* Analysis window length*/ |
cannam@21 | 19 int windowSize; |
cannam@21 | 20 |
cannam@21 | 21 int totalFilters; |
cannam@21 | 22 |
cannam@21 | 23 /* Misc. */ |
cannam@21 | 24 int samplingRate; |
cannam@21 | 25 int nceps; |
cannam@21 | 26 |
cannam@21 | 27 /* MFCC vector */ |
cannam@21 | 28 double *ceps; |
cannam@21 | 29 |
cannam@21 | 30 double **mfccDCTMatrix; |
cannam@21 | 31 double **mfccFilterWeights; |
cannam@21 | 32 |
cannam@21 | 33 /* The analysis window */ |
cannam@21 | 34 double *window; |
cannam@21 | 35 |
cannam@21 | 36 /* For the FFT */ |
cannam@21 | 37 double* imagIn; // always zero |
cannam@21 | 38 double* realOut; |
cannam@21 | 39 double* imagOut; |
cannam@21 | 40 |
cannam@21 | 41 /* Set if user want C0 */ |
cannam@21 | 42 int WANT_C0; |
cannam@21 | 43 |
cannam@21 | 44 } mfcc_t; |
cannam@21 | 45 |
cannam@21 | 46 extern mfcc_t* init_mfcc(int fftSize, int nceps , int samplingRate, int WANT_C0); |
cannam@21 | 47 extern int do_mfcc(mfcc_t* mfcc_p, double* frame, int length); |
cannam@21 | 48 extern void close_mfcc(mfcc_t* mfcc_p); |
cannam@21 | 49 |
cannam@21 | 50 #endif |
cannam@21 | 51 |