# filterbank: understand the different responses at the center frequency of each filter

I'm computing filterbank by applying 26 triangular filters on a Mel-scale to the power spectrum of an audio frame to extract frequency bands, and I found that some references use filterbank with equal responses at the center frequency of each filter, see the following figure:

A formula for calculating these is as follows:

Then, they take the log of the resulting energies to compute the log filter bank energies.

But, in some other references, they use filters with decrease responses at the center frequency of each filter, i.e. something like this:

I want to understand the difference between these two methods, and which one is more accurate for usage in a speech recognition application based on deep learning?

And what are the formula and different steps to calculate the second one?

References:

http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/

http://www.cs.cmu.edu/afs/cs/user/bhiksha/WWW/courses/yahoo2009/01-02.featurecomputation.ppt

• Can you give a reference to the sources? – havakok Jan 25 at 8:47
• @havakok, I added two references, thank you. – Abdulkader Jan 25 at 8:54
• "more accurate": accurate for what? – Marcus Müller Jan 25 at 9:56
• @MarcusMüller, I mean which one gives better features, MFCCs, to use it in a speech recognition application. Sorry about that. – Abdulkader Jan 25 at 10:29
• @MarcusMüller, More specific: for speech commands recognition using deep learning – Abdulkader Jan 25 at 10:34

Normalizing the filterbanks by their widths is optional and totally up to you (similarly to the warping scale Mel/Bark). Depending on your application, you can start without normalization and see what results you are getting. Personally I prefer to keep it fixed and have one knob less for turning. There are more important parameters to tune, such as warping scale, number of banks and coefficients.

For example in the case of DNN's normalization is redundant, since you will be normalizing the input features anyway (at least that's what you should do), so any way you will end up with the same distribution.

• It's just summing of all filter weights to $1$. As I said, it's not really important in DNN applications because you will standardize all the features anyway. You can omit the filter scaling and don't lose any precision. – jojek Jan 28 at 14:05
The mel-cepstrum computed with $$H_m[k]$$ or $$H'_m[k]$$ will differ by a constant vector for all inputs, so the choice becomes unimportant when used in a speech recognition system that has trained with the same filters.
And the two equations $$H_m[k]$$ and $$H'_m[k]$$ are:
However, on page 328 of the mentioned reference, the author said that $$\displaystyle\sum_{m=0}^{M-1}H'_m[k]=1$$, and it seems weird to me, so if someone can make this point clear, I will appreciate it.