name: Cepstrum: public AlgorithmBase

synopsis:

g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_algo.a

#include <Cepstrum.h>
Cepstrum(long order = DEF_ORDER, ALGORITHM algorithm = DEF_ALGORITHM, IMPLEMENTATION implementation = DEF_IMPLEMENTATION);
boolean setOrder(long num);
boolean apply(VectorFloat& cepstrum, VectorFloat spec_mags) const;
quick start:

// declare cepstrum object
//
Cepstrum ceps;

// set the algorithm and the implementation
//
ceps.setAlgorithm(Cepstrum::IDCT);
ceps.setImplementation(Cepstrum::TYPE_III);

// set number of cepstral coefficients
//
ceps.setOrder(12);

// give your vector
//
VectorFloat input;

input.assign(L"1.0, 2.0, 1.0, 2.0, 3.0");
VectorFloat cepstrum;

// compute cepstral coefficients
//
ceps.compute(cepstrum, input);
description:

Cepstral coefficients are one of the most popular representations for the spectrum of the speech signal. The classic cepstrum is a typical case of a homomorphic transformation, and is defined as an inverse Discrete Fourier Transform (DFT) of the log spectrum. However, a typical front end of a speech recognizer, instead of performing an inverse DFT, employs an Discrete Cosine Transform (DCT) instead. The resulting coefficients are an approximation to the cepstrum, and in reality simply represent an orthogonal and compact representation of the log magnitude spectrum.

For a good discussion of the type of cepstral analysis commonly used in speech recognition, see: A good summary of the four types of DCT algorithms used in this software can be found in: The mathematical descriptions of the algorithms currently supported in this class are provided below for reference purposes:


In some applications, the zeroth cepstral coefficient is not required, since it simply represents the energy of the signal. In these cases, the
Mask class can be used to remove this coefficient. Similarly, the Window class can be used to implement popular weighting schemes such as liftering.

dependencies:

public constants: error codes:

protected data:

required public methods:

class-specific public methods:

private methods:

examples:

notes: