#N canvas 245 23 990 751 12; #X obj 359 209 hradio 12 1 0 5 \$0-env-type \$0-env-typer type -22 7 1 11 #fcfcfc #000000 #000000 0; #X obj 325 181 hsl 92 13 0 1 0 0 \$0-env-bias \$0-env-biasr Bias 4 6 1 10 #fcfcfc #000000 #000000 0 1; #X obj 325 195 hsl 92 13 0 1 0 0 \$0-env-shape \$0-env-shaper Shape 4 6 1 10 #fcfcfc #000000 #000000 0 1; #N canvas 0 265 1440 492 (subpatch) 0; #X array array98 256 float 1; #A 0 0 0.0027969 0.0079246 0.0145687 0.0224331 0.0313437 0.0411791 0.0518475 0.0632751 0.0754 0.0881685 0.101533 0.115451 0.129882 0.144791 0.160142 0.175902 0.192042 0.20853 0.225337 0.242436 0.2598 0.277401 0.295213 0.313212 0.331372 0.349668 0.368076 0.386573 0.405134 0.423737 0.442359 0.460977 0.47957 0.498114 0.516589 0.534974 0.553247 0.571388 0.589376 0.607192 0.624816 0.642229 0.659411 0.676344 0.69301 0.709391 0.72547 0.741229 0.756652 0.771723 0.786426 0.800745 0.814667 0.828175 0.841257 0.853899 0.866087 0.87781 0.889055 0.899811 0.910066 0.919811 0.929036 0.937731 0.945887 0.953496 0.96055 0.967043 0.972967 0.978317 0.983087 0.987273 0.99087 0.993875 0.996284 0.998096 0.999308 0.99992 0.999986 0.999869 0.999633 0.999278 0.998804 0.998211 0.997499 0.996669 0.995721 0.994654 0.993469 0.992167 0.990747 0.989209 0.987555 0.985785 0.983898 0.981895 0.979777 0.977543 0.975195 0.972733 0.970158 0.967469 0.964667 0.961754 0.958729 0.955594 0.952348 0.948992 0.945528 0.941956 0.938276 0.934489 0.930596 0.926598 0.922496 0.91829 0.913982 0.909571 0.90506 0.900448 0.895738 0.890929 0.886023 0.88102 0.875923 0.870731 0.865447 0.86007 0.854602 0.849045 0.843398 0.837664 0.831844 0.825938 0.819949 0.813877 0.807723 0.801489 0.795176 0.788785 0.782318 0.775775 0.76916 0.762471 0.755712 0.748883 0.741987 0.735023 0.727995 0.720902 0.713747 0.706532 0.699257 0.691925 0.684536 0.677093 0.669596 0.662048 0.654451 0.646805 0.639113 0.631375 0.623595 0.615773 0.607911 0.60001 0.592074 0.584102 0.576098 0.568062 0.559997 0.551904 0.543786 0.535643 0.527478 0.519293 0.511089 0.502868 0.494633 0.486384 0.478125 0.469857 0.461581 0.4533 0.445016 0.43673 0.428445 0.420163 0.411885 0.403614 0.395351 0.387099 0.37886 0.370635 0.362427 0.354239 0.346071 0.337926 0.329807 0.321715 0.313652 0.305622 0.297625 0.289664 0.281742 0.27386 0.266022 0.258228 0.250482 0.242786 0.235142 0.227553 0.22002 0.212547 0.205136 0.19779 0.19051 0.1833 0.176162 0.169098 0.162113 0.155207 0.148385 0.141649 0.135002 0.128446 0.121986 0.115624 0.109363 0.103208 0.0971608 0.0912259 0.0854067 0.0797076 0.0741322 0.0686853 0.0633713 0.0581951 0.0531618 0.0482772 0.0435472 0.038978 0.0345774 0.0303527 0.0263127 0.0224676 0.018829 0.0154098 0.0122264 0.00929798 0.00665 0.00431628 0.00234682 0.000828496 0.379395; #X coords 0 1 255 0 160 60 2 0 0; #X restore 161 179 graph; #N canvas 722 50 661 699 hann 0; #X obj 102 334 until; #X obj 102 355 f; #X obj 129 361 + 1; #X msg 167 330 0; #X obj 154 205 t b b; #X obj 103 382 t f f; #X obj 99 499 expr -cos($f1*3.14159)*.5+.5; #X obj 322 526 expr -cos($f1*3.14159)*.5+.5; #X obj 322 551 * -1; #X obj 323 573 + 1; #X obj 181 421 moses; #X obj 169 612 pow 1; #X obj 445 120 exp; #X obj 445 8 inlet shape; #X obj 444 77 / 100; #X obj 291 8 inlet x; #X obj 101 468 /; #X obj 102 292 f 1024; #X obj 444 143 t b f; #X obj 290 135 t b f; #X floatatom 321 298 5 0 0 0 - - - 0; #X obj 322 497 expr ($f1-$f2)/(256-$f2-1); #X obj 207 658 tabwrite array98; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 5 0; #X connect 2 0 1 1; #X connect 3 0 1 1; #X connect 4 0 17 0; #X connect 4 1 3 0; #X connect 5 0 10 0; #X connect 5 1 22 1; #X connect 6 0 11 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 9 0 11 0; #X connect 10 0 16 0; #X connect 10 1 21 0; #X connect 11 0 22 0; #X connect 12 0 18 0; #X connect 13 0 14 0; #X connect 14 0 12 0; #X connect 15 0 19 0; #X connect 16 0 6 0; #X connect 17 0 0 0; #X connect 18 0 4 0; #X connect 18 1 11 1; #X connect 19 0 4 0; #X connect 19 1 10 1; #X connect 19 1 16 1; #X connect 19 1 21 1; #X connect 20 0 17 1; #X connect 21 0 7 0; #X restore -83 429 pd hann; #N canvas 170 523 631 726 trapez 0; #X obj 43 374 until; #X obj 43 395 f; #X obj 70 401 + 1; #X msg 161 344 0; #X obj 120 480 moses; #X obj 134 280 t b b; #X obj 119 439 t f f; #X obj 118 608 clip 0 1; #X obj 120 583 *; #X obj 238 12 inlet x; #X obj 435 15 inlet shape; #X obj 435 82 / 100; #X obj 435 107 + 1; #X obj 435 173 max 1; #X obj 43 347 f 1024; #X obj 435 195 t b f; #X obj 238 164 t b f f f; #X obj 120 531 / 1024; #X obj 435 58 + 200; #X obj 435 151 -; #X msg 435 129 6 \$1; #X floatatom 321 298 5 0 0 0 - - - 0; #X obj 272 345; #X obj 261 374 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 92 271 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 213 505 expr -($f1-$f2)/(256-$f2-1)+1; #X obj 148 640 tabwrite array98; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 6 0; #X connect 2 0 1 1; #X connect 3 0 1 1; #X connect 4 0 17 0; #X connect 4 1 25 0; #X connect 5 0 14 0; #X connect 5 0 24 0; #X connect 5 1 3 0; #X connect 6 0 4 0; #X connect 6 1 26 1; #X connect 7 0 26 0; #X connect 8 0 7 0; #X connect 9 0 16 0; #X connect 10 0 18 0; #X connect 11 0 12 0; #X connect 12 0 20 0; #X connect 13 0 15 0; #X connect 14 0 0 0; #X connect 15 0 5 0; #X connect 15 1 8 1; #X connect 16 0 5 0; #X connect 16 1 4 1; #X connect 16 2 17 1; #X connect 16 3 25 1; #X connect 17 0 8 0; #X connect 18 0 11 0; #X connect 19 0 13 0; #X connect 20 0 19 0; #X connect 21 0 14 1; #X connect 25 0 8 0; #X restore 126 427 pd trapez; #X obj -110 67 f; #X obj 6 9 t b f; #X obj 166 6 t b f; #N canvas 222 179 680 699 curved2 0; #X obj 64 415 until; #X obj 64 436 f; #X obj 91 442 + 1; #X msg 139 412 0; #X obj 113 328 t b b; #X obj 63 472 t f f; #X obj 53 586 expr if($f2<=0 \, -pow((1-$f1) \, (-$f2+1))+1 \, pow($f1 \, $f2+1)); #X obj 127 631 expr if($f2<=0 \, -pow((1-$f1) \, (-$f2+1))+1 \, pow($f1 \, $f2+1)); #X obj 128 654 * -1; #X obj 129 676 + 1; #X obj 63 509 moses; #X obj 576 171 exp; #X obj 478 86 moses 0; #X obj 478 168 * -1; #X obj 479 209 exp; #X obj 480 230 * -1; #X obj 478 123 + 1; #X obj 478 146 moses -1; #X obj 479 190 - 1; #X obj 479 62 - 1; #X obj 63 551 /; #X obj 302 21 inlet x; #X obj 479 18 inlet shape; #X obj 479 38 / 100; #X obj 493 265 t b b f f; #X obj 478 608 * -1; #X obj 64 381 f 1024; #X obj 189 546 expr ($f1-$f2)/(1024-$f2-1); #X obj 302 211 t b f f f; #X obj 141 729 tabwrite array98; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 5 0; #X connect 2 0 1 1; #X connect 3 0 1 1; #X connect 4 0 26 0; #X connect 4 1 3 0; #X connect 5 0 10 0; #X connect 5 1 29 1; #X connect 6 0 29 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 9 0 29 0; #X connect 10 0 20 0; #X connect 10 1 27 0; #X connect 11 0 24 0; #X connect 12 0 16 0; #X connect 12 1 11 0; #X connect 13 0 18 0; #X connect 14 0 15 0; #X connect 15 0 24 0; #X connect 16 0 17 0; #X connect 17 0 13 0; #X connect 17 1 24 0; #X connect 18 0 14 0; #X connect 19 0 12 0; #X connect 20 0 6 0; #X connect 21 0 28 0; #X connect 22 0 23 0; #X connect 23 0 19 0; #X connect 24 0 4 0; #X connect 24 2 6 1; #X connect 24 3 25 0; #X connect 25 0 7 1; #X connect 26 0 0 0; #X connect 27 0 7 0; #X connect 28 0 4 0; #X connect 28 1 10 1; #X connect 28 2 20 1; #X connect 28 3 27 1; #X restore 49 427 pd curved2; #N canvas 633 50 680 699 curved 0; #X obj 66 424 until; #X obj 66 445 f; #X obj 93 451 + 1; #X msg 141 421 0; #X obj 115 337 t b b; #X obj 65 481 t f f; #X obj 55 595 expr if($f2<=0 \, -pow((1-$f1) \, (-$f2+1))+1 \, pow($f1 \, $f2+1)); #X obj 129 640 expr if($f2<=0 \, -pow((1-$f1) \, (-$f2+1))+1 \, pow($f1 \, $f2+1)); #X obj 130 663 * -1; #X obj 131 685 + 1; #X obj 65 518 moses; #X obj 578 180 exp; #X obj 480 95 moses 0; #X obj 480 177 * -1; #X obj 481 218 exp; #X obj 482 239 * -1; #X obj 480 132 + 1; #X obj 480 155 moses -1; #X obj 481 199 - 1; #X obj 481 71 - 1; #X obj 65 560 /; #X obj 304 30 inlet x; #X obj 481 27 inlet shape; #X obj 481 47 / 100; #X obj 495 274 t b b f f; #X obj 66 397 f 1024; #X obj 191 555 expr ($f1-$f2)/(1024-$f2-1); #X obj 304 220 t b f f f; #X obj 143 741 tabwrite array98; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 5 0; #X connect 2 0 1 1; #X connect 3 0 1 1; #X connect 4 0 25 0; #X connect 4 1 3 0; #X connect 5 0 10 0; #X connect 5 1 28 1; #X connect 6 0 28 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 9 0 28 0; #X connect 10 0 20 0; #X connect 10 1 26 0; #X connect 11 0 24 0; #X connect 12 0 16 0; #X connect 12 1 11 0; #X connect 13 0 18 0; #X connect 14 0 15 0; #X connect 15 0 24 0; #X connect 16 0 17 0; #X connect 17 0 13 0; #X connect 17 1 24 0; #X connect 18 0 14 0; #X connect 19 0 12 0; #X connect 20 0 6 0; #X connect 21 0 27 0; #X connect 22 0 23 0; #X connect 23 0 19 0; #X connect 24 0 4 0; #X connect 24 2 6 1; #X connect 24 3 7 1; #X connect 25 0 0 0; #X connect 26 0 7 0; #X connect 27 0 4 0; #X connect 27 1 10 1; #X connect 27 2 20 1; #X connect 27 3 26 1; #X restore -22 427 pd curved; #X obj -46 301 pack 0 512; #X obj 78 301 pack 0 0; #X obj -111 92 t f f; #N canvas 227 104 947 699 complex 0; #X obj 190 316 until; #X obj 190 337 f; #X obj 217 343 + 1; #X msg 265 302 0; #X obj 211 240 t b b; #X obj 460 630 expr -cos($f1*3.14159)*.5+.5; #X obj 282 512 moses; #X obj 235 741 pow 1; #X obj 680 199 t b f; #X obj 254 674 expr -cos($f1*3.14159)*.5+.5; #X obj 324 774 *; #X obj 460 653 * -1; #X obj 461 675 + 1; #X obj 190 612 expr -cos($f1*18.8496)*.5+.5; #X obj 679 36 inlet vsl; #X obj 399 28 inlet hsl; #X obj 399 143 t b f f f; #X obj 190 482 t float float; #X obj 190 367 t float float; #X obj 189 291 f 1024; #X obj 190 588 / 1024; #X obj 254 651 / 512; #X obj 680 71 + 200; #X obj 680 93 / 400; #X obj 680 137 + 0.2; #X obj 680 115 * 2.5; #X obj 460 602 expr ($f1-$f2)/(256-$f2-1); #X obj 324 797 tabwrite array98; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 18 0; #X connect 2 0 1 1; #X connect 3 0 1 1; #X connect 4 0 19 0; #X connect 4 1 3 0; #X connect 5 0 11 0; #X connect 6 0 21 0; #X connect 6 1 26 0; #X connect 7 0 10 0; #X connect 8 0 4 0; #X connect 8 1 7 1; #X connect 9 0 10 1; #X connect 10 0 27 0; #X connect 11 0 12 0; #X connect 12 0 10 1; #X connect 13 0 7 0; #X connect 14 0 22 0; #X connect 15 0 16 0; #X connect 16 0 4 0; #X connect 16 1 6 1; #X connect 16 2 21 1; #X connect 16 3 26 1; #X connect 17 0 20 0; #X connect 17 1 6 0; #X connect 18 0 17 0; #X connect 18 1 27 1; #X connect 19 0 0 0; #X connect 20 0 13 0; #X connect 21 0 9 0; #X connect 22 0 23 0; #X connect 23 0 25 0; #X connect 24 0 8 0; #X connect 25 0 24 0; #X connect 26 0 5 0; #X restore 203 427 pd complex; #X obj -46 327 route 0 1 2 3 4; #X obj 76 326 route 0 1 2 3 4; #X obj 6 -58 r \$0-env-bias; #X obj 166 -64 r \$0-env-shape; #X text -92 446 well \, i think some of the math in this subpatches is redundant; #X obj 166 -40 * 400; #X obj 166 -18 - 200; #X obj 6 -37 * 974; #X obj 6 -15 + 25; #X obj -110 -48 r \$0-env-type; #X floatatom 165 -99 5 0 0 0 - - - 0; #X floatatom 13 -93 5 0 0 0 - - - 0; #X floatatom -105 -89 5 0 0 0 - - - 0; #X obj -360 5 soundfiler; #X floatatom -360 30 22 0 0 0 - - - 0; #X obj -405 178 *~; #X obj -460 146 phasor~; #X text -335 -137 load sound file; #X obj -354 -136 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj -354 -114 openpanel; #X obj -376 431 phasor~; #X obj -463 -84 t b f; #X obj -459 105 * 1; #X obj -374 514 tabread~ array98; #X obj -407 210 tabread4~ array17; #X msg -352 -20 read -resize \$1 array17; #X obj -351 62 expr 44100 / $f1; #X floatatom -459 -110 5 0 0 0 - - - 0; #X floatatom -374 405 9 0 0 0 - - - 0; #X obj -412 513 *~; #X obj -375 484 *~ 256; #X text -475 -133 playback speed; #X obj -406 587 dac~; #X obj -408 554 *~ 0.6; #X obj -374 380 expr (1/$f1)*1000; #X floatatom -372 354 9 0 0 0 - - - 0; #X text -245 376 time to freq; #X obj -311 493 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj -312 466 threshold~ 0.9 0 1 0; #X obj -275 129 f; #X floatatom -255 104 5 0 0 0 - - - 0; #N canvas 0 0 450 300 (subpatch) 0; #X array array17 44555 float 2; #X coords 0 1 44555 -1 319 75 2 0 0; #X restore 152 83 graph; #X obj 156 83 hsl 314 75 0 1 0 0 empty empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1; #X obj -77 176 snapshot~; #X floatatom -78 207 5 0 0 0 - - - 0; #X msg -293 420 0; #X text -289 86 choose a position; #X obj -516 256 loadbang; #X msg -517 285 1, f 12; #X msg -517 312 0.5, f 12; #X msg -513 365 250, f 12; #X text -400 314 load a position every X milliseconde; #X text -402 332 read array 17 envelope every X milliseconde; #X connect 6 0 13 0; #X connect 7 0 6 0; #X connect 7 1 11 1; #X connect 8 0 6 0; #X connect 8 1 12 1; #X connect 11 0 15 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 13 1 12 0; #X connect 15 0 4 0; #X connect 15 1 10 0; #X connect 15 2 9 0; #X connect 15 3 5 0; #X connect 15 4 14 0; #X connect 16 0 4 1; #X connect 16 1 10 1; #X connect 16 2 9 1; #X connect 16 3 5 1; #X connect 16 4 14 1; #X connect 17 0 22 0; #X connect 18 0 20 0; #X connect 20 0 21 0; #X connect 21 0 8 0; #X connect 22 0 23 0; #X connect 23 0 7 0; #X connect 24 0 6 0; #X connect 25 0 20 0; #X connect 26 0 22 0; #X connect 27 0 6 0; #X connect 28 0 29 0; #X connect 29 0 41 0; #X connect 29 0 30 1; #X connect 30 0 39 0; #X connect 31 0 30 0; #X connect 31 0 58 0; #X connect 33 0 34 0; #X connect 34 0 40 0; #X connect 35 0 45 0; #X connect 35 0 53 0; #X connect 36 0 37 0; #X connect 36 1 37 1; #X connect 37 0 31 0; #X connect 38 0 44 1; #X connect 39 0 44 0; #X connect 40 0 28 0; #X connect 41 0 37 0; #X connect 42 0 36 0; #X connect 43 0 35 0; #X connect 44 0 48 0; #X connect 45 0 38 0; #X connect 48 0 47 0; #X connect 48 0 47 1; #X connect 49 0 43 0; #X connect 50 0 49 0; #X connect 52 0 54 0; #X connect 52 0 58 0; #X connect 52 0 60 0; #X connect 53 0 52 0; #X connect 54 0 31 1; #X connect 55 0 54 1; #X connect 58 0 59 0; #X connect 59 0 57 0; #X connect 60 0 35 1; #X connect 62 0 63 0; #X connect 62 0 64 0; #X connect 62 0 65 0; #X connect 63 0 42 0; #X connect 64 0 55 0; #X connect 65 0 50 0;