diff options
-rw-r--r-- | additive-help.pd | 81 | ||||
-rw-r--r-- | additive.pd | 3941 | ||||
-rw-r--r-- | between-help.pd | 14 | ||||
-rw-r--r-- | between.pd | 30 | ||||
-rw-r--r-- | lfo-help.pd | 26 | ||||
-rwxr-xr-x | lfo.pd | 116 | ||||
-rw-r--r-- | many_bang-help.pd | 47 | ||||
-rw-r--r-- | many_bang.pd | 100 | ||||
-rw-r--r-- | oscillo-help.pd | 9 | ||||
-rwxr-xr-x | oscillo.pd | 21 | ||||
-rw-r--r-- | rnd_metro-help.pd | 15 | ||||
-rw-r--r-- | rnd_metro.pd | 53 |
12 files changed, 4453 insertions, 0 deletions
diff --git a/additive-help.pd b/additive-help.pd new file mode 100644 index 0000000..26d6e9f --- /dev/null +++ b/additive-help.pd @@ -0,0 +1,81 @@ +#N canvas 120 75 697 786 10; +#X obj 85 91 hradio 15 1 0 6 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X obj 34 748 dac~; +#X obj 34 699 additive; +#X msg 34 171 waveform \$1 \$2; +#X floatatom 34 57 5 0 0 0 - - -; +#X obj 34 147 pack f f; +#X text 81 58 voice_number; +#X text 172 91 waveform; +#X obj 57 229 pack f f f f; +#X floatatom 57 203 5 0 0 0 - - -; +#X floatatom 95 203 5 0 0 0 - - -; +#X floatatom 133 203 5 0 0 0 - - -; +#X floatatom 171 203 5 0 0 0 - - -; +#X text 222 202 (0 1); +#X msg 57 256 cosinesum \$1 \$2 \$3 \$4; +#X text 260 7 additive synthesys with pd; +#X text 286 24 ch 2005_04_28; +#X floatatom 181 466 5 0 0 0 - - -; +#X msg 120 647 reset; +#X floatatom 78 280 5 0 0 0 - - -; +#X msg 78 301 pwm \$1; +#X text 117 281 (0 1); +#X msg 46 78 2; +#X msg 57 111 1; +#X text 176 647 stop all voice; +#X msg 126 670 2 reset; +#X text 199 672 stop voice 2; +#X floatatom 148 497 5 0 0 0 - - -; +#X text 158 168 voice 0 = all voice; +#X msg 23 30 0; +#X msg 148 466 1; +#X floatatom 144 344 5 0 0 0 - - -; +#X text 194 343 f (midi); +#X floatatom 111 375 5 0 0 0 - - -; +#X msg 111 344 2; +#X obj 35 722 *~ 0.1; +#X text 118 431 voice_number(1-20) freq(midi : 0-127) amplitude(db +: 0-100) A(ms) D(ms) hold(ms) S(ms) R (ms); +#X text 368 404 voice_number freq amplitude A D H S R; +#X text 256 100 select a waveform for each voice; +#X text 495 100 0 = sin; +#X text 495 119 1 = tri; +#X text 495 138 2 = saw; +#X text 495 157 3 = square; +#X text 495 175 4 = user_define_cosinesum; +#X text 496 195 5 = user_define_pwm; +#X text 214 299 define the PW of waveforme 5; +#X text 217 257 define the spectre of waveform 4; +#X text 193 568 addresse each voice independently; +#X obj 111 405 pack f 54 90 300 500 1000 0.5 1800; +#X obj 148 527 pack f 69 90 100 500 1000 0.9 1800; +#X connect 0 0 5 1; +#X connect 2 0 35 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 8 0 14 0; +#X connect 9 0 8 0; +#X connect 10 0 8 1; +#X connect 11 0 8 2; +#X connect 12 0 8 3; +#X connect 14 0 2 0; +#X connect 17 0 49 1; +#X connect 18 0 2 0; +#X connect 19 0 20 0; +#X connect 20 0 2 0; +#X connect 22 0 5 0; +#X connect 23 0 5 0; +#X connect 25 0 2 0; +#X connect 27 0 49 0; +#X connect 29 0 5 0; +#X connect 30 0 27 0; +#X connect 31 0 48 1; +#X connect 33 0 48 0; +#X connect 34 0 33 0; +#X connect 35 0 1 0; +#X connect 35 0 1 1; +#X connect 48 0 2 0; +#X connect 49 0 2 0; diff --git a/additive.pd b/additive.pd new file mode 100644 index 0000000..2c6602f --- /dev/null +++ b/additive.pd @@ -0,0 +1,3941 @@ +#N canvas 438 143 1036 856 10; +#N canvas 167 262 463 525 voice 0; +#X obj 18 10 inlet; +#X obj 37 306 outlet~; +#X obj 18 46 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 +20; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 37 74 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 56 95 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 75 117 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 93 138 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 112 158 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 132 179 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 151 201 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 170 222 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 189 245 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 208 266 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 228 71 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 247 92 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 266 114 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 285 134 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 303 155 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 323 176 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 342 198 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 361 219 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 380 242 pd add_1; +#N canvas 352 244 1044 693 add_1 0; +#X obj 36 44 inlet; +#X obj 69 268 switch~ 0; +#X msg 69 189 1; +#X obj 69 244 change -1; +#X msg 103 190 0; +#X msg 36 324 set \$1; +#X obj 171 113 t a b; +#X obj 36 68 route waveform reset; +#X obj 36 300 symbol; +#N canvas 0 0 790 626 vadsr~ 0; +#X obj 189 504 outlet~; +#X obj 109 5 inlet; +#X obj 95 187 line~; +#X obj 326 191 line~; +#X obj 205 188 line~; +#X obj 189 416 *~; +#X obj 189 440 *~; +#X obj 119 153 pack f f; +#X obj 192 153 pack f f; +#X obj 320 157 pack f f; +#X obj 212 71 unpack f f f f; +#X msg 271 154 1; +#X msg 67 148 1; +#X msg 367 119 0; +#X obj 192 108 del; +#X msg 192 131 0; +#X obj 205 318 +~; +#X obj 221 270 expr 1 - $f1; +#X obj 205 294 *~; +#X msg 152 80 bang; +#X obj 67 91 t b b b; +#X obj 93 487 snapshot~; +#X msg 119 132 0; +#X obj 93 378 +~; +#X obj 22 296 expr 1 - $f1; +#X obj 93 355 *~; +#X text 410 19 analog-style envelope generator; +#X msg 358 301 <attack> <decay> <sustain> <release>; +#X text 346 281 to set up:; +#X text 349 371 attack:; +#X msg 420 368 a; +#X text 350 397 release:; +#X msg 420 394 r; +#X text 372 493 Ben Saylor <bsaylor@macalester.edu>; +#X text 357 320 (times are in ms \, sustain level is 0..1); +#X text 356 343 (or give as creation args); +#X obj 337 232 expr~ pow($v1 \, $v2); +#X obj 205 244 expr~ pow($v1 \, $v2); +#X obj 109 28 route a r curves; +#X obj 465 207 sig~ 4; +#X obj 273 208 sig~ 4; +#X obj 145 211 sig~ 4; +#X obj 432 100 unpack f f f; +#X msg 352 421 curves <attack> <decay> <release>; +#X text 364 444 higher values -> more curved; +#X text 388 461 (default is 4 4 4); +#X obj 8 257 expr~ pow($v1 \, $v2) * -1 + 1; +#X connect 1 0 38 0; +#X connect 2 0 46 0; +#X connect 3 0 36 0; +#X connect 4 0 37 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 6 0 21 0; +#X connect 7 0 2 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X connect 10 0 7 1; +#X connect 10 0 14 1; +#X connect 10 1 8 1; +#X connect 10 2 16 1; +#X connect 10 2 17 0; +#X connect 10 3 9 1; +#X connect 11 0 3 0; +#X connect 11 0 4 0; +#X connect 12 0 2 0; +#X connect 13 0 9 0; +#X connect 14 0 15 0; +#X connect 15 0 8 0; +#X connect 16 0 5 1; +#X connect 17 0 18 1; +#X connect 18 0 16 0; +#X connect 19 0 14 0; +#X connect 20 0 22 0; +#X connect 20 0 11 0; +#X connect 20 1 12 0; +#X connect 20 2 21 0; +#X connect 21 0 23 1; +#X connect 21 0 24 0; +#X connect 22 0 7 0; +#X connect 23 0 5 0; +#X connect 24 0 25 1; +#X connect 25 0 23 0; +#X connect 36 0 6 1; +#X connect 37 0 18 0; +#X connect 38 0 19 0; +#X connect 38 0 20 0; +#X connect 38 1 13 0; +#X connect 38 2 42 0; +#X connect 38 3 10 0; +#X connect 39 0 36 1; +#X connect 40 0 37 1; +#X connect 41 0 46 1; +#X connect 42 0 41 0; +#X connect 42 1 40 0; +#X connect 42 2 39 0; +#X connect 46 0 25 0; +#X restore 346 468 pd vadsr~; +#X msg 358 441 a; +#X msg 390 441 r; +#X obj 345 324 pack f f f f; +#X obj 171 277 t l b; +#X obj 171 306 line~; +#X obj 171 353 phasor~; +#X obj 173 641 outlet~; +#X obj 172 377 *~ 1024; +#X obj 172 330 mtof~; +#X obj 172 604 *~; +#X obj 277 236 delay; +#X obj 277 264 delay; +#X obj 358 418 spigot 1; +#X msg 392 393 1; +#X msg 424 393 0; +#X msg 321 237 stop; +#X obj 213 535 *~; +#X obj 213 466 / 100; +#X obj 213 513 line~; +#X msg 213 489 \$1 10; +#X obj 172 563 *~; +#X obj 277 214 t b f b; +#X obj 173 409 tabread4~ \$0-table0; +#X msg 171 253 \$1 15; +#X text 187 92 freq amplitude A D Hold S R; +#X obj 171 182 unpack f f f f f f f; +#X connect 0 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 32 0; +#X connect 6 0 35 0; +#X connect 6 1 2 0; +#X connect 7 0 8 0; +#X connect 7 1 4 0; +#X connect 7 2 6 0; +#X connect 8 0 5 0; +#X connect 9 0 19 1; +#X connect 10 0 9 0; +#X connect 10 0 24 0; +#X connect 11 0 9 0; +#X connect 11 0 23 0; +#X connect 12 0 9 0; +#X connect 13 0 14 0; +#X connect 13 1 22 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 17 0 32 0; +#X connect 18 0 15 0; +#X connect 19 0 16 0; +#X connect 20 0 11 0; +#X connect 20 0 21 0; +#X connect 21 0 4 0; +#X connect 22 0 10 0; +#X connect 23 0 22 1; +#X connect 24 0 22 1; +#X connect 25 0 21 0; +#X connect 26 0 30 1; +#X connect 27 0 29 0; +#X connect 28 0 26 0; +#X connect 28 0 26 1; +#X connect 29 0 28 0; +#X connect 30 0 19 0; +#X connect 31 0 20 0; +#X connect 31 1 20 1; +#X connect 31 2 25 0; +#X connect 32 0 30 0; +#X connect 33 0 13 0; +#X connect 35 0 33 0; +#X connect 35 1 27 0; +#X connect 35 2 12 0; +#X connect 35 3 12 1; +#X connect 35 4 31 0; +#X connect 35 5 12 2; +#X connect 35 6 12 3; +#X connect 35 6 21 1; +#X restore 399 263 pd add_1; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 2 0 4 0; +#X connect 2 0 5 0; +#X connect 2 0 6 0; +#X connect 2 0 7 0; +#X connect 2 0 8 0; +#X connect 2 0 9 0; +#X connect 2 0 10 0; +#X connect 2 0 11 0; +#X connect 2 0 12 0; +#X connect 2 0 13 0; +#X connect 2 0 14 0; +#X connect 2 0 15 0; +#X connect 2 0 16 0; +#X connect 2 0 17 0; +#X connect 2 0 18 0; +#X connect 2 0 19 0; +#X connect 2 0 20 0; +#X connect 2 0 21 0; +#X connect 2 0 22 0; +#X connect 2 1 3 0; +#X connect 2 2 4 0; +#X connect 2 3 5 0; +#X connect 2 4 6 0; +#X connect 2 5 7 0; +#X connect 2 6 8 0; +#X connect 2 7 9 0; +#X connect 2 8 10 0; +#X connect 2 9 11 0; +#X connect 2 10 12 0; +#X connect 2 11 13 0; +#X connect 2 12 14 0; +#X connect 2 13 15 0; +#X connect 2 14 16 0; +#X connect 2 15 17 0; +#X connect 2 16 18 0; +#X connect 2 17 19 0; +#X connect 2 18 20 0; +#X connect 2 19 21 0; +#X connect 2 20 22 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X connect 8 0 1 0; +#X connect 9 0 1 0; +#X connect 10 0 1 0; +#X connect 11 0 1 0; +#X connect 12 0 1 0; +#X connect 13 0 1 0; +#X connect 14 0 1 0; +#X connect 15 0 1 0; +#X connect 16 0 1 0; +#X connect 17 0 1 0; +#X connect 18 0 1 0; +#X connect 19 0 1 0; +#X connect 20 0 1 0; +#X connect 21 0 1 0; +#X connect 22 0 1 0; +#X restore 176 482 pd voice; +#X obj 177 542 outlet~; +#X obj 60 8 inlet; +#X obj 437 226 loadbang; +#X obj 428 252 \$0; +#X text 107 761 chargement de la table d'envelope des grains; +#X obj 177 515 hip~ 10; +#X obj 176 245 unpack f f; +#X msg 206 301 symbol waveform; +#X msg 99 67 waveform voice_number table_number; +#X text 449 646 waveform tables; +#X text 434 353 table : size = 1024 \,; +#X obj 428 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 234 423 0 reset; +#X obj 60 700 pack f f f f f f f f f f f; +#X obj 82 669 unpack f f f f f f f f f f; +#X obj 60 637 \$0; +#X obj 60 608 t b a b; +#X msg 104 636 0 0 0 0 0 0 0 0 0 0; +#X text 434 375 0 = sin; +#X text 434 394 1 = tri; +#X text 434 413 2 = saw; +#X text 434 432 3 = square; +#X text 434 450 4 = user_define_cosinesum; +#X msg 428 277 \; \$1-table0 cosinesum 1024 0 1 \;; +#X msg 60 723 \; \$1-table4 cosinesum 1024 0 \$2 \$3 \$4 \$5 \$6 \$7 +\$8 \$9 \$10 \$11 \;; +#X text 191 351 voice_number "waveform" table_name; +#X obj 176 328 pack f s s; +#X obj 241 271 makefilename \$0-table%d; +#X obj 176 218 t l b; +#X obj 434 524 table \$0-table0 1024; +#X obj 434 543 table \$0-table1 1024; +#X obj 434 562 table \$0-table2 1024; +#X obj 434 581 table \$0-table3 1024; +#X obj 434 600 table \$0-table4 1024; +#X obj 693 50 loadbang; +#X obj 693 125 + 1; +#X obj 693 98 f; +#X obj 718 175 moses 1024; +#X obj 740 372 / 512; +#X obj 740 395 - 1; +#X obj 740 419 tabwrite \$0-table2; +#X obj 740 349 t f f; +#X msg 693 75 -1; +#X obj 693 147 pipe 1; +#X obj 718 447 t f f; +#X obj 718 475 moses 512; +#X text 435 470 5 = user_define_pwm; +#X obj 718 527 tabwrite \$0-table3; +#X msg 718 499 -1; +#X msg 776 499 1; +#X obj 747 207 t f f; +#X obj 747 235 moses 512; +#X obj 747 322 tabwrite \$0-table1; +#X obj 747 264 / 256; +#X obj 805 265 / -256; +#X obj 747 290 - 1; +#X obj 805 289 + 3; +#X obj 434 619 table \$0-table5 1024; +#X obj 60 129 route cosinesum pwm waveform reset; +#X obj 719 725 t f f; +#X msg 719 777 -1; +#X msg 777 777 1; +#X obj 719 806 tabwrite \$0-table5; +#X obj 707 657 + 1; +#X obj 707 630 f; +#X msg 707 607 -1; +#X obj 707 679 pipe 1; +#X obj 707 580 t b f; +#X obj 719 753 moses 100; +#X obj 719 700 moses 1024; +#X obj 707 557 * 512; +#X obj 761 568 loadbang; +#X msg 95 35 voice_number freq amplitude A D H S R; +#X connect 0 0 6 0; +#X connect 2 0 59 0; +#X connect 3 0 4 0; +#X connect 4 0 24 0; +#X connect 6 0 1 0; +#X connect 7 0 27 0; +#X connect 7 1 28 0; +#X connect 8 0 27 1; +#X connect 12 0 4 0; +#X connect 13 0 0 0; +#X connect 14 0 25 0; +#X connect 15 0 14 1; +#X connect 15 1 14 2; +#X connect 15 2 14 3; +#X connect 15 3 14 4; +#X connect 15 4 14 5; +#X connect 15 5 14 6; +#X connect 15 6 14 7; +#X connect 15 7 14 8; +#X connect 15 8 14 9; +#X connect 15 9 14 10; +#X connect 16 0 14 0; +#X connect 17 0 16 0; +#X connect 17 1 15 0; +#X connect 17 2 18 0; +#X connect 18 0 15 0; +#X connect 27 0 0 0; +#X connect 28 0 27 2; +#X connect 29 0 7 0; +#X connect 29 1 8 0; +#X connect 35 0 43 0; +#X connect 36 0 44 0; +#X connect 37 0 36 0; +#X connect 38 0 42 0; +#X connect 38 0 37 0; +#X connect 38 0 45 0; +#X connect 38 0 51 0; +#X connect 39 0 40 0; +#X connect 40 0 41 0; +#X connect 42 0 39 0; +#X connect 42 1 41 1; +#X connect 43 0 37 0; +#X connect 44 0 38 0; +#X connect 45 0 46 0; +#X connect 45 1 48 1; +#X connect 46 0 49 0; +#X connect 46 1 50 0; +#X connect 49 0 48 0; +#X connect 50 0 48 0; +#X connect 51 0 52 0; +#X connect 51 1 53 1; +#X connect 52 0 54 0; +#X connect 52 1 55 0; +#X connect 54 0 56 0; +#X connect 55 0 57 0; +#X connect 56 0 53 0; +#X connect 57 0 53 0; +#X connect 59 0 17 0; +#X connect 59 1 71 0; +#X connect 59 2 29 0; +#X connect 59 3 13 0; +#X connect 59 4 0 0; +#X connect 60 0 69 0; +#X connect 60 1 63 1; +#X connect 61 0 63 0; +#X connect 62 0 63 0; +#X connect 64 0 67 0; +#X connect 65 0 64 0; +#X connect 66 0 65 0; +#X connect 67 0 70 0; +#X connect 68 0 66 0; +#X connect 68 1 69 1; +#X connect 69 0 61 0; +#X connect 69 1 62 0; +#X connect 70 0 65 0; +#X connect 70 0 60 0; +#X connect 71 0 68 0; +#X connect 72 0 66 0; diff --git a/between-help.pd b/between-help.pd new file mode 100644 index 0000000..f8dd77a --- /dev/null +++ b/between-help.pd @@ -0,0 +1,14 @@ +#N canvas 0 0 450 300 10; +#X obj 29 91 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 29 183 5 0 0 0 - - -; +#X floatatom 68 131 5 0 0 0 - - -; +#X floatatom 108 131 5 0 0 0 - - -; +#X obj 29 156 between 2 15; +#X text 164 129 input range; +#X text 62 20 output a float that is between a min and a max; +#X text 52 90 <-- bang; +#X connect 0 0 4 0; +#X connect 2 0 4 1; +#X connect 3 0 4 2; +#X connect 4 0 1 0; diff --git a/between.pd b/between.pd new file mode 100644 index 0000000..2ddfead --- /dev/null +++ b/between.pd @@ -0,0 +1,30 @@ +#N canvas 0 0 757 565 10; +#X obj 61 29 inlet; +#X obj 211 31 inlet; +#X obj 350 33 inlet; +#X obj 195 172 \$1; +#X obj 225 352 / 100000; +#X obj 225 281 i; +#X obj 195 380 +; +#X obj 195 206 t f f; +#X obj 195 410 outlet; +#X obj 225 230 - \$2; +#X obj 225 304 t b f; +#X obj 225 328 random 0; +#X obj 225 256 * -100000; +#X obj 61 67 t b; +#X connect 0 0 13 0; +#X connect 1 0 3 1; +#X connect 2 0 9 1; +#X connect 3 0 7 0; +#X connect 4 0 6 1; +#X connect 5 0 10 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 7 1 9 0; +#X connect 9 0 12 0; +#X connect 10 0 11 0; +#X connect 10 1 11 1; +#X connect 11 0 4 0; +#X connect 12 0 5 0; +#X connect 13 0 3 0; diff --git a/lfo-help.pd b/lfo-help.pd new file mode 100644 index 0000000..fcadd7f --- /dev/null +++ b/lfo-help.pd @@ -0,0 +1,26 @@ +#N canvas 77 355 426 472 10; +#X floatatom 54 100 5 0 0 0 - - -; +#X obj 54 281 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 12519 1; +#X obj 54 252 * 127; +#X msg 93 128 sin; +#X msg 100 153 saw; +#X msg 110 177 tri; +#X text 114 254 creation arguments:; +#X text 146 294 2 time grain in milliseconds; +#X text 144 274 1 period time (ms); +#X text 152 25 Low Frequency Modulator; +#X text 105 100 <- time (ms); +#X text 162 152 <- wave shape; +#X text 192 173 (default = sin); +#X msg 175 200 0; +#X text 208 199 phase; +#X obj 54 222 lfo 2000 20 ______; +#X text 144 386 no audio on is neaded !; +#X connect 0 0 15 0; +#X connect 2 0 1 0; +#X connect 3 0 15 0; +#X connect 4 0 15 0; +#X connect 5 0 15 0; +#X connect 13 0 15 1; +#X connect 15 0 2 0; @@ -0,0 +1,116 @@ +#N canvas 396 93 485 798 10; +#X obj 13 13 inlet; +#X obj 285 174 t b b; +#X obj 204 67 loadbang; +#X msg 285 218 1; +#X obj 230 402 table \$0-sin 1024; +#X obj 230 440 loadbang; +#X obj 230 467 \$0; +#X obj 34 556 * 1024; +#X obj 34 584 tabread \$0-sin; +#X obj 315 195 \$2; +#X obj 315 217 moses 1; +#X msg 315 240 20; +#X obj 285 315 metro; +#X obj 15 765 outlet; +#X obj 127 165 \$1; +#X msg 219 87 bang; +#X msg 230 495 \; \$1-sin cosinesum 1024 0.5 -0.5 \;; +#X obj 158 585 moses 1; +#X obj 202 609 * -1; +#X obj 202 633 + 2; +#X obj 158 560 * 2; +#N canvas 0 0 804 690 gate 0; +#X obj 199 96 == 1; +#X obj 35 39 inlet; +#X obj 148 39 inlet; +#X obj 223 142 spigot; +#X obj 300 143 spigot; +#X obj 148 189 outlet; +#X obj 223 39 inlet; +#X obj 148 141 spigot 1; +#X obj 300 39 inlet; +#X obj 260 97 == 2; +#X obj 337 98 == 3; +#X connect 0 0 7 1; +#X connect 1 0 0 0; +#X connect 1 0 9 0; +#X connect 1 0 10 0; +#X connect 2 0 7 0; +#X connect 3 0 5 0; +#X connect 4 0 5 0; +#X connect 6 0 3 0; +#X connect 7 0 5 0; +#X connect 8 0 4 0; +#X connect 9 0 3 1; +#X connect 10 0 4 1; +#X restore 15 735 pd gate 3; +#X msg 13 75 1; +#X msg 51 75 2; +#X msg 89 74 3; +#X obj 13 42 route sin tri saw; +#X obj 315 282 f; +#X obj 127 369 /; +#X obj 127 323 pack f f; +#X msg 127 347 \$2 \$1; +#X obj 110 430 +; +#X obj 110 408 f; +#X obj 110 464 moses 1; +#X obj 154 486 - 1; +#X obj 204 113 t b b; +#X obj 73 495 f; +#X obj 336 20 inlet; +#X obj 336 78 t b f; +#X msg 353 48 0; +#X floatatom 152 517 5 0 0 0 - - -; +#X obj 127 199 max 1; +#X connect 0 0 25 0; +#X connect 1 0 3 0; +#X connect 1 1 9 0; +#X connect 2 0 34 0; +#X connect 3 0 12 0; +#X connect 5 0 6 0; +#X connect 6 0 16 0; +#X connect 7 0 8 0; +#X connect 8 0 21 1; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 10 1 26 0; +#X connect 11 0 26 0; +#X connect 12 0 31 0; +#X connect 14 0 40 0; +#X connect 15 0 34 0; +#X connect 17 0 21 2; +#X connect 17 1 18 0; +#X connect 18 0 19 0; +#X connect 19 0 21 2; +#X connect 20 0 17 0; +#X connect 21 0 13 0; +#X connect 22 0 21 0; +#X connect 23 0 21 0; +#X connect 24 0 21 0; +#X connect 25 0 22 0; +#X connect 25 1 23 0; +#X connect 25 2 24 0; +#X connect 25 3 14 0; +#X connect 26 0 12 1; +#X connect 26 0 28 1; +#X connect 27 0 30 1; +#X connect 28 0 29 0; +#X connect 29 0 27 0; +#X connect 30 0 32 0; +#X connect 31 0 30 0; +#X connect 32 0 31 1; +#X connect 32 0 35 0; +#X connect 32 1 33 0; +#X connect 33 0 32 0; +#X connect 34 0 14 0; +#X connect 34 1 1 0; +#X connect 35 0 7 0; +#X connect 35 0 20 0; +#X connect 35 0 21 3; +#X connect 36 0 37 0; +#X connect 37 0 34 0; +#X connect 37 1 31 1; +#X connect 38 0 37 0; +#X connect 40 0 28 0; diff --git a/many_bang-help.pd b/many_bang-help.pd new file mode 100644 index 0000000..d296adb --- /dev/null +++ b/many_bang-help.pd @@ -0,0 +1,47 @@ +#N canvas 0 0 742 777 10; +#X obj 40 91 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 112 155 print done; +#X obj 40 155 print; +#X msg 69 92 stop; +#X obj 40 125 many_bang 5; +#X text 163 126 output 5 bangs; +#X obj 45 236 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 138 299 print done; +#X obj 45 300 print; +#X msg 74 237 stop; +#X text 168 271 output between 2 and 15 bangs; +#X obj 47 381 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 161 445 print done; +#X obj 47 445 print; +#X msg 76 382 stop; +#X text 174 416 output between 2 and 3 bangs \, with 500ms delay between +bangs; +#X obj 48 497 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 204 561 print done; +#X obj 48 561 print; +#X msg 77 498 stop; +#X text 231 532 50 to 1500ms delay between 10 bangs; +#X text 288 6 many_bang; +#X obj 47 415 many_bang 2 3 500; +#X obj 48 531 many_bang 10 10 50 1500; +#X obj 45 271 many_bang 2 15; +#X connect 0 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 1 0; +#X connect 6 0 24 0; +#X connect 9 0 24 0; +#X connect 11 0 22 0; +#X connect 14 0 22 0; +#X connect 16 0 23 0; +#X connect 19 0 23 0; +#X connect 22 0 13 0; +#X connect 22 1 12 0; +#X connect 23 0 18 0; +#X connect 23 1 17 0; +#X connect 24 0 8 0; +#X connect 24 1 7 0; diff --git a/many_bang.pd b/many_bang.pd new file mode 100644 index 0000000..d2bf173 --- /dev/null +++ b/many_bang.pd @@ -0,0 +1,100 @@ +#N canvas 444 320 434 452 10; +#X obj 149 208 moses \$1; +#X obj 149 136 f; +#X obj 149 163 + 1; +#X obj 162 290 delay \$3; +#X obj 149 383 outlet; +#X obj 200 383 outlet; +#X obj 84 20 inlet; +#X obj 149 75 t b b; +#X msg 149 97 0; +#X obj 200 323 t b b; +#X obj 149 233 t b f b; +#X obj 200 155 i; +#X obj 200 127 + 0.5; +#X obj 84 45 route stop; +#X msg 84 74 stop; +#N canvas 0 0 450 300 between 0; +#X obj 61 29 inlet; +#X obj 211 31 inlet; +#X obj 350 33 inlet; +#X obj 195 172 \$1; +#X obj 225 352 / 100000; +#X obj 225 281 i; +#X obj 195 380 +; +#X obj 195 206 t f f; +#X obj 195 410 outlet; +#X obj 225 230 - \$2; +#X obj 225 304 t b f; +#X obj 225 328 random 0; +#X obj 225 256 * -100000; +#X obj 61 67 t b; +#X connect 0 0 13 0; +#X connect 1 0 3 1; +#X connect 2 0 9 1; +#X connect 3 0 7 0; +#X connect 4 0 6 1; +#X connect 5 0 10 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 7 1 9 0; +#X connect 9 0 12 0; +#X connect 10 0 11 0; +#X connect 10 1 11 1; +#X connect 11 0 4 0; +#X connect 12 0 5 0; +#X connect 13 0 3 0; +#X restore 199 104 pd between; +#N canvas 0 0 478 635 between 0; +#X obj 61 29 inlet; +#X obj 211 31 inlet; +#X obj 350 33 inlet; +#X obj 225 352 / 100000; +#X obj 225 281 i; +#X obj 195 380 +; +#X obj 195 206 t f f; +#X obj 195 410 outlet; +#X obj 225 304 t b f; +#X obj 225 328 random 0; +#X obj 225 256 * -100000; +#X obj 61 67 t b; +#X obj 225 230 - \$4; +#X obj 195 172 \$3; +#X connect 0 0 11 0; +#X connect 1 0 13 1; +#X connect 2 0 12 1; +#X connect 3 0 5 1; +#X connect 4 0 8 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 6 1 12 0; +#X connect 8 0 9 0; +#X connect 8 1 9 1; +#X connect 9 0 3 0; +#X connect 10 0 4 0; +#X connect 11 0 13 0; +#X connect 12 0 10 0; +#X connect 13 0 6 0; +#X restore 213 262 pd between; +#X connect 0 0 10 0; +#X connect 0 1 9 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 1 0; +#X connect 6 0 13 0; +#X connect 7 0 8 0; +#X connect 7 1 15 0; +#X connect 8 0 1 0; +#X connect 9 0 5 0; +#X connect 9 1 4 0; +#X connect 10 0 3 0; +#X connect 10 0 4 0; +#X connect 10 1 1 1; +#X connect 10 2 16 0; +#X connect 11 0 0 1; +#X connect 12 0 11 0; +#X connect 13 0 14 0; +#X connect 13 1 7 0; +#X connect 14 0 3 0; +#X connect 15 0 12 0; +#X connect 16 0 3 1; diff --git a/oscillo-help.pd b/oscillo-help.pd new file mode 100644 index 0000000..56373ce --- /dev/null +++ b/oscillo-help.pd @@ -0,0 +1,9 @@ +#N canvas 270 93 242 288 10; +#X obj 23 174 oscillo; +#X obj 24 142 osc~ 220; +#X msg 23 81 \; pd dsp 1 \;; +#X floatatom 24 120 5 0 0 0 - - -; +#X text 103 16 Oscilloscope; +#X text 74 42 just to see the audio; +#X connect 1 0 0 0; +#X connect 3 0 1 0; diff --git a/oscillo.pd b/oscillo.pd new file mode 100755 index 0000000..f01e2e3 --- /dev/null +++ b/oscillo.pd @@ -0,0 +1,21 @@ +#N canvas 346 400 145 78 10; +#N canvas 0 0 454 304 graph57 0; +#X array \$0-osc 400 float 0; +#X coords 0 1 399 -1 100 80 1; +#X restore 46 0 graph; +#X obj 11 1 loadbang; +#X obj 62 41 metro 100; +#X obj 9 41 inlet~; +#X msg 10 19 1; +#X obj 7 61 tgl 20 0 empty empty Stop 0 -6 0 8 -258699 -1 -1 1 1; +#X obj 47 1 cnv 15 100 80 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 103 2 inlet; +#X obj 8 59 tabwrite~ \$0-osc; +#X connect 1 0 4 0; +#X connect 2 0 8 0; +#X connect 3 0 8 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 7 0 2 1; +#X coords 0 0 1 1 150 80 1; diff --git a/rnd_metro-help.pd b/rnd_metro-help.pd new file mode 100644 index 0000000..0d40928 --- /dev/null +++ b/rnd_metro-help.pd @@ -0,0 +1,15 @@ +#N canvas 398 162 633 352 10; +#X obj 27 112 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 27 178 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 27 146 rnd_metro 100 2000; +#X text 163 9 metronome with random delay between bang; +#X text 162 197 2 : maximum time between 2 bang; +#X text 127 175 args 1 : minimum time between 2 bang; +#X floatatom 87 123 5 0 0 0 - - -; +#X floatatom 148 123 5 0 0 0 - - -; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 6 0 2 1; +#X connect 7 0 2 2; diff --git a/rnd_metro.pd b/rnd_metro.pd new file mode 100644 index 0000000..d16905a --- /dev/null +++ b/rnd_metro.pd @@ -0,0 +1,53 @@ +#N canvas 0 0 450 300 10; +#X obj 125 10 inlet; +#X obj 104 177 spigot 0; +#X obj 97 57 sel 1; +#X obj 125 34 t f f; +#X obj 95 146 delay; +#X obj 238 14 inlet; +#X obj 297 14 inlet; +#X obj 95 85 t b b b; +#X obj 139 263 outlet; +#N canvas 0 0 450 300 between 0; +#X obj 61 29 inlet; +#X obj 211 31 inlet; +#X obj 350 33 inlet; +#X obj 195 172 \$1; +#X obj 225 352 / 100000; +#X obj 225 281 i; +#X obj 195 380 +; +#X obj 195 206 t f f; +#X obj 195 410 outlet; +#X obj 225 230 - \$2; +#X obj 225 304 t b f; +#X obj 225 328 random 0; +#X obj 225 256 * -100000; +#X obj 61 67 t b; +#X connect 0 0 13 0; +#X connect 1 0 3 1; +#X connect 2 0 9 1; +#X connect 3 0 7 0; +#X connect 4 0 6 1; +#X connect 5 0 10 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 7 1 9 0; +#X connect 9 0 12 0; +#X connect 10 0 11 0; +#X connect 10 1 11 1; +#X connect 11 0 4 0; +#X connect 12 0 5 0; +#X connect 13 0 3 0; +#X restore 117 113 pd between \$1 \$2; +#X connect 0 0 3 0; +#X connect 1 0 7 0; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 3 1 1 1; +#X connect 4 0 1 0; +#X connect 5 0 9 1; +#X connect 6 0 9 2; +#X connect 7 0 4 0; +#X connect 7 1 9 0; +#X connect 7 2 8 0; +#X connect 9 0 4 1; |