MFCCs and mean normalization
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:


Do not read random blog posts, read books instead. At least they are reviewed by the publisher.


  What does he mean by "balance the spectrum and improve the Signal-to-Noise (SNR)"?


Not spectrum is balanced but features. Signal to noise ratio remains the same after this operation.


  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.


Per-file normalization is often better if per-band amplitude of files in the database is different. At the same time if files are small per-file estimate might be inaccurate, then per-dataset normalization might be better.


  Why did he add the epsilon value 1e-8, and didn't divide by the standard deviation?


He just does mean normalization, not variance normalization, so he doesn't divide. As per 1e-8, it is totally meaningless.