### 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