I am working on my master thesis on acoustic pattern recognition and have a question to the calculation of cepstral coefficients. I understand the step with a filter bank in MFCC calculation, it is simply perceived power spectrum by humans ear. What if the human perception is irrelevant, for example if I am working not on human speech? I have constructed a linear spaced, 50% overlapped filterbank for the band I need. But it sounds to me, the filterbank is not needed in my case. If I do the DCT of the log power spectrum, it compresses the most energy on the first quefrencies and it doesn't matter if I feed the DCT with filterbank energies or just the full log power spectrum. I have tested it in Matlab and it seems to be true. What I want to know, is, if filterbank multiplication is necessary step of calculating cepstral coefficients, if the human sound perception does not matter. I only want to keep basic spectral shape (envelope), all frequencies should have the same "weighting", not like in mel-scale case. I previously thought, filterbank step would do some kind of dimension reduction, but obviously, dct does exactly this job. In the pictures above I wanted to show, that the filterbank step does not affect the spectral envelope. Taking a dct of the psd directly and then idct of the first 15 cepstral coefficients leads to the same spectral envelope if multiplicating psd with filterbank first and idct the first 15 cepstral coefficients. Like previously said, my filterbank consists of 40 linearly spaced triangular 50% overlapping filters. 1)without filterbank multiplication full psd 2) with filterbank multiplication 40 filterbank psd

In case of MFCC calculation: Why it is necessary to multiply the psd with filterbank (in MFCC case)? Why not to convert each fft bin to mel scale directly but first multiply with filterbank and sum up the energies of each filter before transforming to cepstrum? I found tons of papers, books and threads but never the details about a function of suming up frequency bins in filterbank before further processing. In my opinion it is like lowpass filtering the psd, but why, if shortpass liftering (taking only first 13 coefficients in cepstrum) is done in any case? The answer of this question would be the answer to the first question. I hope it is a bit clearer now. Sorry for my bad english.

  • 1
    $\begingroup$ I am lost... Care to explain it better? Is it about a difference between mel and linearly spaced filterbanks? $\endgroup$
    – jojek
    Aug 21, 2017 at 15:50
  • $\begingroup$ I am asking myself the exactly same thing... $\endgroup$
    – Aleksandar
    Jan 21, 2018 at 17:43


Browse other questions tagged or ask your own question.