qm-dsp  1.8
MFCC Class Reference

#include <MFCC.h>

Public Member Functions

 MFCC (MFCCConfig config)
 
virtual ~MFCC ()
 
int process (const double *inframe, double *outceps)
 Process time-domain input data. More...
 
int process (const double *real, const double *imag, double *outceps)
 Process time-domain input data. More...
 
int getfftlength () const
 

Private Attributes

double lowestFrequency
 
int linearFilters
 
double linearSpacing
 
int logFilters
 
double logSpacing
 
int fftSize
 
int totalFilters
 
double logPower
 
int samplingRate
 
int nceps
 
double * ceps
 
double ** mfccDCTMatrix
 
double ** mfccFilterWeights
 
Window< double > * window
 
double * realOut
 
double * imagOut
 
double * fftMag
 
double * earMag
 
FFTRealfft
 
int WANT_C0
 

Detailed Description

Definition at line 35 of file MFCC.h.

Constructor & Destructor Documentation

◆ MFCC()

◆ ~MFCC()

MFCC::~MFCC ( )
virtual

Definition at line 168 of file MFCC.cpp.

References ceps, earMag, fft, fftMag, imagOut, mfccDCTMatrix, mfccFilterWeights, nceps, realOut, totalFilters, and window.

Member Function Documentation

◆ process() [1/2]

int MFCC::process ( const double *  inframe,
double *  outceps 
)

Process time-domain input data.

inframe must contain getfftlength() samples. outceps must contain space for nceps values, plus one if want_c0 is specified.

Definition at line 205 of file MFCC.cpp.

References Window< T >::cut(), fft, fftSize, FFTReal::forward(), imagOut, realOut, and window.

Referenced by ClusterMeltSegmenter::extractFeaturesMFCC().

◆ process() [2/2]

int MFCC::process ( const double *  real,
const double *  imag,
double *  outceps 
)

Process time-domain input data.

real and imag must contain getfftlength()/2+1 elements (i.e. the conjugate half of the FFT is not expected). outceps must contain space for nceps values, plus one if want_c0 is specified.

Definition at line 220 of file MFCC.cpp.

References earMag, fftMag, fftSize, logPower, mfccDCTMatrix, mfccFilterWeights, nceps, totalFilters, and WANT_C0.

◆ getfftlength()

int MFCC::getfftlength ( ) const
inline

Definition at line 56 of file MFCC.h.

Referenced by ClusterMeltSegmenter::extractFeaturesMFCC().

Member Data Documentation

◆ lowestFrequency

double MFCC::lowestFrequency
private

Definition at line 60 of file MFCC.h.

Referenced by MFCC().

◆ linearFilters

int MFCC::linearFilters
private

Definition at line 61 of file MFCC.h.

Referenced by MFCC().

◆ linearSpacing

double MFCC::linearSpacing
private

Definition at line 62 of file MFCC.h.

Referenced by MFCC().

◆ logFilters

int MFCC::logFilters
private

Definition at line 63 of file MFCC.h.

Referenced by MFCC().

◆ logSpacing

double MFCC::logSpacing
private

Definition at line 64 of file MFCC.h.

Referenced by MFCC().

◆ fftSize

int MFCC::fftSize
private

Definition at line 67 of file MFCC.h.

Referenced by MFCC(), and process().

◆ totalFilters

int MFCC::totalFilters
private

Definition at line 69 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ logPower

double MFCC::logPower
private

Definition at line 70 of file MFCC.h.

Referenced by MFCC(), and process().

◆ samplingRate

int MFCC::samplingRate
private

Definition at line 73 of file MFCC.h.

Referenced by MFCC().

◆ nceps

int MFCC::nceps
private

Definition at line 74 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ ceps

double* MFCC::ceps
private

Definition at line 77 of file MFCC.h.

Referenced by MFCC(), and ~MFCC().

◆ mfccDCTMatrix

double** MFCC::mfccDCTMatrix
private

Definition at line 79 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ mfccFilterWeights

double** MFCC::mfccFilterWeights
private

Definition at line 80 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ window

Window<double>* MFCC::window
private

Definition at line 83 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ realOut

double* MFCC::realOut
private

Definition at line 86 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ imagOut

double* MFCC::imagOut
private

Definition at line 87 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ fftMag

double* MFCC::fftMag
private

Definition at line 88 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ earMag

double* MFCC::earMag
private

Definition at line 89 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ fft

FFTReal* MFCC::fft
private

Definition at line 90 of file MFCC.h.

Referenced by MFCC(), process(), and ~MFCC().

◆ WANT_C0

int MFCC::WANT_C0
private

Definition at line 93 of file MFCC.h.

Referenced by MFCC(), and process().


The documentation for this class was generated from the following files: