Next |
Prev |
Up |
Top
|
Index |
JOS Index |
JOS Pubs |
JOS Home |
Search
The Karplus-Strong Algorithm
The simulation diagram for the ideal string with the simplest
frequency-dependent loss filter is shown in
Fig. 9.1. Readers of the computer music
literature will recognize this as the structure of the
Karplus-Strong algorithm
[238,208,492].
Figure 9.1:
Rigidly terminated string
with the simplest frequency-dependent loss filter. All
loss
factors (possibly including losses due to yielding terminations) have
been consolidated at a single point and replaced by a one-zero filter
approximation.
![\includegraphics[width=\twidth]{eps/fkarplusstrong}](img1979.png) |
The Karplus-Strong algorithm, per se, is obtained when the
delay-line initial conditions used to ``pluck'' the string consist of
random numbers, or ``white noise.'' We know the initial shape
of the string is obtained by adding the upper and lower delay
lines of Fig. 6.11, i.e.,
. It is shown in §C.7.4 that the initial
velocity distribution along the string is determined by the
difference between the upper and lower delay lines. Thus, in
the Karplus-Strong algorithm, the string is ``plucked'' by a
random initial displacement and initial velocity distribution.
This is a very energetic excitation, and usually in practice the white
noise is lowpass filtered; the lowpass cut-off frequency gives an
effective dynamic level control since natural stringed
instruments are typically brighter at louder dynamic levels
[432,208].
Karplus-Strong sound examples
are available on the Web.
An implementation of the Karplus-Strong algorithm in the Faust
programming language is described (and provided) in [456].
Next |
Prev |
Up |
Top
|
Index |
JOS Index |
JOS Pubs |
JOS Home |
Search
[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]