#N canvas 433 80 448 610 10;
#X obj 22 199 hip~ 5;
#X text 81 199 high pass filter to cut DC;
#N canvas 0 0 450 300 (subpatch) 0;
#X array sample-table 44104 float 0 black black;
#X coords 0 1.02 44104 -1.02 200 130 1;
#X restore 99 243 graph;
#X obj 22 172 tabread4~ sample-table;
#X obj 22 142 line~;
#X obj 22 93 * 441;
#X floatatom 22 42 0 0 100 0 - - -;
#X obj 22 117 pack 0 100;
#X text 51 42 <-- read point in 100ths of a second;
#X text 64 93 convert to SAMPLES (441 samples in 0.01 sec);
#X text 168 164 read from the table;
#X text 169 178 (the input is the index in samples);
#X text 17 493 For more on reading and writing soundfiles to tables
\, setting their lengths \, etc \, see "arrays" in the "control examples"
series.;
#X text 17 533 Fanatics take note: if you want really high-fidelity
sampling \, use a high-quality resampling program to up-sample your
soundfile to 88200 to drastically reduce interpolation error.;
#X text 65 142 convert smoothly to audio signal;
#X text 63 56 (range is 0-100.) YOU ONLY HEAR OUTPUT;
#X text 64 72 WHEN THIS IS 0-100 AND ACTIVELY CHANGING.;
#X obj 21 231 output~;
#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header scratch_machine
20 10 1 18 -261139 -33289 0;
#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
;
#N canvas 0 0 450 300 init 0;
#X obj 35 30 loadbang;
#X text 33 99 message to read a soundfile into the table (automatically
sent when you load this patch by the "loadbang" object.);
#X msg 35 54 read ../sound/voice.wav sample-table;
#X obj 35 78 soundfiler;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X restore 313 355 pd init;
#X text 101 373 -------- 44103 samples --------;
#X text 310 307 three extra for;
#X text 305 289 (one second plus;
#X text 308 322 4-point interpolation);
#X obj 1 587 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#N canvas 44 246 494 284 META 0;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 85 LIBRARY PDDP;
#X text 12 5 GENRE tutorial;
#X text 12 45 LICENSE SIBSD;
#X text 12 145 HELP_PATCH_AUTHORS Updated for release 0.33. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS signal array;
#X text 12 65 DESCRIPTION scratch machine;
#X restore 392 589 pd META;
#N canvas 13 202 428 190 References 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261139 -33289 0;
#X text 7 2 sampler- Related Help Documents;
#X text 19 37 links:;
#X restore 103 589 pd References;
#X text 17 388 This patch introduces the [tabread4~] object \, which
reads audio samples out of a floating-point array \, often called a
"sample table." The input is the index of the sample to read \, counting
from zero. The output is calculated using 4-point cubic interpolation
\, which is adequate for most purposes. Because of the interpolation
scheme \, [tabread4~]'s input cannot be less than one or greater than
the table length minus two.;
#X obj 6 589 pddp/pddplink ../5.reference/pddp/help.pd -text help;
#X connect 0 0 17 0;
#X connect 0 0 17 1;
#X connect 3 0 0 0;
#X connect 4 0 3 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 7 0 4 0;
