#N canvas 26 0 1264 908 12; #X obj 98 678 hip~ 5; #X floatatom 142 197 0 0 0 0 - - -; #X text 158 213 <-- frequency (Hz.); #X floatatom 171 370 0 0 0 0 - - -; #X obj 171 399 * 441; #X obj 117 370 *~ 0; #X obj 117 399 +~ 1; #X obj 116 249 phasor~ 0; #X text 218 369 <-- chunk size (100ths of a second); #X obj 98 649 *~; #N canvas 190 113 694 519 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 97 282 pd envelope; #X text 245 261 <-- envelope sharpness; #X obj 135 563 line~; #X obj 139 484 * 441; #X obj 117 589 +~; #X obj 193 343 / 1; #X msg 181 310 100; #X obj 28 28 metro 20; #X obj 138 51 / 1; #X msg 133 27 1; #X obj 91 1 * 1000; #X text 585 324 build from sampler.scratch.pd example; #X obj 117 619 tabread4~ \$0-sample-table; #X obj 97 823 outlet~; #X obj 17 -1 loadbang; #X obj 292 -10 inlet; #X obj 490 -7 inlet; #X obj 652 -2 inlet; #X text 645 24 accepts "set arrayname"; #X obj 559 -3 inlet; #X obj 205 -10 inlet; #X obj 161 137 + 0; #X text 193 15 min freq; #X obj 196 655 random01; #X obj 160 111 random 5; #X text 283 15 freq delta; #X obj 405 -9 inlet; #X msg 208 268 1; #X text 387 18 chance (%); #X text 388 31 to sound; #X text 587 155 patch runs at speed between min freq [1] and min (freq + delta[2]); #X text 584 186 on each iteration it has chance [3] % chance to play ; #X text 581 215 [4] = envelope sharpness - default 1omment; #X text 582 231 [5] = read point (100th of a sec) in orig sample; #X text 605 256 (we shld replace this by bounds for rnd); #X text 581 278 [6] messages to tabread - needs to be initialised! ; #X text 187 485 <-- read point; #X obj 34 168 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 190 747 5 0 0 0 - - -; #X obj 133 780 *~; #X obj 154 457 + 1; #X msg 64 426 0; #X floatatom 57 509 5 0 0 0 - - -; #X obj 200 686 pack f 40; #X obj 9 93 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1 ; #X obj 182 710 line; #X obj 476 716 - 1; #X obj 477 741 *; #X obj 274 822 s \$0-acceptchanges; #X obj 201 140 r \$0-acceptchanges; #X obj 185 174 spigot; #X obj 194 507 r \$0-acceptchanges; #X obj 169 534 spigot; #X text 512 740 for spigots to allow certain params only to be changed when sound is off; #X msg 254 779 1; #X msg 323 775 0; #X obj 261 745 moses 0.1; #X connect 0 0 49 0; #X connect 1 0 7 0; #X connect 1 0 15 1; #X connect 1 0 16 0; #X connect 1 0 18 1; #X connect 1 0 19 0; #X connect 3 0 4 0; #X connect 4 0 5 1; #X connect 5 0 6 0; #X connect 6 0 14 0; #X connect 7 0 5 0; #X connect 7 0 10 0; #X connect 9 0 0 0; #X connect 10 0 9 0; #X connect 12 0 14 1; #X connect 13 0 62 0; #X connect 14 0 22 0; #X connect 15 0 3 0; #X connect 16 0 15 0; #X connect 17 0 47 0; #X connect 17 0 34 0; #X connect 17 0 51 0; #X connect 18 0 20 0; #X connect 19 0 18 0; #X connect 20 0 17 1; #X connect 20 0 33 0; #X connect 22 0 9 1; #X connect 24 0 17 0; #X connect 24 0 37 0; #X connect 25 0 34 1; #X connect 26 0 10 1; #X connect 27 0 22 0; #X connect 29 0 50 1; #X connect 30 0 31 1; #X connect 31 0 60 0; #X connect 33 0 53 0; #X connect 34 0 31 0; #X connect 36 0 33 1; #X connect 37 0 10 1; #X connect 49 0 23 0; #X connect 50 0 13 0; #X connect 50 0 52 0; #X connect 51 0 50 0; #X connect 53 0 55 0; #X connect 54 0 17 0; #X connect 55 0 48 0; #X connect 55 0 49 1; #X connect 55 0 66 0; #X connect 56 0 57 0; #X connect 56 0 57 1; #X connect 59 0 60 1; #X connect 60 0 1 0; #X connect 61 0 62 1; #X connect 62 0 12 0; #X connect 64 0 58 0; #X connect 65 0 58 0; #X connect 66 0 64 0; #X connect 66 1 65 0;