An algorithm was published in 1983 that provided an extremely efficient method for synthesizing the sound of plucked string instruments (Karplus and Strong, 1983).
The algorithm of Karplus and Strong, diagrammed in Fig. 17, involved the use of a digital delay-line (or ``wavetable'') fed back onto itself and a simple first-order digital averaging filter of the form
y[n] = 0.5 (x[n] + x[n-1]). The delay-line was initialized with psuedo-random numbers.
The Karplus-Strong plucked string block diagram.
The Matlab script karplus.m
provides an implementation of the Karplus-Strong algorithm.
In a companion article, Jaffe and Smith showed that the Karplus-Strong algorithm could be viewed as a model of traveling-wave motion on a string (Jaffe and Smith, 1983).