1 #include <aubio.h> 2 main(void)3int main (void) 4 { 5 uint_t win_s = 1024; // window size 6 uint_t n_filters = 13; // number of filters 7 8 cvec_t *in_spec = new_cvec (win_s); // input vector of samples 9 fvec_t *out_filters = new_fvec (n_filters); // per-band outputs 10 11 if (new_aubio_filterbank(0, win_s)) return 1; 12 if (new_aubio_filterbank(n_filters, 0)) return 1; 13 14 // create filterbank object 15 aubio_filterbank_t *o = new_aubio_filterbank (n_filters, win_s); 16 17 smpl_t power = aubio_filterbank_get_power(o); 18 smpl_t norm = aubio_filterbank_get_norm(o); 19 if (aubio_filterbank_set_power(o, power)) { 20 return 1; 21 } 22 if (aubio_filterbank_set_norm(o, norm)) { 23 return 1; 24 } 25 26 // apply filterbank ten times 27 uint_t n = 10; 28 while (n) { 29 aubio_filterbank_do (o, in_spec, out_filters); 30 n--; 31 } 32 33 // print out filterbank coeffs 34 fmat_t *coeffs; // pointer to the coefficients 35 coeffs = aubio_filterbank_get_coeffs (o); 36 fmat_print (coeffs); 37 38 aubio_filterbank_set_coeffs (o, coeffs); 39 coeffs = aubio_filterbank_get_coeffs (o); 40 fmat_print (coeffs); 41 42 //fvec_print (out_filters); 43 44 // clean up 45 del_aubio_filterbank (o); 46 del_cvec (in_spec); 47 del_fvec (out_filters); 48 aubio_cleanup (); 49 50 return 0; 51 } 52