From ed1deac8ca3b75cdccddf62388f1f4164ecc1578 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Sat, 2 Mar 2013 22:54:28 -0500 Subject: [PATCH] tests/src/temporal/: improve test examples --- tests/src/temporal/test-biquad.c | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/tests/src/temporal/test-biquad.c b/tests/src/temporal/test-biquad.c index 6555cae3..4991f728 100644 --- a/tests/src/temporal/test-biquad.c +++ b/tests/src/temporal/test-biquad.c @@ -1,15 +1,31 @@ #include -int main(){ - /* allocate some memory */ - uint_t win_s = 1024; /* window size */ - fvec_t * in = new_fvec (win_s); /* input buffer */ - aubio_filter_t * o = new_aubio_filter_biquad(0.3,0.2,0.1,0.2,0.3); - - aubio_filter_do_filtfilt(o,in,in); - aubio_filter_do(o,in); - - del_aubio_filter(o); - del_fvec(in); - return 0; +int main () { + uint_t win_s = 64; // window size + + // create biquad filter with `b0`, `b1`, `b2`, `a1`, `a2` + aubio_filter_t * o = new_aubio_filter_biquad(0.3,0.2,0.1,0.2,0.3); + + fvec_t * in_vec = new_fvec (win_s); // input buffer + fvec_t * tmp_vec = new_fvec (win_s); // temporary buffer + fvec_t * out_vec = new_fvec (win_s); // output buffer + + uint_t times = 100; + while ( times-- ) { + // copy to out, then filter out + aubio_filter_do_outplace(o, in_vec, out_vec); + // in-place filtering + aubio_filter_do(o, in_vec); + // in-place filtering + aubio_filter_do_filtfilt(o, in_vec, out_vec); + fvec_print(in_vec); + } + + // memory clean-up, one for each new + del_aubio_filter(o); + del_fvec(in_vec); + del_fvec(tmp_vec); + del_fvec(out_vec); + + return 0; } -- 2.11.0