- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/src/spectral/test-phasevoc-jack.c
r9d6001cb r6938a20 15 15 #endif /* HAVE_JACK */ 16 16 17 uint_t testing = 0; / * change this to 1 to listen */17 uint_t testing = 0; // change this to 1 to listen 18 18 19 uint_t win_s = 512; /* window size */20 uint_t hop_s = 128; /* hop size */21 uint_t channels = 2; /* number of audio channels */22 uint_t midiin = 4; /* number of midi input channels */23 uint_t midiout = 2; /* number of midi output channels */24 uint_t pos = 0; /* frames%dspblocksize for jack loop */19 uint_t win_s = 512; // window size 20 uint_t hop_s = 128; // hop size 21 uint_t channels = 2; // number of audio channels 22 uint_t midiin = 4; // number of midi input channels 23 uint_t midiout = 2; // number of midi output channels 24 uint_t pos = 0; // frames%dspblocksize for jack loop 25 25 26 26 fvec_t * in[2]; … … 32 32 int aubio_process(float **input, float **output, int nframes); 33 33 34 int main(){ 35 /* allocate some memory */ 34 int main () 35 { 36 /* allocate some memory */ 36 37 uint_t i; 37 38 39 40 41 42 43 38 for (i=0;i<channels;i++) { 39 in[i] = new_fvec (hop_s); /* input buffer */ 40 fftgrain[i] = new_cvec (win_s); /* fft norm and phase */ 41 out[i] = new_fvec (hop_s); /* output buffer */ 42 /* allocate fft and other memory space */ 43 pv[i] = new_aubio_pvoc(win_s,hop_s); 44 } 44 45 45 46 #ifdef HAVE_JACK 46 47 48 49 50 51 52 53 54 55 47 aubio_jack_t * jack_setup; 48 jack_setup = new_aubio_jack(channels, channels, 49 midiin, midiout, 50 (aubio_process_func_t)aubio_process); 51 aubio_jack_activate(jack_setup); 52 /* stay in main jack loop for 1 seconds only */ 53 do { 54 sleep(1); 55 } while(testing); 56 aubio_jack_close(jack_setup); 56 57 #else 57 58 fprintf(stderr, "WARNING: no jack support\n"); 58 59 #endif 59 60 61 62 63 64 65 66 67 60 61 for (i=0;i<channels;i++) { 62 del_aubio_pvoc(pv[i]); 63 del_cvec(fftgrain[i]); 64 del_fvec(in[i]); 65 del_fvec(out[i]); 66 } 67 aubio_cleanup(); 68 return 0; 68 69 } 69 70 … … 81 82 if (pos == hop_s-1) { 82 83 /* block loop */ 83 for (i=0;i<channels;i++) { 84 aubio_pvoc_do (pv[i], in[i], fftgrain[i]); 85 // zero phases of first channel 86 for (i=0;i<fftgrain[i]->length;i++) fftgrain[0]->phas[i] = 0.; 87 // double phases of second channel 88 for (i=0;i<fftgrain[i]->length;i++) { 89 fftgrain[1]->phas[i] = 90 aubio_unwrap2pi (fftgrain[1]->phas[i] * 2.); 84 for (i=0;i<channels;i++) { 85 aubio_pvoc_do (pv[i], in[i], fftgrain[i]); 86 // zero phases of first channel 87 for (i=0;i<fftgrain[i]->length;i++) fftgrain[0]->phas[i] = 0.; 88 // double phases of second channel 89 for (i=0;i<fftgrain[i]->length;i++) { 90 fftgrain[1]->phas[i] = 91 aubio_unwrap2pi (fftgrain[1]->phas[i] * 2.); 92 } 93 // copy second channel to third one 94 aubio_pvoc_rdo(pv[i], fftgrain[i], out[i]); 95 pos = -1; 91 96 } 92 // copy second channel to third one93 aubio_pvoc_rdo(pv[i], fftgrain[i], out[i]);94 pos = -1;95 }96 97 } 97 98 pos++;
Note: See TracChangeset
for help on using the changeset viewer.