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. 14, involves the use of a wavetable (which can be interpreted as a digital delay-line) fed back onto itself and a simple first-order digital averaging filter of the form
. The wavetable is initialized with psuedo-random numbers.
Figure 14:
The Karplus-Strong plucked string block diagram.
The Matlab script karplus.m
provides an implementation of the Karplus-Strong algorithm.
The Max/MSP patch ks.maxpat, shown below, also demonstrates the Karplus-Strong algorithm.