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