#N canvas 591 56 764 618 12;
#X declare -stdpath ./;
#X obj 59 215 hip~ 5;
#X text 111 216 high pass filter to cut DC;
#N canvas 0 0 450 300 (subpatch) 0;
#X array sample-table 44104 float 0;
#X coords 0 1.02 44103 -1.02 200 130 1;
#X restore 503 28 graph;
#X obj 59 183 tabread4~ sample-table;
#X obj 59 151 line~;
#X obj 59 102 * 441;
#X floatatom 59 48 0 0 100 0 - - - 0;
#X obj 59 126 pack 0 100;
#X text 90 14 SCRATCH MACHINE;
#X text 106 102 convert to SAMPLES (441 samples in 0.01 sec);
#X obj 144 263 loadbang;
#X text 230 175 read from the table;
#X text 229 190 (the input is the index in samples);
#X text 92 456 For more on reading and writing soundfiles to tables
\, setting their lengths \, etc \, see "arrays" in the "control examples"
series., f 72;
#X text 92 360 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., f 72;
#X text 92 494 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., f 72
;
#X text 509 181 (one second plus three extra;
#X text 511 200 for 4-point interpolation);
#X text 421 271 message to read a soundfile into the table (automatically
sent when you load this patch by the "loadbang" object.), f 39;
#X text 101 151 convert smoothly to audio signal;
#X text 106 62 (range is 0-100.) YOU ONLY HEAR OUTPUT;
#X text 107 78 WHEN THIS IS 0-100 AND ACTIVELY CHANGING.;
#X text 512 561 updated for Pd version 0.33;
#X text 502 159 --- 44103 samples ---;
#X msg 144 287 read ../sound/voice.wav sample-table;
#X obj 144 312 soundfiler;
#X obj 33 264 output~;
#X text 94 48 <= read point in 100ths of a second;
#X obj 88 587 declare -stdpath ./;
#X connect 0 0 26 0;
#X connect 0 0 26 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;
#X connect 10 0 24 0;
#X connect 24 0 25 0;
