#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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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 ; #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;