#N canvas 0 0 1010 716 12; #X obj 144 498 hip~ 5; #X obj 15 411 phasor~ 0; #X obj 142 473 *~; #N canvas 190 113 696 521 envelope 0; #X obj 97 82 -~ 0.5; #X obj 100 331 clip~ -0.5 0.5; #X obj 100 305 *~ 1; #X obj 152 272 moses 1; #X msg 115 272 1; #X obj 100 361 cos~; #X obj 97 112 wrap~; #X obj 97 146 -~ 0.5; #X obj 100 419 *~ -0.5; #X obj 100 389 -~ 1; #X floatatom 152 234 0 0 0 0 - - -; #X text 162 78 subtracting 0.5 and wrapping produces a sawtooth wave 180 degrees out of phase from the original.; #X text 156 139 as before we subtract 1/2 again to center the sawtooth from -1/2 to 1/2.; #X text 212 234 <-- sharpness (at least 1); #X obj 97 50 inlet~; #X obj 100 455 outlet~; #X obj 152 208 inlet; #X connect 0 0 6 0; #X connect 1 0 5 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 3 1 2 1; #X connect 4 0 2 1; #X connect 5 0 9 0; #X connect 6 0 7 0; #X connect 7 0 2 0; #X connect 8 0 15 0; #X connect 9 0 8 0; #X connect 10 0 3 0; #X connect 14 0 0 0; #X connect 16 0 10 0; #X restore 15 441 pd envelope; #X obj 274 284 * 441; #X obj 892 559 metro 20; #X obj 980 491 / 1; #X text 752 334 build from sampler.scratch.pd example; #X obj 137 866 outlet~; #X obj 869 533 loadbang; #X obj 74 57 inlet; #X obj 324 39 inlet; #X obj 627 39 inlet; #X text 622 21 accepts "set arrayname"; #X obj 472 38 inlet; #X obj 35 32 inlet; #X obj 15 133 + 0; #X text 30 11 min freq; #X obj 992 519 random01; #X obj 15 107 random 5; #X text 85 38 freq delta; #X obj 181 39 inlet; #X text 181 9 chance (%); #X text 179 21 to sound; #X text 751 206 on each iteration it has chance [3] % chance to play ; #X text 750 243 [5] = read point (100th of a sec) in orig sample; #X obj 167 527 *~; #X obj 992 543 pack f 40; #X obj 992 570 line; #X obj 549 822 s \$0-acceptchanges; #X obj 58 131 r \$0-acceptchanges; #X obj 15 157 spigot; #X msg 535 783 1; #X msg 602 783 0; #X obj 535 757 moses 0.1; #X obj 521 37 inlet; #X obj 892 585 s \$0-updt; #X obj 15 82 r \$0-updt; #X obj 454 63 r \$0-updt; #X obj 454 114 +; #X obj 454 89 random 10; #X text 751 276 [7] messages to tabread - needs to be initialised! ; #X text 752 177 patch runs at speed between min freq [1] and (min freq + delta[2]); #X text 749 228 [4] = envelope sharpness - default 1; #X text 750 258 [6] = max rnd deviation ABOVE read point; #N canvas 0 0 450 300 graph1 0; #X array \$0-sample-table 100 float 0; #X coords 0 1 99 -1 90 60 1; #X restore 952 28 graph; #X obj 172 591 moses 20; #X obj 95 791 *~; #X obj 188 792 *~; #X msg 128 618 1; #X obj 115 647 pack f 500; #X obj 208 647 pack f 500; #X msg 164 617 0; #X msg 223 617 0; #X msg 254 616 1; #X obj 172 567 r inputfreq; #X text 752 297 if inputfreq is received \, and it's higher than 20 \, it is used s center freq for a bp~; #X obj 208 673 line; #X obj 115 671 line~; #X text 323 4 envelope; #X text 323 19 sharpness; #X obj 181 65 s \$0-chance2sound; #X obj 324 64 s \$0-env_sharp; #X obj 98 414 r \$0-env_sharp; #X msg 838 585 1; #X obj 847 612 s \$0-env_sharp; #X obj 1051 493 r \$0-chance2sound; #X obj 15 202 s \$0-frequency; #X obj 964 417 r \$0-frequency; #X obj 15 381 r \$0-frequency; #X obj 964 442 t b f; #X msg 964 467 1000; #X obj 627 66 s \$0-source_array; #X obj 264 413 r \$0-source_array; #X text 471 3 read; #X text 472 15 point; #X text 520 16 deviation; #X obj 454 138 s \$0-readpoint; #X obj 274 259 r \$0-readpoint; #X obj 199 498 r \$0dly_ramp; #X obj 992 595 s \$0dly_ramp; #X obj 535 730 r \$0dly_ramp; #X obj 305 580 r inputfreq; #X obj 838 636 s \$0-inputfreq; #X text 955 640 (means off); #X text 266 535 if inputfreq is > 20 we use it as filter centre \, otherwise we do not filter - crossfade on change; #X text 448 692 for spigots to allow certain params only to be changed when sound is off; #X obj 239 235 r \$0-updt; #X obj 239 310 float; #X obj 298 330 expr $f1 +(44100 / $f2); #X obj 371 290 r \$0-frequency; #X obj 371 314 bng 8 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 239 439 tabplay~ \$0-sample-table; #X msg 239 384 \$1 \$2; #X obj 239 358 pack f f; #X obj 225 792 line; #X obj 304 690 + 1; #X obj 305 664 float; #X obj 397 640 metro 100; #X obj 342 698 * 40; #X obj 305 712 / 41; #X obj 305 641 pow 2; #X obj 305 735 sqrt; #X obj 398 579 loadbang; #X msg 225 768 \$1 90; #X obj 188 818 bp~ 200 1; #X obj 304 612 moses 1500; #X obj 497 477 delread~ test 1; #X obj 441 406 select delayline; #X obj 436 475 *~; #X msg 455 445 1; #X msg 500 447 0; #X obj 566 343 unpack s s; #X obj 689 453 random 1000; #X obj 691 425 loadbang; #X obj 16 179 moses 30; #X connect 0 0 26 0; #X connect 1 0 3 0; #X connect 2 0 0 0; #X connect 3 0 2 0; #X connect 4 0 88 1; #X connect 4 0 89 0; #X connect 5 0 36 0; #X connect 6 0 5 1; #X connect 6 0 18 0; #X connect 9 0 5 0; #X connect 9 0 64 0; #X connect 10 0 19 1; #X connect 11 0 62 0; #X connect 12 0 72 0; #X connect 14 0 39 1; #X connect 15 0 16 1; #X connect 16 0 31 0; #X connect 18 0 27 0; #X connect 19 0 16 0; #X connect 21 0 61 0; #X connect 26 0 47 0; #X connect 26 0 48 0; #X connect 27 0 28 0; #X connect 28 0 80 0; #X connect 30 0 31 1; #X connect 31 0 115 0; #X connect 32 0 29 0; #X connect 33 0 29 0; #X connect 34 0 32 0; #X connect 34 1 33 0; #X connect 35 0 40 1; #X connect 37 0 19 0; #X connect 38 0 40 0; #X connect 39 0 77 0; #X connect 40 0 39 0; #X connect 46 0 49 0; #X connect 46 0 52 0; #X connect 46 1 53 0; #X connect 46 1 54 0; #X connect 47 0 8 0; #X connect 48 0 105 0; #X connect 49 0 50 0; #X connect 50 0 58 0; #X connect 51 0 57 0; #X connect 52 0 51 0; #X connect 53 0 50 0; #X connect 54 0 51 0; #X connect 55 0 46 0; #X connect 57 0 48 1; #X connect 58 0 47 1; #X connect 63 0 3 1; #X connect 64 0 65 0; #X connect 64 0 83 0; #X connect 66 0 18 1; #X connect 68 0 70 0; #X connect 69 0 1 0; #X connect 70 0 71 0; #X connect 70 1 6 1; #X connect 71 0 6 0; #X connect 73 0 92 0; #X connect 73 0 112 0; #X connect 78 0 4 0; #X connect 79 0 26 1; #X connect 81 0 34 0; #X connect 82 0 106 0; #X connect 87 0 88 0; #X connect 88 0 94 0; #X connect 89 0 94 1; #X connect 90 0 91 0; #X connect 90 0 89 1; #X connect 91 0 89 0; #X connect 92 0 2 1; #X connect 93 0 92 0; #X connect 94 0 93 0; #X connect 95 0 105 1; #X connect 96 0 100 0; #X connect 97 0 96 0; #X connect 98 0 97 0; #X connect 99 0 96 1; #X connect 100 0 99 0; #X connect 100 0 102 0; #X connect 101 0 97 0; #X connect 102 0 104 0; #X connect 103 0 98 0; #X connect 104 0 95 0; #X connect 105 0 8 0; #X connect 106 0 101 0; #X connect 107 0 109 0; #X connect 108 0 110 0; #X connect 108 1 111 0; #X connect 109 0 2 1; #X connect 110 0 109 1; #X connect 111 0 109 0; #X connect 112 1 108 0; #X connect 113 0 107 0; #X connect 114 0 113 0; #X connect 115 0 67 0;