MFCC: Recommended chain

For MFCC, we recommend the following chain:
   fs=16000; type=0; % set MEL band spacing and shape
   [y, jout] = module_dftmsq(x, 0);
   [w,jout] = module_mel_bank(y,jout,Nc,'spa',type,fs);
   [z,jout] = module_log(w, jout, [1:Nc]);
   z=dct(z);
We do not recommend DCT truncation. This chain can be inverted using:
   fs=16000; type=0; % set MEL band spacing and shape
   z=idct(z);
   w=exp(z);
   y = module_mel_bank_synth(w,N,'maxent',type,fs);
   x = module_dftmsq_synth(y, N);

For potentially better performance, but slightly more computation, there is the ML version:

   fs=16000; type=0; % set MEL band spacing and shape
   [y, jout] = module_dftmsq(x, 0);
   [w,jout] = module_mel_ml(y,jout,Nc,type,fs,0);
   [z,jout] = module_log(w, jout, [1:Nc]);
   z=dct(z);
which can be inverted using:
   fs=16000; type=0; % set MEL band spacing and shape
   z=idct(z);
   w=exp(z);
   y = module_mel_ml_synth(w,N,type,fs);
   x = module_dftmsq_synth(y, N);



Baggenstoss 2017-05-19