From 57045df5fe3ec557e57dc7434ac1a07b5521bffc Mon Sep 17 00:00:00 2001 From: Guenter Geiger Date: Mon, 29 Jul 2002 17:06:19 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r58, which included commits to RCS files with non-trunk default branches. svn path=/trunk/; revision=59 --- pd/doc/4.fft.examples/08.convobros.pd | 344 ++++++++++++++++++++++++++++++++++ 1 file changed, 344 insertions(+) create mode 100644 pd/doc/4.fft.examples/08.convobros.pd (limited to 'pd/doc/4.fft.examples/08.convobros.pd') diff --git a/pd/doc/4.fft.examples/08.convobros.pd b/pd/doc/4.fft.examples/08.convobros.pd new file mode 100644 index 00000000..8e49ef3d --- /dev/null +++ b/pd/doc/4.fft.examples/08.convobros.pd @@ -0,0 +1,344 @@ +#N canvas 16 29 916 517 12; +#N canvas 147 -3 669 492 fft-analysis 0; +#X obj 265 254 *~; +#X obj 249 284 *~; +#X obj 214 284 *~; +#X obj 114 120 *~; +#X obj 80 114 *~; +#X obj 80 137 +~; +#X obj 213 68 *~; +#X obj 245 68 inlet~; +#X obj 213 91 rfft~; +#X obj 59 304 *~; +#X floatatom 462 156 0 0 0; +#X obj 317 133 *~; +#X obj 80 68 *~; +#X obj 113 68 inlet~; +#X obj 61 34 tabreceive~ hanning; +#X obj 80 91 rfft~; +#X obj 214 307 rifft~; +#X obj 59 327 outlet~; +#X text 37 2 Hanning window; +#X obj 284 133 *~; +#X obj 284 156 +~; +#X obj 293 254 sig~ 0.001; +#X text 129 165 modulus; +#X obj 80 160 sqrt~; +#X obj 265 231 *~; +#X obj 462 67 r squelch; +#X obj 313 346 block~ 1024 4; +#X obj 284 182 rsqrt~; +#X obj 344 184 sig~ 1e-20; +#X obj 284 208 clip~; +#X obj 462 177 moses; +#X msg 457 221 0; +#X obj 461 90 t f f; +#X obj 462 113 *; +#X obj 462 134 * 0.01; +#X connect 0 0 1 1; +#X connect 0 0 2 1; +#X connect 1 0 16 1; +#X connect 2 0 16 0; +#X connect 3 0 5 1; +#X connect 4 0 5 0; +#X connect 5 0 23 0; +#X connect 6 0 8 0; +#X connect 7 0 6 1; +#X connect 8 0 19 0; +#X connect 8 0 19 1; +#X connect 8 0 2 0; +#X connect 8 1 11 0; +#X connect 8 1 11 1; +#X connect 8 1 1 0; +#X connect 9 0 17 0; +#X connect 10 0 30 0; +#X connect 11 0 20 1; +#X connect 12 0 15 0; +#X connect 13 0 12 1; +#X connect 14 0 12 0; +#X connect 14 0 6 0; +#X connect 14 0 9 0; +#X connect 15 0 4 0; +#X connect 15 0 4 1; +#X connect 15 1 3 0; +#X connect 15 1 3 1; +#X connect 16 0 9 1; +#X connect 19 0 20 0; +#X connect 20 0 27 0; +#X connect 21 0 0 1; +#X connect 23 0 24 0; +#X connect 24 0 0 0; +#X connect 25 0 32 0; +#X connect 27 0 29 0; +#X connect 28 0 27 0; +#X connect 29 0 24 1; +#X connect 30 0 31 0; +#X connect 30 1 29 2; +#X connect 31 0 29 2; +#X connect 32 0 33 0; +#X connect 32 0 33 1; +#X connect 33 0 34 0; +#X connect 34 0 10 0; +#X restore 119 405 pd fft-analysis; +#X floatatom 190 159 0 0 0; +#X obj 119 453 dac~; +#X obj 119 429 *~; +#X obj 164 453 line~; +#X floatatom 587 68 0 0 0; +#N canvas 194 37 397 591 output 0; +#X obj 62 191 t b; +#X obj 62 144 f; +#X obj 62 96 inlet; +#X text 67 76 mute; +#X obj 62 215 f; +#X msg 127 230 0; +#X msg 62 120 bang; +#X obj 62 167 moses 1; +#X obj 127 207 t b f; +#X obj 91 417 outlet; +#X msg 91 393 set \$1; +#X obj 175 154 moses 1; +#X obj 212 419 dbtorms; +#X obj 212 443 pack 0 100; +#X obj 175 130 r master-lvl; +#X obj 91 360 r master-lvl; +#X obj 78 269 s master-lvl; +#X obj 212 467 s master-amp; +#X connect 0 0 4 0; +#X connect 1 0 7 0; +#X connect 2 0 6 0; +#X connect 4 0 16 0; +#X connect 5 0 16 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 11 1 4 1; +#X connect 12 0 13 0; +#X connect 13 0 17 0; +#X connect 14 0 1 1; +#X connect 14 0 11 0; +#X connect 15 0 10 0; +#X connect 15 0 12 0; +#X restore 587 44 pd output; +#X msg 587 20 mute; +#X text 624 61 MASTER; +#X text 624 75 LEVEL; +#X obj 587 92 s master-lvl; +#X obj 164 429 r master-amp; +#X obj 424 420 loadbang; +#X obj 424 443 samplerate~; +#X obj 424 467 s srate; +#X text 31 137 click here first; +#X obj 724 237 hip~ 5; +#X obj 724 213 adc~ 1; +#X msg 786 182 bang; +#X obj 814 213 r srate; +#X obj 786 213 f; +#X obj 786 237 s insamprate; +#X obj 724 260 tabwrite~ sample; +#N canvas 275 71 767 761 hanning-window 0; +#X obj 92 206 phasor~; +#X obj 92 234 cos~; +#X obj 23 328 tabwrite~ hanning; +#X obj 30 252 -~; +#X obj 28 218 sig~ 1; +#X msg 37 180 0; +#X text 141 13 CALCULATE HANNING; +#X text 141 27 WINDOW TABLE; +#X graph graph1 0 -1 1024 1 275 581 675 281; +#X array hanning 1024 float 0; +#X pop; +#X msg 275 547 \; hanning resize 1024; +#X obj 93 131 / 1024; +#X obj 93 171 sig~; +#X text 175 148 sample rate / window size; +#X msg 23 144 bang; +#X obj 66 269 sig~ 0.5; +#X obj 49 300 *~; +#X obj 67 96 samplerate~; +#X obj 25 23 r window-size; +#X obj 25 53 t b f; +#X connect 0 0 1 0; +#X connect 1 0 3 1; +#X connect 3 0 15 0; +#X connect 4 0 3 0; +#X connect 5 0 0 1; +#X connect 10 0 11 0; +#X connect 11 0 0 0; +#X connect 13 0 2 0; +#X connect 13 0 5 0; +#X connect 14 0 15 1; +#X connect 15 0 2 0; +#X connect 16 0 10 0; +#X connect 17 0 18 0; +#X connect 18 0 16 0; +#X connect 18 0 13 0; +#X connect 18 1 10 1; +#X restore 419 387 pd hanning-window; +#X msg 25 155 \; window-size 1024 \; pd dsp 1; +#X obj 190 183 s squelch; +#X obj 725 388 hip~ 5; +#X obj 725 364 adc~ 1; +#X msg 787 333 bang; +#X obj 815 364 r srate; +#X obj 787 364 f; +#X obj 787 388 s insamprate; +#X obj 725 412 tabwrite~ sample2; +#X text 177 6 CORT&ZACK's SECRET; +#X text 190 137 range 1-100; +#N canvas 190 43 743 445 test-signal 0; +#X obj 78 265 tabread4~ sample; +#X obj 78 244 line~; +#X obj 78 158 f; +#X obj 238 62 r insamprate; +#X obj 79 369 outlet~; +#X obj 130 54 r insamplength; +#X msg 78 223 0 \, \$1 \$2; +#X obj 78 202 pack 0 0; +#X obj 175 196 /; +#X obj 283 111 * 0.001; +#X obj 79 346 hip~ 5; +#X obj 25 29 loadbang; +#X text 150 24 sample playback; +#X msg 25 55 1; +#X obj 25 93 metro 1000; +#X floatatom 25 75 0 0 0; +#X obj 239 87 t b b f; +#X obj 134 105 t b f; +#X obj 445 256 line~; +#X obj 445 170 f; +#X obj 446 381 outlet~; +#X msg 445 235 0 \, \$1 \$2; +#X obj 445 214 pack 0 0; +#X obj 542 208 /; +#X obj 650 123 * 0.001; +#X obj 446 358 hip~ 5; +#X obj 392 41 loadbang; +#X msg 392 67 1; +#X obj 392 105 metro 1000; +#X floatatom 392 87 0 0 0; +#X obj 606 99 t b b f; +#X obj 501 117 t b f; +#X obj 445 277 tabread4~ sample2; +#X obj 497 66 r insamplength2; +#X obj 605 74 r insamprate2; +#X connect 0 0 10 0; +#X connect 1 0 0 0; +#X connect 2 0 7 0; +#X connect 3 0 16 0; +#X connect 5 0 17 0; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 8 0 7 1; +#X connect 8 0 14 1; +#X connect 9 0 8 1; +#X connect 10 0 4 0; +#X connect 11 0 13 0; +#X connect 13 0 15 0; +#X connect 14 0 2 0; +#X connect 15 0 14 0; +#X connect 16 0 13 0; +#X connect 16 1 8 0; +#X connect 16 2 9 0; +#X connect 17 0 13 0; +#X connect 17 1 8 0; +#X connect 17 1 2 1; +#X connect 18 0 32 0; +#X connect 19 0 22 0; +#X connect 21 0 18 0; +#X connect 22 0 21 0; +#X connect 23 0 22 1; +#X connect 23 0 28 1; +#X connect 24 0 23 1; +#X connect 25 0 20 0; +#X connect 26 0 27 0; +#X connect 27 0 29 0; +#X connect 28 0 19 0; +#X connect 29 0 28 0; +#X connect 30 0 27 0; +#X connect 30 1 23 0; +#X connect 30 2 24 0; +#X connect 31 0 27 0; +#X connect 31 1 23 0; +#X connect 31 1 19 1; +#X connect 32 0 25 0; +#X connect 33 0 31 0; +#X connect 34 0 30 0; +#X restore 117 371 pd test-signal; +#N canvas 132 255 634 327 insample 0; +#X graph graph1 0 -1 155947 1 199 168 599 18; +#X array sample 155948 float 0; +#X pop; +#X obj 19 70 r read-sample; +#X obj 19 95 unpack s f; +#X obj 53 121 s insamprate; +#X obj 19 171 soundfiler; +#X msg 19 147 read -resize \$1 sample; +#X obj 19 201 s insamplength; +#X msg 357 197 \; sample resize 220500 \; insamplength 220500; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 3 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X restore 417 332 pd insample; +#N canvas 0 0 647 284 insample2 0; +#X obj 19 95 unpack s f; +#X obj 19 171 soundfiler; +#X msg 357 197 \; sample resize 220500 \; insamplength 220500; +#X graph graph2 0 -1 63023 1 207 159 607 19; +#X array sample2 63024 float 0; +#X pop; +#X obj 53 121 s insamprate2; +#X msg 19 147 read -resize \$1 sample2; +#X obj 19 201 s insamplength2; +#X obj 19 70 r read-sample2; +#X connect 0 0 5 0; +#X connect 0 1 4 0; +#X connect 1 0 6 0; +#X connect 5 0 1 0; +#X connect 7 0 0 0; +#X restore 418 358 pd insample2; +#X msg 19 230 \; read-sample ../sound/bell.aiff 44100; +#X msg 357 230 \; read-sample2 ../sound/bell.aiff 44100; +#X text 247 364 filter; +#X text 249 379 input; +#X text 51 401 source; +#X text 53 362 filter; +#X text 52 382 control; +#X text 719 158 record sample; +#X text 720 309 record sample2; +#X text 37 60 To get sound \, you have to "click here first" \, set +squelch to 10 or so \, read or record two samples \, and ease up the +master volume.; +#X msg 20 274 \; read-sample ../sound/voice.wav 32000; +#X msg 358 274 \; read-sample2 ../sound/voice.wav 32000; +#X text 37 27 This is an FFT based vocoder such as the one the Convo +bros showed at the Ann Arbor ICMC.; +#X connect 0 0 3 0; +#X connect 1 0 25 0; +#X connect 3 0 2 0; +#X connect 3 0 2 1; +#X connect 4 0 3 1; +#X connect 5 0 10 0; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 11 0 4 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 16 0 22 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 18 0 22 0; +#X connect 19 0 20 1; +#X connect 20 0 21 0; +#X connect 26 0 32 0; +#X connect 27 0 26 0; +#X connect 28 0 30 0; +#X connect 28 0 32 0; +#X connect 29 0 30 1; +#X connect 30 0 31 0; +#X connect 35 0 0 0; +#X connect 35 1 0 1; -- cgit v1.2.1