#N canvas 19 35 777 377 12;
#X text 103 7 DELAYS;
#X text 248 79 The delwrite~ object creates the delay line \; you give
it a name and a size in milliseconds. Each delwrite~ should have a
different name.;
#N canvas 0 0 548 248 sample 0;
#N canvas 0 0 450 300 graph1 0;
#X array G01-tab 61079 float 0;
#X coords 0 1 61078 -1 200 140 1;
#X restore 100 20 graph;
#X obj 61 176 loadbang;
#X obj 60 221 soundfiler;
#X msg 61 199 read -resize ../sound/voice.wav G01-tab;
#X connect 1 0 3 0;
#X connect 3 0 2 0;
#X restore 253 337 pd sample;
#X floatatom 38 196 4 0 999 0 - - -;
#X text 81 195 <-- delay time;
#X text 46 230 read from delay line;
#X obj 38 249 delread~ delay1;
#X obj 14 87 tabplay~ G01-tab;
#X obj 14 63 metro 1000;
#X obj 14 39 loadbang;
#X text 40 146 write to delay line;
#X obj 16 303 output~;
#X obj 15 275 +~;
#X obj 24 165 delwrite~ delay1 1000;
#X text 499 348 updated for Pd version 0.37-1;
#X text 248 24 You can delay a signal using the delwrite~ and delread~
objects. In this example \, a sample loops continuously and is added
to a delayed copy of itself.;
#X text 247 215 The delread~ object always delays the signal an integer
number of samples and does no interpolation.;
#X text 28 107 test signal to delay;
#X text 248 130 Delread~'s arguments are the name of a delwrite (of
which there should be exactly one) and an optional delay time in milliseconds
between 0 and the length of the delay line. Each delwrite~ may have
as many delread~s as you wish \, which can then function as multiple
delay taps.;
#X text 114 209 (msec);
#X connect 3 0 6 0;
#X connect 6 0 12 1;
#X connect 7 0 12 0;
#X connect 7 0 13 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 12 0 11 0;
#X connect 12 0 11 1;
