Next  |  Prev  |  Top  |  REALSIMPLE Top


Karplus-Strong Digitar Algorithm

Figure 1: Signal flow graph of the Karplus Strong algorithm viewed as a digital filter excited from initial conditions: The delay line is initially filled with random numbers. The feedback filter $H(z)=[1+z^{-1}]/2$ can be regarded as a running two-point average.
\resizebox{4.3in}{!}{\includegraphics{\figdir /fkarplusstrongCopy.eps}}

The KS digitar algorithm can be derived [14] as a simplified digital waveguide synthesis model for an ``idealized'' vibrating string (no stiffness, and very specific damping characteristics resulting in the two-point average). This physical interpretation is used to guide extensions to the basic algorithm.

The basic Karplus-Strong (KS) digitar algorithm [7]4consists of a waveform memory that is read out and modified repeatedly each ``period,'' where the modification is to replace each sample in the memory by the average of itself and the previous sample each time it is read. The algorithm is diagrammed as a digital filter in Fig.1. There are other modes of operation of the KS algorithm described in [7], such as for percussive sounds and ``bottle mode'' that are not reviewed here. In other words, we consider only the digitar special case of the KS algorithm which simulates plucked string sounds. We begin our example series with the digitar because it is the simplest known string-synthesis algorithm that is both interesting to hear and derivable (in retrospect) from the physics of vibrating strings.



Subsections
Next  |  Prev  |  Top  |  REALSIMPLE Top

Download faust_strings.pdf

``Making Virtual Electric Guitars and Associated Effects Using Faust'', by Julius O. Smith III,
REALSIMPLE Project — work supported in part by the Wallenberg Global Learning Network .
Released 2013-08-22 under the Creative Commons License (Attribution 2.5), by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA