#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;