[mfcc] default to full range when not using 40 filters
authorPaul Brossier <piem@piem.org>
Sat, 17 Nov 2018 14:16:25 +0000 (15:16 +0100)
committerPaul Brossier <piem@piem.org>
Sat, 17 Nov 2018 14:16:25 +0000 (15:16 +0100)
src/spectral/mfcc.c

index 074688d..fea7c7c 100644 (file)
@@ -75,7 +75,11 @@ new_aubio_mfcc (uint_t win_s, uint_t n_filters, uint_t n_coefs,
 
   /* filterbank allocation */
   mfcc->fb = new_aubio_filterbank (n_filters, mfcc->win_s);
-  aubio_filterbank_set_mel_coeffs_slaney (mfcc->fb, samplerate);
+  if (n_filters == 40)
+    aubio_filterbank_set_mel_coeffs_slaney (mfcc->fb, samplerate);
+  else
+    aubio_filterbank_set_mel_coeffs(mfcc->fb, samplerate,
+        0, samplerate/2.);
 
   /* allocating buffers */
   mfcc->in_dct = new_fvec (n_filters);