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 [236,207,489].
![]() |
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
[428,207].
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 [454].
Next Section:
The Extended Karplus-Strong Algorithm
Previous Section:
One-Zero Loop Filter