aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuenter Geiger <ggeiger@users.sourceforge.net>2003-11-06 09:28:00 +0000
committerGuenter Geiger <ggeiger@users.sourceforge.net>2003-11-06 09:28:00 +0000
commitc088c79f28e6cceac3db346e5fcf5cbe01193ad4 (patch)
tree6d86042a67be8626ae96b81c81645e0220de6422
svn path=/trunk/abstractions/fft_convolution/; revision=1170
-rw-r--r--fft_convolution-help.pd17
-rw-r--r--fft_convolution.pd68
2 files changed, 85 insertions, 0 deletions
diff --git a/fft_convolution-help.pd b/fft_convolution-help.pd
new file mode 100644
index 0000000..447cf98
--- /dev/null
+++ b/fft_convolution-help.pd
@@ -0,0 +1,17 @@
+#N canvas 529 236 450 300 10;
+#N canvas 0 0 450 300 graph7 0;
+#X array array2 512 float 0;
+#X coords 0 1 511 -1 200 140 1;
+#X restore 235 123 graph;
+#X text 12 14 Create the filter array first (size gets set by abstraction)
+;
+#X obj 13 190 dac~;
+#X obj 21 144 *~ 0.01;
+#X text 12 32 Only first half of filter array can be used;
+#X obj 21 82 noise~;
+#X msg 105 252 \; array2 const 0;
+#X obj 20 103 fft_convolution 512 array2;
+#X connect 3 0 2 0;
+#X connect 3 0 2 1;
+#X connect 5 0 7 0;
+#X connect 7 0 3 0;
diff --git a/fft_convolution.pd b/fft_convolution.pd
new file mode 100644
index 0000000..3fc157e
--- /dev/null
+++ b/fft_convolution.pd
@@ -0,0 +1,68 @@
+#N canvas 106 37 394 431 10;
+#X obj 46 70 inlet~;
+#X obj 93 290 outlet~;
+#X obj 47 168 *~;
+#X obj 71 169 *~;
+#X obj 159 163 *~;
+#X obj 47 193 -~;
+#X obj 187 163 *~;
+#X obj 158 186 +~;
+#X obj 90 72 tabreceive~ step;
+#X obj 47 92 *~;
+#X obj 47 114 rfft~;
+#X obj 202 116 rfft~;
+#X obj 92 224 rifft~;
+#X obj 264 56 block~ \$1 2;
+#X obj 27 312 loadbang;
+#X obj 90 54 table step;
+#X obj 27 329 f \$1;
+#X obj 27 347 * 0.5;
+#X msg 81 313 bang;
+#X text 87 37 only use half of the buffer;
+#X msg 27 365 \; step resize \$1 \; step const 1 \;;
+#X text 145 292 overlap/add is done by outlet~;
+#X obj 93 271 *~ 0.1;
+#X msg 148 235 1;
+#X obj 148 253 /;
+#X obj 148 216 t b f;
+#X text 18 6 Usage: fft_convolution <fftsize> <filtername>;
+#X obj 245 77 tabreceive~ \$2;
+#X obj 127 320 t b f;
+#X obj 127 356 pack s 0;
+#X obj 127 338 symbol \$2;
+#X msg 127 375 \; \$1 resize \$2;
+#X text 10 412 (C) 2003 GG;
+#X connect 0 0 9 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 1;
+#X connect 4 0 7 0;
+#X connect 5 0 12 0;
+#X connect 6 0 7 1;
+#X connect 7 0 12 1;
+#X connect 8 0 9 1;
+#X connect 9 0 10 0;
+#X connect 10 0 2 0;
+#X connect 10 0 4 0;
+#X connect 10 1 3 0;
+#X connect 10 1 6 0;
+#X connect 11 0 2 1;
+#X connect 11 0 6 1;
+#X connect 11 1 3 1;
+#X connect 11 1 4 1;
+#X connect 12 0 22 0;
+#X connect 14 0 16 0;
+#X connect 16 0 17 0;
+#X connect 16 0 25 0;
+#X connect 16 0 28 0;
+#X connect 17 0 20 0;
+#X connect 18 0 16 0;
+#X connect 22 0 1 0;
+#X connect 23 0 24 0;
+#X connect 24 0 22 1;
+#X connect 25 0 23 0;
+#X connect 25 1 24 1;
+#X connect 27 0 11 0;
+#X connect 28 0 30 0;
+#X connect 28 1 29 1;
+#X connect 29 0 31 0;
+#X connect 30 0 29 0;