diff options
Diffstat (limited to 'tests/src/spectral/test-filterbank_mel.c')
-rw-r--r-- | tests/src/spectral/test-filterbank_mel.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/src/spectral/test-filterbank_mel.c b/tests/src/spectral/test-filterbank_mel.c new file mode 100644 index 0000000..0a0c670 --- /dev/null +++ b/tests/src/spectral/test-filterbank_mel.c @@ -0,0 +1,38 @@ +#include <aubio.h> + +int main (void) +{ + uint_t samplerate = 16000; // samplerate of signal to filter + uint_t win_s = 512; // fft size + uint_t n_filters = 40; // number of filters + + cvec_t *in_spec = new_cvec (win_s); // input vector of samples + fvec_t *out_filters = new_fvec (n_filters); // per-band outputs + + // create filterbank object + aubio_filterbank_t *o = new_aubio_filterbank (n_filters, win_s); + + // assign Mel-frequency coefficients + aubio_filterbank_set_mel_coeffs_slaney (o, samplerate); + + // apply filterbank ten times + uint_t n = 10; + while (n) { + aubio_filterbank_do (o, in_spec, out_filters); + n--; + } + + // print out filter coefficients + fmat_t *coeffs; // pointer to the coefficients + coeffs = aubio_filterbank_get_coeffs (o); + fmat_print (coeffs); + + //fvec_print (out_filters); + + del_aubio_filterbank (o); + del_cvec (in_spec); + del_fvec (out_filters); + aubio_cleanup (); + + return 0; +} |