From 82c1a63f989c54ce9b57e184f8da31d1d013d119 Mon Sep 17 00:00:00 2001 From: Dan Stowell Date: Tue, 9 Oct 2007 13:47:58 +0000 Subject: Fixed bug in xtract_init_mfcc() - iteration to decide filter peak positions only filled in freq_bands+1 values, when it should fill in freq_bands+2 --- ChangeLog | 4 ++++ src/init.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index c9bb0af..ab99681 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-10-09 Dan Stowell + * version 0.5.1 + * Fixed bug in xtract_init_mfcc() which accidentally missed filling in the very top filter frequency value + 2007-10-06 Jamie Bullock * version 0.5.0 * Removed fftw_plan creation from inner loop of functions that use fft diff --git a/src/init.c b/src/init.c index a0e0b03..dd4ed78 100644 --- a/src/init.c +++ b/src/init.c @@ -69,15 +69,15 @@ int xtract_init_mfcc(int N, float nyquist, int style, float freq_min, float freq fft_peak[0] = lin_peak[0] / nyquist * M; - for (n = 1; n <= freq_bands; n++){ - /*roll out peak locations - mel, linear and linear on fft window scale */ + for (n = 1; n < freq_bands + 2; n++){ + //roll out peak locations - mel, linear and linear on fft window scale mel_peak[n] = mel_peak[n - 1] + freq_bw_mel; lin_peak[n] = 700 * (exp(mel_peak[n] / 1127) -1); fft_peak[n] = lin_peak[n] / nyquist * M; } for (n = 0; n < freq_bands; n++){ - /*roll out normalised gain of each peak*/ + //roll out normalised gain of each peak if (style == XTRACT_EQUAL_GAIN){ height = 1; norm_fact = norm; -- cgit v1.2.3