#N canvas 177 116 924 622 12;
#N canvas 0 0 450 300 graph1 0;
#X array table20 44103 float 0;
#X coords 0 1.02 44100 -1.02 200 130 1;
#X restore 631 10 graph;
#X obj 582 447 loadbang;
#X obj 13 425 hip~ 5;
#X floatatom 87 49 0 0 0 0 - - -;
#X text 126 48 <-- frequency (Hz.);
#X floatatom 150 108 0 0 0 0 - - -;
#X obj 150 133 * 441;
#X obj 50 220 +~ 1;
#X obj 87 73 phasor~ 0;
#X msg 175 273 bang;
#X text 189 107 <-- chunk size (100ths of a second);
#X obj 576 343 adc~ 1;
#X obj 576 367 hip~ 5;
#X msg 591 390 bang;
#X text 630 464 v-- re-read the original sample;
#N canvas 0 0 450 300 graph2 0;
#X array graph20 44100 float 0;
#X coords 0 44100 44100 0 200 130 1;
#X restore 633 179 graph;
#X obj 13 401 *~;
#X obj 72 308 line~;
#X obj 149 242 * 441;
#X floatatom 149 218 0 0 0 0 - - -;
#X obj 72 284 pack 0 100;
#X text 184 217 <-- read point in 100ths of a second;
#X obj 51 356 +~;
#X text 218 272 <-- graph table index;
#X obj 72 332 samphold~;
#X obj 74 170 samphold~;
#X obj 51 196 *~;
#X text 643 315 ----- 1 second ------;
#X text 631 144 ---- 44103 samples ---;
#X obj 591 508 soundfiler;
#X text 21 8 SLIDING STABLE LOOPS WITHOUT DOPPLER SHIFT;
#X msg 582 534 \; graph20 ylabel 48000 0 44100;
#X text 631 390 <-- record;
#X obj 13 451 output~;
#X obj 12 103 -~ 0.5;
#X obj 12 127 *~ 0.5;
#X obj 12 150 cos~;
#X obj 175 353 tabwrite~ graph20;
#X obj 51 381 tabread4~ table20;
#X obj 576 417 tabwrite~ table20;
#X msg 591 484 read ../sound/voice.wav table20;
#X text 11 518 This example differs from the previous one in having
samphold~ objects which allow the chunk size and especially the read
point to change only at points where the phase wraps around. This removes
signal discontinuities (when the chunk size changes) and doppler shift
when the read point is changing.;
#X text 652 592 updated for Pd version 0.37;
#X connect 1 0 31 0;
#X connect 1 0 40 0;
#X connect 2 0 33 0;
#X connect 2 0 33 1;
#X connect 3 0 8 0;
#X connect 5 0 6 0;
#X connect 6 0 25 0;
#X connect 7 0 22 0;
#X connect 8 0 24 1;
#X connect 8 0 25 1;
#X connect 8 0 26 0;
#X connect 8 0 34 0;
#X connect 9 0 37 0;
#X connect 11 0 12 0;
#X connect 12 0 39 0;
#X connect 13 0 39 0;
#X connect 16 0 2 0;
#X connect 17 0 24 0;
#X connect 18 0 20 0;
#X connect 19 0 18 0;
#X connect 20 0 17 0;
#X connect 22 0 37 0;
#X connect 22 0 38 0;
#X connect 24 0 22 1;
#X connect 25 0 26 1;
#X connect 26 0 7 0;
#X connect 34 0 35 0;
#X connect 35 0 36 0;
#X connect 36 0 16 0;
#X connect 38 0 16 1;
#X connect 40 0 29 0;
