process_frame method
Returns the MFCC values for the given frame
Implementation
List<double> process_frame(List<double> frame){
if (_useEmphasis) {
var v = frame.last;
frame = preEmphasis(frame, _emphasis, lastValue: _lastValue);
_lastValue = v;
}
var power_spectrum = MFCC.power_spectrum(frame, _fftSize);
var mel_coefs = MFCC.mel_coefs(power_spectrum, _fbanks);
var mfccs = MFCC.dct(mel_coefs, true).sublist(0, _numCoefs);
if (_energy){
mfccs[0] = safe_log(power_spectrum.reduce((a, b) => a + b)); // Replace first value with logenergy
} else {
return mfccs.sublist(1);
}
return mfccs;
}