#N canvas 9 3 918 652 10;
#X obj 22 14 delay;
#X msg 10 418 bang;
#X floatatom 75 486 0 0 0;
#X text 98 511 <-- creation argument initializes delay time;
#X obj 20 511 delay 1000;
#X text 56 440 Click here to CANCEL delay's action;
#X msg 20 440 stop;
#X msg 31 462 2000;
#X text 67 462 Number in right inlet sets time and schedules the action.
;
#X text 104 486 <-- scroll to change delay time in milliseconds;
#X text 60 14 - BANG AFTER TIME DELAY;
#X obj 20 90 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 20 110 delay 2000;
#X obj 20 133 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 12 42 The [delay] object sends a bang to its outlet after a
delay in milliseconds specified by its right inlet or its creation
argument.;
#X text 15 157 [delay]'s left inlet accepts a number \, or one of two
messages: "bang" or "stop".;
#X text 14 238 The "bang" method will inform [delay] to send a "bang"
to its outlet after the prescribed time (which is set either at its
right inlet \, or in the creation argument). In the above example \,
you should notice a delay of 2 seconds \, then a "bang" at the outlet.
;
#X text 13 314 [delay] accepts only ONE "bang" at a time. It cannot
process multiple delays. In other words \, sending a "bang" to a [delay]
which is already set will reschedule its output \, cancelling the old
one.;
#X text 15 379 The "stop" method will inform [delay] to cancel its
scheduled output.;
#X text 14 191 If a number is sent to its inlet \, [delay] will set
the delay time equal to that number and schedule the outgoing "bang".
;
#X obj 20 536 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 43 419 "bang" to schedule the action;
#X obj 414 9 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 414 613 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 445 15 A MAKESHIFT [METRO];
#X text 433 35 Let's assume for a moment that Miller had forgotten
to build the [metro] object. (I know that sounds absurd \, but for
the sake of example...);
#X text 433 84 [delay] could be used to create a metronome as follows.
;
#X obj 463 175 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 463 155 delay 1000;
#X msg 427 115 bang;
#X msg 463 115 stop;
#X obj 671 154 metro 1000;
#X obj 671 175 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 671 135 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 726 135 5 0 0;
#X floatatom 518 137 5 0 0;
#X text 557 155 is the same as;
#X text 448 206 A RANDOM IMPULSE GENERATOR;
#X text 433 223 Some users might be familiar with SC (SuperCollider)
by James McCartney. For more info about SC \, visit www.audiosynth.com.
Anyways...SC has a unit generator called "DUST". Dust will produce
random impulses at a specified "density". I believe that Dust was given
its name because it creates a sound that is similar to actual dust
on old vinyl LP's -- you know that old crackling sound like Rice Krispies.
;
#X text 432 331 The idea is quite simple. If you want a "very dusty"
sound \, you make the density quite high...if you want a "slightly
dusty" sound \, you make the density quite low.;
#X obj 434 484 delay;
#X obj 434 506 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 434 423 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 432 376 Dust.ar(2) in SC will produce 2 dusty impulses randomly
per second. In the example below \, you'll see a version of this process
created using PD's delay object.;
#X obj 434 463 random 500;
#X obj 434 442 metro 500;
#X text 13 563 It is important to realize that [delay] only outputs
a "bang". It cannot be used like an "echo" or to delay messages other
than "bang". For that purpose \, you should explore;
#X obj 63 605 pipe;
#X text 431 528 RELATED OBJECTS;
#X obj 466 548 timer;
#X obj 432 548 pipe;
#X obj 504 548 metro;
#N canvas 0 0 452 302 related_objects_from_other_libraries 0;
#X obj 27 25 nop~;
#X obj 63 25 z~;
#X obj 93 25 t3_delay;
#X obj 153 25 idelay~;
#X text 18 59 These objects are offered in PD only if you have downloaded
and properly installed the appropriate library. These objects may or
may not exist in a single library.;
#X text 17 108 The best places to find information about PD's libraries
is:;
#X text 14 130 www.pure-data.org and click on "Downloads" then "Software"
;
#X text 16 160 iem.kug.ac.at/pdb/;
#X restore 432 569 pd related_objects_from_other_libraries;
#X obj 543 548 makenote;
#X obj 603 548 delwrite~;
#X text 445 594 This document was updated for PD version 0.35 test
28 by Dave Sabine as part of a project called pddp proposed by Krzysztof
Czaja to build comprehensive documentation for PD.;
#X floatatom 504 428 5 0 0;
#X text 546 421 low numbers will produce a very "dusty" output.;
#X text 546 433 high numbers will produce a slightly "dusty" output.
;
#X text 546 448 Also note that this example merely approximates the
output of SC's "Dust" object.;
#X connect 1 0 4 0;
#X connect 2 0 4 1;
#X connect 4 0 20 0;
#X connect 6 0 4 0;
#X connect 7 0 4 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 22 0 23 0;
#X connect 27 0 29 0;
#X connect 28 0 27 0;
#X connect 29 0 28 0;
#X connect 30 0 28 0;
#X connect 31 0 32 0;
#X connect 33 0 31 0;
#X connect 34 0 31 1;
#X connect 35 0 28 1;
#X connect 40 0 41 0;
#X connect 42 0 45 0;
#X connect 44 0 40 0;
#X connect 45 0 44 0;
#X connect 56 0 45 1;
#X connect 56 0 44 1;