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.
 
int process (const double *real, const double *imag, double *outceps)
 Process time-domain input data.
 
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, process(), realOut, and window.

Referenced by ClusterMeltSegmenter::extractFeaturesMFCC(), and process().

◆ 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.

References fftSize.

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 getfftlength(), MFCC(), process(), 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: