Search Physical Audio Signal Processing
Book Index | Global Index
Would you like to be notified by email when Julius Orion Smith III publishes a new entry into his blog?
Prime
Power Delay-Line Lengths
When the delay-line lengths need to be varied in real time, or
interactively in a GUI, it is convenient to choose each delay-line
length
as an integer power of a distinct prime number
[457]:
where we call

the ``multiplicity'' of the prime

. With
this choice, the delay-line lengths are always coprime (no factors in
common other than

), and yet we can lengthen or shorten each delay
line individually (by factors of

) without affecting the mutually
prime property.
Suppose we are initially given desired delay-line lengths
arranged in ascending order so that
Then good prime-power approximations

can be expected using
the prime numbers in their natural order:
Since

(for any
logarithmic base), an optimal (in some sense) choice of prime
multiplicity

is

round
where

is the desired length in samples. That is,

can be
simply obtained by
rounding

to the
nearest integer (max 1). The prime-power delay-line length
approximation is then of course
and the multiplicative approximation error is bounded by

(when

).
This prime-power length scheme is used to keep 16 delay lines both
variable and mutually prime in Faust's reverb_designer.dsp
programming example (via the function prime_power_delays in
effect.lib).
Previous: Mode Density RequirementNext: Achieving Desired Reverberation Times
About the Author: Julius Orion Smith III
Julius Smith's background is in electrical engineering (BS Rice 1975, PhD Stanford 1983). He is presently Professor of Music and Associate Professor (by courtesy) of Electrical Engineering at
Stanford's Center for Computer Research in Music and Acoustics (CCRMA), teaching courses and pursuing research related to signal processing applied to music and audio systems. See
http://ccrma.stanford.edu/~jos/ for details.