#N canvas 906 23 771 458 12;
#X floatatom 33 179 7 0 0 0 - - - 0;
#X obj 33 126 * 44100;
#X floatatom 33 96 4 0 0 0 - - - 0;
#X obj 33 244 osc~;
#X obj 75 16 fft~;
#X obj 125 17 ifft~;
#X text 185 15 - forward and inverse complex FFT;
#X obj 75 42 rfft~;
#X obj 125 43 rifft~;
#X text 185 41 - forward and inverse real FFT;
#X obj 33 269 rfft~;
#X text 513 412 updated for Pd version 0.33;
#X obj 30 317 rifft~;
#X obj 112 325 print~ real;
#X obj 125 300 print~ imaginary;
#X obj 30 411 print~ resynthesized;
#X msg 44 378 bang;
#X msg 112 263 bang;
#X text 326 320 There is no normalization \, so that an FFT followed
by an IFFT has a gain of N., f 54;
#X text 326 231 The real FFT outputs N/2+1 real parts and N/2-1 imaginary
parts. The other outputs are zero. At DC and at the Nyquist there is
no imaginary part \, but the second through Nth output is as a real
and imaginary pair \, which can be thought of as the cosine and sin
component strengths., f 54;
#X text 124 211 <= bash phase;
#X text 83 378 <= print resynthesis;
#X text 80 350 <= renormalize;
#X text 154 264 <= print analysis;
#X obj 460 195 block~ 128;
#X obj 33 154 / 128;
#X obj 30 350 /~ 128;
#X text 326 98 The FFT objects do Fourier analyses and resyntheses
of incoming real or complex signals. Complex signals are handled as
pairs of signals (real and imaginary part.) The analysis size is one
block. You can use the block~ or switch~ objects to control block size
(128 in this example)., f 54;
#X text 326 356 See the FFT examples (section "I" of audio examples)
to see how to use these in practice., f 54;
#X text 385 194 see also:;
#X text 75 88 frequency in bins, f 9;
#X text 90 168 frequency in Hz, f 9;
#X msg 188 146 \; pd dsp \$1;
#X obj 188 122 tgl 17 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X text 209 122 DSP on/off;
#X msg 91 210 0.25;
#X msg 58 210 0;
#X connect 0 0 3 0;
#X connect 1 0 25 0;
#X connect 2 0 1 0;
#X connect 3 0 10 0;
#X connect 10 0 13 0;
#X connect 10 0 12 0;
#X connect 10 1 14 0;
#X connect 10 1 12 1;
#X connect 12 0 26 0;
#X connect 16 0 15 0;
#X connect 17 0 13 0;
#X connect 17 0 14 0;
#X connect 25 0 0 0;
#X connect 26 0 15 0;
#X connect 33 0 32 0;
#X connect 35 0 3 1;
#X connect 36 0 3 1;
