0
$\begingroup$

I'm planning on using MFCCs extracted from audio signals to make a speaker recognizer. I noticed that the first MFCC term tends to be very large, compared to the others. That's why I think that normalization is needed when working with machine learning algorithms (LSTM and HMM in my case). So, I think that I should have my MFCCs values between (-0.5,0.5) or (-1,1).

I tried (mfccs-mean)/std and I'm currently trying with minmax normalization.

I know how each of these methods are calculated but what are the differences when using them or any other with a machine learning algorithm?

$\endgroup$
  • $\begingroup$ Hi there and welcome. My two cents: input scaling is there only/mostly to aid numerical optimization. I personally prefer min-max normalization as it puts all inputs on the same scale. – Reviewer $\endgroup$ – Jim May 29 '18 at 10:59
  • $\begingroup$ Thanks! That's what I am using by now, I'll see in a few days how it behaves. Working with mffc-mean/stddidn'y throw very good results $\endgroup$ – Isaac May 29 '18 at 18:57
0
$\begingroup$

The common practice is to use cepstral mean variance normalization (CMVN) & it's equation is already mentioned by you. Alternatively, you can try CMVN on sliding window or feature warping. Note that commonly mel-frequency cepstral coefficients (MFSC) are being used in neural network where the normalization can be apparently done by batchnorm inside the network. However, experimental results shows pre-normalization of feature with sliding window CMVN helps.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.