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/7.stuff/soundfile-tools/6.vocoder.pd | 314 ++++++++++++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 pd/doc/7.stuff/soundfile-tools/6.vocoder.pd (limited to 'pd/doc/7.stuff/soundfile-tools/6.vocoder.pd') diff --git a/pd/doc/7.stuff/soundfile-tools/6.vocoder.pd b/pd/doc/7.stuff/soundfile-tools/6.vocoder.pd new file mode 100644 index 00000000..ce822ef4 --- /dev/null +++ b/pd/doc/7.stuff/soundfile-tools/6.vocoder.pd @@ -0,0 +1,314 @@ +#N canvas 73 102 706 428 12; +#X floatatom 462 162 0 0 100; +#X msg 462 137 set \$1; +#X text 29 322 100 maximum; +#X text 29 304 output meter; +#N canvas 145 136 937 540 guts 0; +#X msg 5 296 bang; +#X obj 5 321 openpanel; +#X obj 136 29 inlet; +#X obj 452 375 dac~; +#X obj 452 323 *~; +#X obj 467 300 line~; +#X obj 467 280 r master-amp; +#X msg 689 157 bang; +#X obj 689 177 savepanel; +#X obj 506 393 outlet; +#X obj 297 238 tabwrite~ array2; +#X obj 454 238 +~; +#X obj 452 343 hip~ 7; +#X msg 446 108 bang; +#X obj 446 133 tabplay~ array2; +#X msg 689 197 write \$1 array2; +#X obj 689 218 soundfiler; +#X obj 506 373 env~ 16384; +#X obj 587 129 route normalized; +#X msg 587 250 write -normalize \$1 array2; +#X msg 587 209 bang; +#X obj 587 230 savepanel; +#X obj 587 274 soundfiler; +#X obj 5 365 soundfiler; +#X msg 5 343 read -resize -maxsize 1e+06 \$1 array1; +#X obj 676 338 loadbang; +#N canvas 0 0 690 470 fft-analysis 0; +#X obj 275 314 *~; +#X obj 257 348 *~; +#X obj 218 348 *~; +#X obj 105 163 *~; +#X obj 66 156 *~; +#X obj 66 182 +~; +#X obj 216 104 *~; +#X obj 253 104 inlet~; +#X obj 216 130 rfft~; +#X obj 42 371 *~; +#X floatatom 458 208 0 0 0; +#X obj 334 177 *~; +#X obj 66 104 *~; +#X obj 103 104 inlet~; +#X obj 45 65 tabreceive~ hanning; +#X obj 66 130 rfft~; +#X obj 218 374 rifft~; +#X obj 42 397 outlet~; +#X obj 297 177 *~; +#X obj 297 203 +~; +#X obj 307 314 sig~ 0.001; +#X text 122 214 modulus; +#X obj 66 208 sqrt~; +#X obj 275 288 *~; +#X obj 457 58 r squelch; +#X obj 329 418 block~ 1024 4; +#X obj 297 229 rsqrt~; +#X obj 341 203 sig~ 1e-20; +#X obj 297 255 clip~; +#X obj 458 130 t f f; +#X obj 458 156 *; +#X obj 458 182 * 0.01; +#X obj 456 94 max 1; +#X obj 559 58 loadbang; +#X obj 458 234 max 0; +#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 22 0; +#X connect 6 0 8 0; +#X connect 7 0 6 1; +#X connect 8 0 18 0; +#X connect 8 0 18 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 34 0; +#X connect 11 0 19 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 18 0 19 0; +#X connect 19 0 26 0; +#X connect 20 0 0 1; +#X connect 22 0 23 0; +#X connect 23 0 0 0; +#X connect 24 0 32 0; +#X connect 26 0 28 0; +#X connect 27 0 26 0; +#X connect 28 0 23 1; +#X connect 29 0 30 0; +#X connect 29 0 30 1; +#X connect 30 0 31 0; +#X connect 31 0 10 0; +#X connect 32 0 29 0; +#X connect 33 0 32 0; +#X connect 34 0 28 2; +#X restore 296 194 pd fft-analysis; +#X msg 202 86 bang; +#N canvas 46 0 723 534 hanning-window 0; +#X obj 122 273 phasor~; +#X obj 122 311 cos~; +#X obj 31 436 tabwrite~ hanning; +#X obj 40 336 -~; +#X obj 37 290 sig~ 1; +#X msg 50 240 0; +#X text 188 18 CALCULATE HANNING; +#X text 188 36 WINDOW TABLE; +#N canvas 0 0 450 300 graph1 0; +#X array hanning 1024 float 0; +#X coords 0 1 1023 -1 400 300 1; +#X restore 342 235 graph; +#X obj 123 227 sig~; +#X text 156 173 sample rate / window size; +#X msg 31 191 bang; +#X obj 88 357 sig~ 0.5; +#X obj 66 399 *~; +#X obj 124 106 samplerate~; +#X obj 33 31 r window-size; +#X obj 123 175 /; +#X msg 262 106 \; hanning resize \$1; +#X obj 31 70 t b f f; +#X connect 0 0 1 0; +#X connect 1 0 3 1; +#X connect 3 0 13 0; +#X connect 4 0 3 0; +#X connect 5 0 0 1; +#X connect 9 0 0 0; +#X connect 11 0 2 0; +#X connect 11 0 5 0; +#X connect 12 0 13 1; +#X connect 13 0 2 0; +#X connect 14 0 16 0; +#X connect 15 0 18 0; +#X connect 16 0 9 0; +#X connect 18 0 14 0; +#X connect 18 0 11 0; +#X connect 18 1 16 1; +#X connect 18 2 17 0; +#X restore 673 403 pd hanning-window; +#X obj 181 29 r action; +#X msg 150 163 \; pd dsp 1; +#X msg 389 106 stop; +#X msg 58 455 \; array2 resize \$1; +#X obj 58 434 + 4410; +#X obj 136 50 route read AND run hear save stop; +#X obj 58 412 min; +#X obj 107 380 t b f; +#X obj 107 270 openpanel; +#X obj 107 314 soundfiler; +#X msg 107 293 read -resize -maxsize 1e+06 \$1 array3; +#X msg 106 239 bang; +#X msg 676 360 \; window-size 1024 \;; +#X obj 296 145 tabplay~ array1; +#X obj 314 167 tabplay~ array3; +#X connect 0 0 1 0; +#X connect 1 0 24 0; +#X connect 2 0 34 0; +#X connect 4 0 12 0; +#X connect 5 0 4 1; +#X connect 6 0 5 0; +#X connect 7 0 8 0; +#X connect 8 0 15 0; +#X connect 11 0 4 0; +#X connect 12 0 3 0; +#X connect 12 0 3 1; +#X connect 12 0 17 0; +#X connect 13 0 14 0; +#X connect 14 0 11 1; +#X connect 15 0 16 0; +#X connect 17 0 9 0; +#X connect 18 0 20 0; +#X connect 18 1 7 0; +#X connect 19 0 22 0; +#X connect 20 0 21 0; +#X connect 21 0 19 0; +#X connect 23 0 35 0; +#X connect 24 0 23 0; +#X connect 25 0 41 0; +#X connect 26 0 10 0; +#X connect 26 0 11 0; +#X connect 27 0 10 0; +#X connect 27 0 30 0; +#X connect 27 0 42 0; +#X connect 27 0 43 0; +#X connect 29 0 34 0; +#X connect 31 0 14 0; +#X connect 33 0 32 0; +#X connect 34 0 0 0; +#X connect 34 1 40 0; +#X connect 34 2 27 0; +#X connect 34 3 13 0; +#X connect 34 4 18 0; +#X connect 34 5 31 0; +#X connect 35 0 33 0; +#X connect 36 0 35 0; +#X connect 36 1 35 1; +#X connect 37 0 39 0; +#X connect 38 0 36 0; +#X connect 39 0 38 0; +#X connect 40 0 37 0; +#X connect 42 0 26 0; +#X connect 43 0 26 1; +#X restore 29 263 pd guts; +#X msg 29 158 run the transformation; +#X msg 29 200 hear the output buffer again; +#X text 29 97 click below to:; +#X msg 29 221 save the output buffer; +#X floatatom 29 284 0 0 0; +#X msg 29 242 save normalized to max amplitude; +#N canvas 130 10 488 287 input-sample 0; +#N canvas 0 0 450 300 graph1 0; +#X array array1 188955 float 0; +#X coords 0 1 188954 -1 400 100 1; +#X restore 53 21 graph; +#N canvas 0 0 450 300 graph3 0; +#X array array3 225280 float 0; +#X coords 0 1 225279 -1 400 100 1; +#X restore 54 146 graph; +#X text 227 279 INPUT SAMPLES; +#X restore 169 368 pd input-sample; +#N canvas 192 180 507 343 output-sample 0; +#N canvas 0 0 450 300 graph2 0; +#X array array2 193365 float 0; +#X coords 0 1 193364 -1 400 300 1; +#X restore 56 12 graph; +#X text 151 365 OUTPUT SAMPLE; +#X restore 168 393 pd output-sample; +#X floatatom 408 365 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 229 0; +#X msg 62 120 bang; +#X obj 62 167 moses 1; +#X obj 127 206 t b f; +#X obj 90 416 outlet; +#X msg 90 392 set \$1; +#X obj 175 154 moses 1; +#X obj 211 418 dbtorms; +#X obj 211 442 pack 0 100; +#X obj 175 130 r master-lvl; +#X obj 90 359 r master-lvl; +#X obj 78 269 s master-lvl; +#X obj 211 466 s master-amp; +#X obj 195 229 loadbang; +#X msg 195 253 \; master-lvl 90; +#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 connect 18 0 19 0; +#X restore 408 344 pd output; +#X msg 408 323 mute; +#X obj 408 386 s master-lvl; +#X text 449 322 <-- mute button; +#X text 444 363 <--set me; +#X text 408 406 LINE OUT LEVEL in dB (100 norm); +#X msg 29 179 stop the transformation; +#X text 193 9 (old-fashioned) VOCODER; +#X text 28 31 This takes in two soundfiles and uses the first to "vocode" +the second. THe resulting sound is as long as the shorter of the two +inputs.; +#X msg 29 116 read the analysis sound from file; +#X msg 29 137 AND read the sound to be processed from file; +#X text 462 97 SQUELCH; +#X obj 462 116 r squelch; +#X obj 462 187 s squelch; +#X text 526 161 1-100 or so; +#X connect 0 0 27 0; +#X connect 1 0 0 0; +#X connect 4 0 9 0; +#X connect 5 0 4 0; +#X connect 6 0 4 0; +#X connect 8 0 4 0; +#X connect 10 0 4 0; +#X connect 13 0 16 0; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 20 0 4 0; +#X connect 23 0 4 0; +#X connect 24 0 4 0; +#X connect 26 0 1 0; -- cgit v1.2.1