2 summary:: Outputs the necessary signal for FFT chains, without doing an FFT on a signal
10 a buffer to condition for FFT use
12 the hop size for timing triggers (defaults to 0.5)
14 a flag. If 0.0, the buffer will be prepared for complex data, if > 0.0, polar data is set up.
20 b = Buffer.alloc(s, 512);
23 // Reminder: This isn't the intended typical usage! It's OK to do this though.
26 var mags, phases, chain, sig;
27 // Create simple undulating magnitudes
28 mags = {FSinOsc.kr(ExpRand(0.1, 1)).range(0, 1)}.dup(100);
29 // Then give them a "rolloff" to make the sound less unpleasant
30 mags = mags * ((1, 0.99 .. 0.01).squared);
31 // Let's turn the bins on and off at different rates, I'm *sure* that'll sound interesting
32 mags = mags * {LFPulse.kr(2 ** IRand(-3, 5)).range(0, 1)}.dup(100);
33 // Let's ignore phase for now
35 chain = FFTTrigger(b, 0.5);
36 // Now we can do the packing
37 chain = PackFFT(chain, 512, [mags, phases].flop.flatten, 0, 99, 1);