# 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? Jan 25, 2020 at 8:47
• @havakok, I added two references, thank you. Jan 25, 2020 at 8:54
• "more accurate": accurate for what? Jan 25, 2020 at 9:56
• @MarcusMüller, I mean which one gives better features, MFCCs, to use it in a speech recognition application. Sorry about that. Jan 25, 2020 at 10:29
• @MarcusMüller, More specific: for speech commands recognition using deep learning Jan 25, 2020 at 10:34

## 2 Answers

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.

• Thank you. Could you please see my answer? Jan 28, 2020 at 13:58
• 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, 2020 at 14:05

Here is what I found in this reference:

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.