5 uint_t win_s = 16; // window size
6 uint_t impulse_at = win_s / 2;
7 fvec_t *in = new_fvec (win_s); // input buffer
8 fvec_t *out = new_fvec (win_s); // input buffer
10 aubio_filter_t *o = new_aubio_filter_c_weighting (44100);
12 if (new_aubio_filter(0)) return 1;
14 if (aubio_filter_get_samplerate(o) != 44100) return 1;
16 if (aubio_filter_set_c_weighting (o, -1) == 0) return 1;
18 if (aubio_filter_set_c_weighting (0, 32000) == 0) return 1;
20 in->data[impulse_at] = 0.5;
22 aubio_filter_do (o, in);
26 o = new_aubio_filter_a_weighting (32000);
28 if (aubio_filter_set_a_weighting (o, -1) == 0) return 1;
30 if (aubio_filter_set_a_weighting (0, 32000) == 0) return 1;
32 in->data[impulse_at] = 0.5;
34 aubio_filter_do_outplace (o, in, out);
37 aubio_filter_set_a_weighting (o, 32000);
38 in->data[impulse_at] = 0.5;
40 aubio_filter_do_filtfilt (o, in, out);