#N canvas 348 50 951 558 12;
#X declare -stdpath ./;
#X text 750 224 creation argument: name of delay line, f 18;
#X obj 44 65 delread4~;
#X obj 703 284 vd~;
#X obj 612 231 delread4~ \$0-delay;
#X obj 79 306 delwrite~ \$0-delay 1000;
#X obj 612 199 line~;
#X obj 79 245 osc~ 440;
#X obj 612 278 output~;
#X obj 612 171 pack f 1000;
#X obj 396 226 declare -stdpath ./;
#X msg 99 274 clear;
#X text 144 274 set all samples of delay line to zero.;
#X text 253 304 1st argument: name of delay line, f 42;
#X obj 43 15 delwrite~;
#X text 115 15 - writes a signal in a delay line;
#X obj 50 40 delread~;
#X text 115 40 - read a signal from a delay line;
#X text 250 397 1st argument: name of delay line, f 33;
#X text 250 417 2nd argument: (initial) delay time in ms;
#X obj 85 443 output~;
#X text 597 77 The delay time is always at least one sample and at
most the length of the delay line (specified by a corresponding delwrite~).
, f 46;
#X obj 627 436 ../3.audio.examples/G05.execution.order;
#X text 123 376 input (delay time in ms);
#X msg 49 376 500;
#X text 732 527 updated for Pd version 0.52;
#X text 253 321 2nd argument: length of delay line in msec (the maximum
delay time in read objects), f 42;
#X text 119 64 - read from a delay line with 4-point interpolation
(for variable delay times), f 40;
#X text 656 198 signal input (variable delay time in ms);
#X text 736 283 - old name of delread4~ ('vd' for 'variable delay')
, f 27;
#X obj 491 70 vd~;
#X obj 96 528 fexpr~;
#X text 22 528 see also:;
#X text 598 471 See also other examples in the "G" section to learn
how to implement dealys with feedback., f 46;
#X obj 9 514 cnv 1 935 1 empty empty empty 8 12 0 13 #000000 #000000
0;
#X obj 7 102 cnv 1 570 1 empty empty empty 8 12 0 13 #000000 #000000
0;
#X text 488 21 <= click;
#N canvas 733 91 574 497 reference 0;
#X obj 8 52 cnv 5 550 5 empty empty INLET: 8 18 0 13 #202020 #000000
0;
#X obj 8 111 cnv 2 550 2 empty empty OUTLETS: 8 12 0 13 #202020 #000000
0;
#X obj 8 145 cnv 2 550 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000
0;
#X obj 7 211 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000
0;
#X text 161 120 NONE, f 45;
#X text 117 153 symbol -;
#X obj 43 22 delwrite~;
#X text 106 66 signal -;
#X text 173 66 signal input into the delay time., f 44;
#X text 113 84 clear -;
#X text 173 84 clear the delay time., f 44;
#X text 185 153 delay line name., f 47;
#X text 124 171 float -;
#X text 185 171 length of delay line in msec (the maximum delay time
in read objects)., f 47;
#X obj 8 307 cnv 5 550 5 empty empty INLET: 8 18 0 13 #202020 #000000
0;
#X obj 8 375 cnv 2 550 2 empty empty OUTLET: 8 12 0 13 #202020 #000000
0;
#X obj 8 414 cnv 2 550 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000
0;
#X obj 7 471 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000
0;
#X text 107 424 symbol -;
#X text 175 424 delay line name., f 29;
#X text 114 443 float -;
#X obj 43 275 delread~;
#X text 113 322 float -;
#X obj 113 275 delread4~;
#X text 117 22 - write in a delay line.;
#X text 192 275 - read from a delay line.;
#X text 107 384 signal -;
#X text 173 322 delay time in ms (for [delread~])., f 44;
#X text 106 342 signal -;
#X text 173 342 delay time in ms (for [delread4~])., f 44;
#X text 173 384 delayed signal., f 44;
#X text 175 443 initial delay time in ms for [delread~] (default 0).
;
#X restore 394 21 pd reference;
#X floatatom 79 218 5 0 0 0 - - - 0;
#X obj 85 407 delread~ \$0-delay 500;
#X msg 85 376 1000;
#X msg 612 144 500;
#X msg 648 144 1000;
#X obj 576 3 cnv 1 1 100 empty empty empty 8 12 0 13 #000000 #000000
0;
#X text 406 70 --> a.k.a.:;
#X text 12 112 The [delread~] and [delread4~] objects read from a delay
line allocated in a [delwrite~] object with the same name. Note that
in this help file we're using delay names with "\$0" (the patch ID
number used to force locality in Pd). You can use more than one [delread~]
and/or [delread4~] objects for the same [delwrite~] object. If the
specified delay time in [delread~]/[delread4~] is longer than the size
of the delay line or less than zero it is clipped to the length of
the delay line., f 81;
#X text 597 12 [delread4~] implements a 4-point interpolating delay
tap. The delay in milliseconds of the tap is specified by an incoming
signal for variable delay times., f 46;
#X text 568 350 In case [delwrite~] runs later in the DSP loop than
the [delread~] or [delread4~] objects \, the delay is constrained below
by one vector length (usually 64 samples.) Open the file below as an
example on how to control this to obtain very short delays., f 51
;
#X connect 3 0 7 0;
#X connect 3 0 7 1;
#X connect 5 0 3 0;
#X connect 6 0 4 0;
#X connect 8 0 5 0;
#X connect 10 0 4 0;
#X connect 23 0 38 0;
#X connect 37 0 6 0;
#X connect 38 0 19 0;
#X connect 38 0 19 1;
#X connect 39 0 38 0;
#X connect 40 0 8 0;
#X connect 41 0 8 0;
