#N canvas 54 36 1006 674 10; #X msg 639 93 \; pd dsp 0; #X floatatom 11 342 0 0 0 0 - - -; #X msg 11 109 set array99; #X text 93 109 "set" message permits you to switch between arrays; #X text 128 228 creation argument initializes array name; #X obj 41 13 tabplay~; #X text 108 14 play a table as a sample (non-transposing); #X obj 11 228 tabplay~ array99; #X obj 452 82 soundfiler; #X floatatom 452 104 0 0 0 0 - - -; #X obj 11 316 env~ 16384; #X obj 87 360 dac~ 1; #X obj 87 323 *~; #X obj 100 304 line~; #X msg 100 263 0.1 100; #X msg 116 284 0 100; #X text 162 264 on; #X text 157 283 off; #X text 148 301 envelope; #X text 148 312 generator; #X text 101 248 amplitude controls:; #X text 131 362 audio output; #X obj 87 342 hip~ 5; #X msg 26 179 0 44100; #X msg 27 158 44100; #X msg 26 138 bang; #X text 29 43 The tabplay~ object plays a sample \, or part of one \, with no transposition or interpolation. It is cheaper than tabread4~ and there are none of tabread4~'s interpolation artifacts.; #X text 509 25 click here to load table; #X text 80 136 "bang" or 0 plays whole sample; #X text 82 157 play starting at 44100th sample; #X text 93 177 play starting at beginning for 44100 samples; #X msg 25 199 44100 1000; #X text 103 198 play from 44100 through 45099 (1000 samples); #X floatatom 320 500 0 0 0 0 - - -; #X floatatom 374 501 0 0 0 0 - - -; #X floatatom 440 499 0 0 0 0 - - -; #X floatatom 266 416 0 0 0 0 - - -; #X floatatom 288 479 0 0 0 0 - - -; #X text 277 447 amplitude; #X text 296 460 (dB); #X text 166 496 raw pitch; #X floatatom 176 556 5 0 0 0 - - -; #X obj 217 526 mtof; #X obj 393 463 route 1 2; #X obj 150 615 print; #N canvas 0 0 450 300 graph1 0; #X array array99 1.84708e+006 float 0; #X coords 0 1 1.84708e+006 -1 200 140 1; #X restore 537 188 graph; #X obj 449 624 textfile; #X msg 345 575 add \$1; #X text 645 26 go to beginning; #X msg 532 355 rewind; #X text 595 354 go to beginning; #X msg 532 382 bang; #X text 595 379 output one line as a list; #X msg 532 410 clear; #X text 596 408 empty the object; #X obj 244 333 fiddle~ 2048 1 20 3; #X msg 387 230 amp-range 40 50; #X msg 383 199 vibrato 50 0.5; #X msg 390 261 npartial 7; #X msg 392 293 reattack 170 10; #X text 253 396 raw pitch; #X msg 536 525 write e:/pd/2048.txt; #X msg 501 -470 rewind; #X obj 496 -81 print done; #X text 664 -312 read a file; #X obj 404 -131 textfile; #X text 584 -469 go to beginning; #X msg 501 -443 bang; #X text 584 -444 output one line as a list; #X text 512 -233 write a file \, terminating lines only with carriage return (omitting semicolons.) You can read files this way too \, in which case carriage returns are mapped to semicolons.; #X msg 501 -415 clear; #X text 656 -414 empty the object; #X text 656 -386 add a message; #X text 440 -33 this outlet gets the lines in sequence.; #X text 527 -112 This outlet gets a bang when you hit the end of the sequence.; #X text 659 -334 clear and then add one message; #X text 653 -361 add an unterminated message; #X msg 501 -158 print; #X text 555 -155 debugging printout; #X msg 502 -185 read e:/pd/wavelist.txt cr; #X obj 442 -59 print list; #X msg 474 39 read \$1 array99 cr \; pd dsp 1 \;; #X msg 503 -309 read c:/pd/wavelist.txt; #X connect 2 0 7 0; #X connect 7 0 10 0; #X connect 7 0 12 0; #X connect 7 0 55 0; #X connect 8 0 9 0; #X connect 10 0 1 0; #X connect 12 0 22 0; #X connect 13 0 12 1; #X connect 14 0 13 0; #X connect 15 0 13 0; #X connect 22 0 11 0; #X connect 23 0 7 0; #X connect 24 0 7 0; #X connect 25 0 7 0; #X connect 31 0 7 0; #X connect 41 0 44 0; #X connect 41 0 47 0; #X connect 42 0 41 0; #X connect 43 0 33 0; #X connect 43 1 34 0; #X connect 43 2 35 0; #X connect 47 0 46 0; #X connect 49 0 46 0; #X connect 51 0 46 0; #X connect 53 0 46 0; #X connect 55 0 42 0; #X connect 55 2 36 0; #X connect 55 3 37 0; #X connect 55 4 43 0; #X connect 56 0 55 0; #X connect 57 0 55 0; #X connect 58 0 55 0; #X connect 59 0 55 0; #X connect 61 0 46 0; #X connect 62 0 65 0; #X connect 65 0 80 0; #X connect 65 0 81 0; #X connect 65 1 63 0; #X connect 67 0 65 0; #X connect 70 0 65 0; #X connect 77 0 65 0; #X connect 79 0 65 0; #X connect 81 0 8 0; #X connect 82 0 65 0;