Specifications

44 Pure Data Audio
“take a certain time to get there”, which is the second number in each list. The
last number in the list is a time to wait before executing the co mmand, so it
adds an extra wait for a time before doing it”. What ma kes
vline~
cool is you
can send a sequence of list messages in any order, and so long as they make
temporal sense then
vline~
will execute them all. This means you can make
very complex control envelopes. Any missing arguments in a list are dropped
in right to left order, so a valid exception is seen in the first element of Fig. 4.7
where a single 0 means “jump immediately to zero” (don’t bother to wait or
take any time getting there).
Audio filter objects
Six or seven filters are used in this book. We will not look at them in much
detail until we need to bec ause there is a lot to say about their usage in each
case. Simple one pole and one zero real filters are given by
rpole~
and
rzero~
.
Complex one pole and one zero filters are
cpole~
and
czero~
. A static biquad
filter
biquad~
also comes with a selection of helper objects to calculate coefficients
for common configurations and
lop~
,
hip~
, and
bp~ 1
provide the standard low,
high and bandpass responses. These are easy to use and allow message rate
control of their cutoff frequencies and, in the case of bandpass, resona nce . The
first and only argument of the low and hig h pass filters is frequency, so typical
instances may look like
lop~ 500
and
hip~ 500
. Bandpass takes a second parameter
for resonance like this
bp~ 100 3
. Fast signal rate control o f cutoff is possible using
the versatile
vcf~
“voltage controlled filter”. Its first argument is cutoff frequency
and its second argument is resonance, so you might use it like
vcf~ 100 2
. With
high resonances this provides a sharp filter that can give narrow bands. An
even mo re colourful filter for use in music synthesiser designs is available as an
external called
moog~
, which pr ovides a classic design that can self os c illate.
Audio arithmetic objects
Audio signal objects for simple arithmetic are summarised in Tbl. 4.8.
Object Function
+~
Add two signals (either input will also accept a message)
-~
Subtract righthand signal from lefthand signal
/~
Divide lefthand signal by right signal
*~
Signal multiplication
wrap~
Signal wrap, constrain any signal between 0.0 and 1.0
fig 4.8: List of arithmetic operators
Tr igonometric and math objects
A summary of higher maths functions is given in Tbl. 4.9. Some signal units
are abstractions defined in terms of more elementary intrinsic o bjects and those
marked * are only available through external libraries in some Pd versions.