I have read through many papers related to the Mel-frequency cepstrum coefficient (MFCC): I have some confusion about the MFCC process:

  1. Many of the papers say that I have to do a FT (Fourier Transform) on the log-spectrum to obtain cepstrum (as mentioned in Wikipedia : definition of power cepstrum)

  2. Many say I have to do an IFT (Inverse Fourier Transform) on log-spectrum to obtain cepstrum.

  3. Many refer to the DCT-II (Discrete cosine Transform-2) on the Mel-log-spectrum to obtain MFCC.

My question is, which one is right:

  1. FT or IFT?

  2. If the IFT is correct than why are they using DCT-II instead of IDCT-II, since the DCT-II is similar to DFT or FT?

(hence, the IDFT or IFT should be similar to IDCT-II)


1 Answer 1


First of all, FT and IFT of a discrete sequence are the same up to complex conjugation/scaling - these two operations will thus yield qualitatively the same result (in the sense that subsequence processing/statistical modeling will make abstraction of these differences anyway). The textbook definition of cepstrum requires a Fourier transform. People sometimes use the inverse Fourier transform to emphasizes that the X axis on the cepstrum plot can indeed be interpreted as a time (rather than as a quefrency).

The MFCC extraction process found in speech and audio analysis systems uses the DCT since it has the advantage of being a real -> real transform, and because the resulting coefficients are in practice decorrelated from each other - which is not the case if you take the sequence of real/imaginary part of a FT or IFT. This makes the resulting data very good for subsequent modeling with gaussian models with diagonal covariance matrix.

Another view on this: take thousands of hours of audio, extract log mel frequency coefficients (through a bank of filters with triangular responses, with center frequencies distributed on the Mel scale) for each analysis frame. You'll get a big dataset... Do a PCA on it to extract the dimensionality reduction transform that captures most of the variance of the mel coefficients. The transform matrix the PCA will produce will be uncannily close to the DCT matrix.

  • $\begingroup$ would you know of hours of audio speech anywhere on the web, to run PCA on ? I believe your point, but it would be interesting / fun to check it on real data. $\endgroup$
    – denis
    Oct 10, 2013 at 14:58
  • $\begingroup$ archive.org $\endgroup$ Oct 10, 2013 at 15:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.