1title:: PV_OddBin 2summary:: Return the odd numbered bins in an FFT buffer 3categories:: Libraries>JoshUGens, UGens>FFT 4related:: Classes/PV_EvenBin 5 6DESCRIPTION:: 7code:: 8PV_OddBin(buffer) 9:: 10 11 12CLASSMETHODS:: 13 14 15INSTANCEMETHODS:: 16 17 18EXAMPLES:: 19 20code:: 21// resynthesize only odd or even bins 22s.boot; 23 24// a sample sig 25{SinOsc.ar(440 + SinOsc.kr(0.05).range(0, 440), 0, 0.5)}.play; 26 27( 28SynthDef(\evenbin, {arg fftbuf1, fftbuf2; 29 var in, chain1, chain2, out1, out2; 30 in = SinOsc.ar(440 + SinOsc.kr(0.05).range(0, 440), 0, 0.5); 31 chain1 = FFT(fftbuf1, in); 32 chain1 = PV_EvenBin(chain1); 33 out1 = IFFT(chain1); 34 chain2 = FFT(fftbuf2, in); 35 chain2 = PV_OddBin(chain2); 36 out2 = IFFT(chain2); 37 // Out.ar(0, out1 + out2); // add back together 38 Out.ar(0, [out1, out2]); // or split apart 39}).add; 40) 41 42// the fft buf 43s.sendMsg(\b_alloc, 0, 2048); 44s.sendMsg(\b_alloc, 1, 2048); 45 46// start the synth 47s.sendMsg(\s_new, \evenbin, z = s.nextNodeID, 0, 1, \fftbuf1, 0, \fftbuf2, 1); 48// free it 49s.sendMsg(\n_free, z); 50s.sendMsg(\b_free, 0); 51s.sendMsg(\b_free, 1); 52 53s.quit 54::