aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/4.fft.examples/01.fftanalysis.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/4.fft.examples/01.fftanalysis.pd')
-rw-r--r--pd/doc/4.fft.examples/01.fftanalysis.pd143
1 files changed, 143 insertions, 0 deletions
diff --git a/pd/doc/4.fft.examples/01.fftanalysis.pd b/pd/doc/4.fft.examples/01.fftanalysis.pd
new file mode 100644
index 00000000..9b5e1e4c
--- /dev/null
+++ b/pd/doc/4.fft.examples/01.fftanalysis.pd
@@ -0,0 +1,143 @@
+#N canvas 11 0 944 595 12;
+#X text 60 368 frequency;
+#X obj 20 238 tabwrite~ array2;
+#X msg 141 117 0;
+#N canvas 245 0 864 679 fft-analysis 0;
+#X obj 57 75 *~;
+#X obj 98 191 *~;
+#X graph graph1 0 -1 256 1 397 304 797 4;
+#X array array1 256 float 0;
+#X pop;
+#X graph graph2 0 -1 256 1 397 631 797 331;
+#X array array2 256 float 0;
+#X pop;
+#X obj 57 4 inlet~;
+#X obj 57 192 *~;
+#X obj 57 310 tabsend~ array1;
+#X msg 442 673 \; array1 resize 256 \; array2 resize 256;
+#X obj 76 48 tabreceive~ array2;
+#X obj 57 136 rfft~;
+#X obj 57 222 rifft~;
+#X obj 80 283 outlet~;
+#X obj 229 216 print~;
+#X msg 229 188 bang;
+#X obj 94 632 block~ 256 2;
+#X text 82 30 Hanning window;
+#X text 61 106 forward real FFT;
+#X text 74 243 inverse real FFT;
+#X text 121 126 renormalize by 1/256;
+#X obj 120 144 sig~ 0.0039;
+#X connect 0 0 9 0;
+#X connect 1 0 10 1;
+#X connect 4 0 0 0;
+#X connect 5 0 10 0;
+#X connect 8 0 0 1;
+#X connect 9 0 5 0;
+#X connect 9 0 12 0;
+#X connect 9 1 1 0;
+#X connect 10 0 11 0;
+#X connect 10 0 6 0;
+#X connect 13 0 12 0;
+#X connect 19 0 5 1;
+#X connect 19 0 1 1;
+#X restore 133 430 pd fft-analysis;
+#X floatatom 133 379 0 0 0;
+#X obj 134 525 dac~;
+#X graph graph1 0 -1 256 1 352 461 608 261;
+#X array array3 256 float 0;
+#X pop;
+#X obj 141 462 tabwrite~ array3;
+#X msg 77 442 bang;
+#X obj 133 324 * 44100;
+#X obj 133 352 / 256;
+#X floatatom 133 298 0 0 0;
+#X text 71 165 sample rate / 256;
+#X text 17 23 CLICK HERE TO;
+#X text 15 41 CALCULATE HANNING;
+#X text 14 58 WINDOW TABLE;
+#X msg 20 79 bang \; pd dsp 1;
+#X text 40 289 frequency;
+#X text 50 305 in bins;
+#X text 62 385 in Hz.;
+#X text 14 440 scope;
+#X text 236 23 A patch to test the rfft~ and rifft~ modules. An incoming
+sine wave is Hanning windowed and transformed. The inverse transform
+is then output.;
+#X text 235 70 The block size (256) and overlap (2) are set by the
+block~ object in the sub-patch. The output is automatically overlap-added
+by the outlet~ object.;
+#X floatatom 778 111 0 0 0;
+#N canvas 194 37 397 591 output 0;
+#X obj 72 249 t b;
+#X obj 72 173 f;
+#X obj 73 89 inlet;
+#X text 86 54 mute;
+#X obj 72 280 f;
+#X msg 149 292 0;
+#X msg 72 125 bang;
+#X obj 73 197 moses 1;
+#X obj 149 263 t b f;
+#X obj 109 543 outlet;
+#X msg 108 503 set \$1;
+#X obj 92 337 s master-amp;
+#X obj 206 153 r master-amp;
+#X obj 107 424 r master-amp;
+#X obj 206 186 moses 1;
+#X obj 249 494 dbtorms;
+#X obj 251 520 pack 0 100;
+#X obj 252 548 s master-out;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 11 0;
+#X connect 5 0 11 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 10 0 9 0;
+#X connect 12 0 1 1;
+#X connect 12 0 14 0;
+#X connect 13 0 10 0;
+#X connect 13 0 15 0;
+#X connect 14 1 4 1;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X restore 778 83 pd output;
+#X msg 778 55 mute;
+#X text 821 115 AMPLITUDE;
+#X obj 778 142 s master-amp;
+#X obj 191 522 line~;
+#X obj 134 495 *~;
+#X text 236 124 You can close the sub-patch if table updates are interfering
+with your audio output.;
+#X obj 191 495 r master-out;
+#X obj 36 166 osc~;
+#X obj 35 118 samplerate~;
+#X obj 36 142 / 256;
+#X obj 36 189 *~ -0.5;
+#X obj 36 209 +~ 0.5;
+#X obj 133 405 osc~;
+#X connect 2 0 32 1;
+#X connect 3 0 7 0;
+#X connect 3 0 29 0;
+#X connect 4 0 37 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 10 0 4 0;
+#X connect 11 0 9 0;
+#X connect 16 0 1 0;
+#X connect 16 0 2 0;
+#X connect 16 0 33 0;
+#X connect 23 0 27 0;
+#X connect 24 0 23 0;
+#X connect 25 0 24 0;
+#X connect 28 0 29 1;
+#X connect 29 0 5 0;
+#X connect 31 0 28 0;
+#X connect 32 0 35 0;
+#X connect 33 0 34 0;
+#X connect 34 0 32 0;
+#X connect 35 0 36 0;
+#X connect 36 0 1 0;
+#X connect 37 0 3 0;