I'm reading a blog about extracting MFCCs features for Machine Learning applications, but I didn't understand the following points about the mean normalization:
To balance the spectrum and improve the Signal-to-Noise (SNR), we can simply subtract the mean of each coefficient from all frames.
mfcc -= (numpy.mean(mfcc, axis=0) + 1e-8)
- What does he mean by "balance the spectrum and improve the Signal-to-Noise (SNR)"?
- Before feeding the MFCCs features to my neural network, I'm doing min-max normalization for the whole features in the dataset instead of normalizing each file alone (like what the author does above), and I'm not sure which method gives more accurate results.
- Why did he add the epsilon value
1e-8, and didn't divide by the standard deviation?