source: tests/src/spectral/test-phasevoc.c

Last change on this file was 099776d, checked in by Paul Brossier <piem@piem.org>, 2 years ago

[tests] increase pvoc coverage

  • Property mode set to 100644
File size: 1.1 KB
Line 
1#include <aubio.h>
2
3int main (void)
4{
5  uint_t n = 6; // compute n times
6  uint_t win_s = 32; // window size
7  uint_t hop_s = win_s / 4; // hop size
8
9  fvec_t * in = new_fvec (hop_s); // input buffer
10  cvec_t * fftgrain = new_cvec (win_s); // fft norm and phase
11  fvec_t * out = new_fvec (hop_s); // output buffer
12
13  // allocate fft and other memory space
14  aubio_pvoc_t * pv = new_aubio_pvoc(win_s,hop_s);
15
16  if (new_aubio_pvoc(win_s, 0)) return 1;
17
18  if (aubio_pvoc_get_win(pv) != win_s) return 1;
19  if (aubio_pvoc_get_hop(pv) != hop_s) return 1;
20
21  if (aubio_pvoc_set_window(pv, "hanningz") != 0) return 1;
22
23  // fill input with some data
24  fvec_set_all (in, 1.);
25  fvec_print (in);
26
27  while ( n-- ) {
28    // get some fresh input data
29    // ..
30
31    // execute phase vocoder
32    aubio_pvoc_do (pv,in,fftgrain);
33
34    // do something with fftgrain
35    // ...
36    cvec_print (fftgrain);
37
38    // optionally rebuild the signal
39    aubio_pvoc_rdo(pv,fftgrain,out);
40
41    // and do something with the result
42    // ...
43    fvec_print (out);
44  }
45
46  // clean up
47  del_fvec(in);
48  del_cvec(fftgrain);
49  del_fvec(out);
50  del_aubio_pvoc(pv);
51  aubio_cleanup();
52
53  return 0;
54}
Note: See TracBrowser for help on using the repository browser.