#N canvas 149 215 260 613 halle 0; #X obj 36 475 freeverb~; #X msg 36 40 roomsize \$1; #X msg 36 85 damping \$1; #X msg 36 129 width \$1; #X msg 36 173 wet \$1; #X msg 36 217 dry \$1; #X msg 78 384 print; #X msg 117 169 freeze \$1; #X msg 122 206 bypass \$1; #X obj 122 187 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 117 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 48 194 hsl 60 18 0 1 0 1 empty empty dry 2 9 1 12 -225271 -1 -1 3000 0; #X obj 48 150 hsl 60 18 0 1 0 1 empty empty wet 2 9 1 12 -225271 -1 -1 1770 0; #X obj 48 106 hsl 60 18 0 1 0 1 empty empty width 2 9 1 12 -262131 -1 -1 5900 0; #X obj 48 62 hsl 60 18 0 2 0 1 empty empty damping 2 9 1 12 -261689 -1 -1 0 0; #X obj 48 17 hsl 60 18 0.11 1.1 0 1 empty empty roomsize 2 9 1 12 -261689 -1 -1 5300 0; #X floatatom 18 21 3 0 0 0 - - -; #X floatatom 18 66 3 0 0 0 - - -; #X floatatom 18 111 3 0 0 0 - - -; #X floatatom 18 154 3 0 0 0 - - -; #X floatatom 18 198 3 0 0 0 - - -; #X obj 36 542 outlet~; #X obj 88 543 outlet~; #X obj 76 418 inlet~; #X obj 127 418 inlet~; #X connect 0 0 21 0; #X connect 0 1 22 0; #X connect 1 0 0 0; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 4 0 0 0; #X connect 5 0 0 0; #X connect 6 0 0 0; #X connect 7 0 0 0; #X connect 8 0 0 0; #X connect 9 0 8 0; #X connect 10 0 7 0; #X connect 11 0 5 0; #X connect 11 0 20 0; #X connect 12 0 4 0; #X connect 12 0 19 0; #X connect 13 0 3 0; #X connect 13 0 18 0; #X connect 14 0 2 0; #X connect 14 0 17 0; #X connect 15 0 1 0; #X connect 15 0 16 0; #X connect 23 0 0 0; #X connect 24 0 0 1; #X coords 0 -1 1 1 180 230 1 10 10; #X restore 281 20 pd halle; #X obj 280 540 *~ 0; #X obj 457 533 *~ 0; #X obj 172 22 vsl 15 128 0 0.9 0 1 empty empty empty 0 -9 0 10 -258113 -262144 -1 7000 1; #X obj 47 337 line~; #X obj 123 23 vsl 15 128 0 990 0 1 empty empty empty 0 -9 0 10 -204800 -1 -1 2500 1; #X obj 78 420 +~; #X obj 205 436 +~; #X obj 456 504 vcf~ 1; #X obj 281 511 vcf~ 1; #X obj 554 464 sig~; #X obj 554 437 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 -1 -1 1000 256; #X obj 281 570 hip~ 10; #X obj 457 561 hip~ 10; #X obj 148 318 line~; #X obj 148 23 vsl 15 128 0 990 0 1 empty empty empty 0 -9 0 10 -204800 -1 -1 8200 1; #X obj 196 22 vsl 15 128 0 0.9 0 1 empty empty empty 0 -9 0 10 -258113 -262144 -1 6700 1; #X msg 47 306 \$1 100; #X msg 148 288 \$1 100; #X obj 58 23 vsl 15 128 -20 20 0 1 empty empty empty 0 -9 0 10 -262144 -1 -1 2500 1; #X obj 88 23 vsl 15 128 -20 20 0 1 empty empty empty 0 -9 0 10 -262144 -1 -1 6600 1; #X obj 229 22 vsl 15 128 30 4000 0 1 empty empty empty 0 -9 0 10 -261682 -1 -1 7500 1; #X obj 249 22 vsl 15 128 30 4000 0 1 empty empty empty 0 -9 0 10 -261682 -1 -1 5600 1; #X obj 366 484 sig~; #X obj 328 293 outlet~; #X obj 484 295 outlet~; #X obj 282 599 delwrite~ \$0-leftdelay 1000; #X obj 457 593 delwrite~ \$0-rightdelay 1000; #X obj 149 347 vd~ \$0-rightdelay; #X obj 47 365 vd~ \$0-leftdelay; #X obj 8 390 inlet~; #X obj 133 403 inlet~; #X text 77 79 0; #X text 74 46 up; #X text 70 119 down; #X text 62 160 pitch; #X text 168 162 feedback!; #X text 222 159 filter cut; #X text 110 153 delayabgriff; #X text 417 197 bypass; #X text 411 159 freeze; #X text 85 251 http://www.elektronengehirn.de; #N canvas 554 144 741 699 pitchshifter1 0; #X floatatom 14 117 0 0 0 0 - - -; #X obj 77 388 *~; #X obj 200 325 line~; #X floatatom 232 167 0 0 0 0 - - -; #X text 63 39 PITCH SHIFTER; #X obj 200 299 pack 0 200; #X obj 14 173 exp; #X floatatom 14 199 6 0 0 0 - - -; #X obj 14 289 /; #X obj 141 219 * 0.001; #X obj 309 395 line~; #X obj 309 370 pack 0 200; #X floatatom 309 319 0 0 0 0 - - -; #X obj 77 414 +~; #X obj 14 440 cos~; #X obj 14 467 *~; #X obj 14 496 +~; #X obj 101 347 wrap~; #X obj 246 390 *~; #X obj 246 423 +~; #X obj 183 450 cos~; #X obj 183 477 *~; #X obj 141 246 t b f; #X floatatom 14 315 6 0 0 0 - - -; #X obj 101 320 +~ 0.5; #X obj 14 388 -~ 0.5; #X obj 14 414 *~ 0.5; #X obj 183 389 -~ 0.5; #X obj 183 422 *~ 0.5; #X obj 14 226 - 1; #X obj 14 147 * 0.05776; #X obj 14 252 * -1; #X text 48 116 <-- transposition; #X text 91 129 (halftones); #X text 77 193 speed; #X text 76 207 change; #X text 263 165 <--window (msec); #X text 49 282 tape head; #X text 420 183 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 420 302 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 418 392 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 417 484 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 14 346 phasor~; #X text 684 564 updated for Pd version 0.37-1; #X obj 309 346 max 1.5; #X text 312 252 delay; #X text 309 270 (msec); #X obj 232 194 max 1; #X text 50 295 rotation freq; #X obj 171 48 inlet~; #X obj 15 531 outlet~; #X obj 345 27 inlet; #X obj 445 25 inlet; #X obj 531 25 inlet; #X msg 392 131 100; #X obj 392 104 loadbang; #X obj 171 75 delwrite~ \$0-1G09-del 5000; #X obj 345 62 s \$0-1transpose; #X obj 445 60 s \$0-1delay; #X obj 531 60 s \$0-1window; #X obj 78 441 vd~ \$0-1G09-del; #X obj 246 452 vd~ \$0-1G09-del; #X obj 232 115 r \$0-1window; #X obj 309 292 r \$0-1delay; #X obj 14 90 r \$0-1transpose; #X connect 0 0 30 0; #X connect 1 0 13 0; #X connect 2 0 1 1; #X connect 2 0 18 1; #X connect 3 0 47 0; #X connect 5 0 2 0; #X connect 6 0 7 0; #X connect 7 0 29 0; #X connect 8 0 23 0; #X connect 9 0 22 0; #X connect 10 0 13 1; #X connect 10 0 19 1; #X connect 11 0 10 0; #X connect 12 0 44 0; #X connect 13 0 60 0; #X connect 14 0 15 0; #X connect 15 0 16 0; #X connect 16 0 50 0; #X connect 17 0 18 0; #X connect 17 0 27 0; #X connect 18 0 19 0; #X connect 19 0 61 0; #X connect 20 0 21 0; #X connect 21 0 16 1; #X connect 22 0 8 0; #X connect 22 1 8 1; #X connect 23 0 42 0; #X connect 24 0 17 0; #X connect 25 0 26 0; #X connect 26 0 14 0; #X connect 27 0 28 0; #X connect 28 0 20 0; #X connect 29 0 31 0; #X connect 30 0 6 0; #X connect 31 0 8 0; #X connect 42 0 1 0; #X connect 42 0 25 0; #X connect 42 0 24 0; #X connect 44 0 11 0; #X connect 47 0 9 0; #X connect 47 0 5 0; #X connect 49 0 56 0; #X connect 51 0 57 0; #X connect 52 0 58 0; #X connect 53 0 59 0; #X connect 54 0 3 0; #X connect 55 0 54 0; #X connect 60 0 15 1; #X connect 61 0 21 1; #X connect 62 0 3 0; #X connect 63 0 12 0; #X connect 64 0 0 0; #X restore 282 443 pd pitchshifter1; #N canvas 578 178 786 703 pitchshifter2 0; #X floatatom 24 127 0 0 0 0 - - -; #X obj 87 398 *~; #X obj 210 335 line~; #X floatatom 242 152 0 0 0 0 - - -; #X text 73 49 PITCH SHIFTER; #X obj 210 309 pack 0 200; #X obj 24 183 exp; #X floatatom 24 209 6 0 0 0 - - -; #X obj 24 299 /; #X obj 151 229 * 0.001; #X obj 319 405 line~; #X obj 319 380 pack 0 200; #X floatatom 319 329 0 0 0 0 - - -; #X obj 87 424 +~; #X obj 24 450 cos~; #X obj 24 477 *~; #X obj 24 506 +~; #X obj 111 357 wrap~; #X obj 256 400 *~; #X obj 256 433 +~; #X obj 193 460 cos~; #X obj 193 487 *~; #X obj 151 256 t b f; #X floatatom 24 325 6 0 0 0 - - -; #X obj 111 330 +~ 0.5; #X obj 24 398 -~ 0.5; #X obj 24 424 *~ 0.5; #X obj 193 399 -~ 0.5; #X obj 193 432 *~ 0.5; #X obj 24 236 - 1; #X obj 24 157 * 0.05776; #X obj 24 262 * -1; #X text 58 126 <-- transposition; #X text 101 139 (halftones); #X text 87 203 speed; #X text 86 217 change; #X text 286 151 <--window (msec); #X text 59 292 tape head; #X text 430 193 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 430 312 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 428 402 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 427 494 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 24 356 phasor~; #X text 694 574 updated for Pd version 0.37-1; #X obj 319 356 max 1.5; #X text 322 262 delay; #X text 319 280 (msec); #X obj 242 179 max 1; #X text 60 305 rotation freq; #X obj 181 58 inlet~; #X obj 25 541 outlet~; #X obj 349 35 inlet; #X obj 450 34 inlet; #X obj 540 35 inlet; #X msg 402 141 100; #X obj 402 114 loadbang; #X obj 182 85 delwrite~ \$0-2G09-del 5000; #X obj 349 70 s \$0-2transpose; #X obj 450 68 s \$0-2delay; #X obj 540 69 s \$0-2window; #X obj 242 126 r \$0-2window; #X obj 25 101 r \$0-2transpose; #X obj 86 451 vd~ \$0-2G09-del; #X obj 257 461 vd~ \$0-2G09-del; #X obj 319 302 r \$0-2delay; #X connect 0 0 30 0; #X connect 1 0 13 0; #X connect 2 0 1 1; #X connect 2 0 18 1; #X connect 3 0 47 0; #X connect 5 0 2 0; #X connect 6 0 7 0; #X connect 7 0 29 0; #X connect 8 0 23 0; #X connect 9 0 22 0; #X connect 10 0 13 1; #X connect 10 0 19 1; #X connect 11 0 10 0; #X connect 12 0 44 0; #X connect 13 0 62 0; #X connect 14 0 15 0; #X connect 15 0 16 0; #X connect 16 0 50 0; #X connect 17 0 18 0; #X connect 17 0 27 0; #X connect 18 0 19 0; #X connect 19 0 63 0; #X connect 20 0 21 0; #X connect 21 0 16 1; #X connect 22 0 8 0; #X connect 22 1 8 1; #X connect 23 0 42 0; #X connect 24 0 17 0; #X connect 25 0 26 0; #X connect 26 0 14 0; #X connect 27 0 28 0; #X connect 28 0 20 0; #X connect 29 0 31 0; #X connect 30 0 6 0; #X connect 31 0 8 0; #X connect 42 0 1 0; #X connect 42 0 25 0; #X connect 42 0 24 0; #X connect 44 0 11 0; #X connect 47 0 9 0; #X connect 47 0 5 0; #X connect 49 0 56 0; #X connect 51 0 57 0; #X connect 52 0 58 0; #X connect 53 0 59 0; #X connect 54 0 3 0; #X connect 55 0 54 0; #X connect 60 0 3 0; #X connect 61 0 0 0; #X connect 62 0 15 1; #X connect 63 0 21 1; #X connect 64 0 12 0; #X restore 455 396 pd pitchshifter2; #X text 14 629 comment; #X connect 0 0 24 0; #X connect 0 0 42 0; #X connect 0 1 25 0; #X connect 0 1 43 0; #X connect 1 0 12 0; #X connect 2 0 13 0; #X connect 3 0 1 1; #X connect 4 0 29 0; #X connect 5 0 17 0; #X connect 6 0 0 0; #X connect 7 0 0 1; #X connect 8 0 2 0; #X connect 9 0 1 0; #X connect 10 0 8 1; #X connect 11 0 10 0; #X connect 12 0 26 0; #X connect 13 0 27 0; #X connect 14 0 28 0; #X connect 15 0 18 0; #X connect 16 0 2 1; #X connect 17 0 4 0; #X connect 18 0 14 0; #X connect 19 0 42 1; #X connect 20 0 43 1; #X connect 21 0 23 0; #X connect 22 0 10 0; #X connect 23 0 9 1; #X connect 28 0 7 1; #X connect 29 0 6 1; #X connect 30 0 6 0; #X connect 31 0 7 0; #X connect 42 0 9 0; #X connect 43 0 8 0; #X coords 0 -1 1 1 450 270 1 50 10;