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
    I am lost... Care to explain it better? Is it about a difference between mel and linearly spaced filterbanks? – jojek Aug 21 '17 at 15:50
  • I am asking myself the exactly same thing... – Aleksandar Jan 21 at 17:43

protected by Community Jan 21 at 23:59

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Browse other questions tagged or ask your own question.