From ae6b5d89ea93b95c2990895077cf5e8f0bba9ad9 Mon Sep 17 00:00:00 2001 From: Guenter Geiger Date: Mon, 2 Feb 2004 11:28:02 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r1301, which included commits to RCS files with non-trunk default branches. svn path=/trunk/; revision=1302 --- pd/doc/3.audio.examples/G09.pitchshift.pd | 162 ++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 pd/doc/3.audio.examples/G09.pitchshift.pd (limited to 'pd/doc/3.audio.examples/G09.pitchshift.pd') diff --git a/pd/doc/3.audio.examples/G09.pitchshift.pd b/pd/doc/3.audio.examples/G09.pitchshift.pd new file mode 100644 index 00000000..f0122b1b --- /dev/null +++ b/pd/doc/3.audio.examples/G09.pitchshift.pd @@ -0,0 +1,162 @@ +#N canvas 93 36 964 554 12; +#X floatatom 19 87 0 0 0 0 - - -; +#X obj 82 358 *~; +#X obj 205 295 line~; +#X floatatom 237 112 0 0 0 0 - - -; +#X text 68 9 PITCH SHIFTER; +#X obj 205 269 pack 0 200; +#X obj 237 86 r window; +#X obj 19 61 r transpose; +#X obj 19 143 exp; +#X floatatom 19 169 6 0 0 0 - - -; +#X obj 19 259 /; +#X obj 146 189 * 0.001; +#X obj 314 365 line~; +#X obj 314 340 pack 0 200; +#X floatatom 314 289 0 0 0 0 - - -; +#X obj 314 263 r delay; +#X obj 82 384 +~; +#X obj 19 410 cos~; +#X obj 19 437 *~; +#X obj 19 466 +~; +#X obj 106 317 wrap~; +#X obj 251 360 *~; +#X obj 251 393 +~; +#X obj 188 420 cos~; +#X obj 188 447 *~; +#X msg 492 56 \; transpose 0 \; window 100 \; delay 0; +#X obj 492 30 loadbang; +#X obj 264 42 delwrite~ delay1 5000; +#X obj 146 216 t b f; +#X floatatom 19 285 6 0 0 0 - - -; +#X obj 106 290 +~ 0.5; +#X obj 19 358 -~ 0.5; +#X obj 19 384 *~ 0.5; +#X obj 188 359 -~ 0.5; +#X obj 188 392 *~ 0.5; +#X obj 19 196 - 1; +#X obj 19 117 * 0.05776; +#X obj 19 222 * -1; +#X text 53 86 <-- transposition; +#X text 96 99 (halftones); +#X text 82 163 speed; +#X text 81 177 change; +#X text 281 111 <--window (msec); +#X text 54 252 tape head; +#N canvas 0 0 612 637 test-input 0; +#N canvas 0 0 450 300 graph1 0; +#X array array1 155948 float 0; +#X coords 0 1 155947 -1 200 150 1; +#X restore 150 141 graph; +#X obj 139 518 tabread4~ array1; +#X obj 139 333 r totsamps; +#X obj 139 413 /; +#X obj 139 465 *~ 0; +#X obj 139 439 phasor~ 0; +#X obj 139 492 +~ 1; +#X msg 139 386 44100; +#X obj 139 360 t b f; +#X obj 182 469 r totsamps; +#X text 153 538 sample loop for; +#X text 153 555 test signal; +#X obj 162 30 loadbang; +#X obj 139 590 outlet~; +#X obj 393 169 r readfile; +#X obj 393 199 symbol; +#X msg 392 228 read -resize \$1 array1; +#X obj 392 256 soundfiler; +#X obj 392 284 s totsamps; +#X msg 161 64 \; readfile ../sound/bell.aiff; +#X connect 1 0 13 0; +#X connect 2 0 8 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 1 0; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X connect 8 1 3 1; +#X connect 9 0 4 1; +#X connect 12 0 19 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 17 0; +#X connect 17 0 18 0; +#X restore 264 11 pd test-input; +#X text 425 153 This is a classic rotating-tape-head style pitch shifter +using the vd~ variable delay object. Ther are two moving tape heads +\, each of which is loudest at the middle of its trajectory \, and +enveloped out at the moment it has to jump back (or forward) to start +another scratch. Most of the brain work is in computing how fast the +tape heads have to move to get the desired transposition.; +#X text 425 272 The "window size" is the total trajectory of the read +points in the delay line \, in milliseconds. The delay times are controlled +by a phasor~ object. The second delay time \, 180 degrees out of phase +from the first one \, is computed using the "wrap" object.; +#X text 423 362 The "window size" is the total trajectory of the read +points in the delay line \, in milliseconds. The delay times are controlled +by a phasor~ object. The second delay time \, 180 degrees out of phase +from the first one \, is computed using the "wrap" object.; +#X text 422 454 The cos~ objects compute the fadein and fadeout of +the two delay line outputs. They each traverse the positive half of +the cosine waveform (phase -0.25 to +0.25) over the time the phase +goes from one end to the other.; +#X obj 19 493 output~; +#X obj 19 316 phasor~; +#X text 689 534 updated for Pd version 0.37-1; +#X obj 314 316 max 1.5; +#X text 317 222 delay; +#X text 314 240 (msec); +#X obj 237 139 max 1; +#X text 55 265 rotation freq; +#X obj 82 410 vd~ G09-del; +#X obj 251 422 vd~ G09-del; +#X connect 0 0 36 0; +#X connect 1 0 16 0; +#X connect 2 0 1 1; +#X connect 2 0 21 1; +#X connect 3 0 55 0; +#X connect 5 0 2 0; +#X connect 6 0 3 0; +#X connect 7 0 0 0; +#X connect 8 0 9 0; +#X connect 9 0 35 0; +#X connect 10 0 29 0; +#X connect 11 0 28 0; +#X connect 12 0 16 1; +#X connect 12 0 22 1; +#X connect 13 0 12 0; +#X connect 14 0 52 0; +#X connect 15 0 14 0; +#X connect 16 0 57 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 19 0 49 0; +#X connect 19 0 49 1; +#X connect 20 0 21 0; +#X connect 20 0 33 0; +#X connect 21 0 22 0; +#X connect 22 0 58 0; +#X connect 23 0 24 0; +#X connect 24 0 19 1; +#X connect 26 0 25 0; +#X connect 28 0 10 0; +#X connect 28 1 10 1; +#X connect 29 0 50 0; +#X connect 30 0 20 0; +#X connect 31 0 32 0; +#X connect 32 0 17 0; +#X connect 33 0 34 0; +#X connect 34 0 23 0; +#X connect 35 0 37 0; +#X connect 36 0 8 0; +#X connect 37 0 10 0; +#X connect 44 0 27 0; +#X connect 50 0 1 0; +#X connect 50 0 31 0; +#X connect 50 0 30 0; +#X connect 52 0 13 0; +#X connect 55 0 11 0; +#X connect 55 0 5 0; +#X connect 57 0 18 1; +#X connect 58 0 24 1; -- cgit v1.2.1