1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
#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;
|