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