DSPRelated.com
Free Books

Karplus-Strong Algorithms

In 1983 the Karplus-Strong [236] and Extended Karplus-Strong (EKS) [207,428] algorithms were published (in the same issue of the Computer Music Journal). Kevin Karplus and Alex Strong were computer science students at Stanford trying out wavetable synthesis algorithms on an 8-bit microcomputer. The sounds were rather boring, as any precisely periodic sound tends to be, so Strong had the idea of filtering the wavetable by a two-point average, $ H(z)=0.5+0.5\,z^{-1}$, on each reading pass (which requires no multiplies), in order to change the timbre dynamically. The result sounded curiously like a string, almost no matter what initial table was used. After some experimentation, they settled on random numbers as the standard excitation. Strong played in a string quartet with David Jaffe, a CCRMA Composition PhD student, and Jaffe decided to use the algorithm in his piece ``Silicon Valley Breakdown'' (1982) which became a tour de force demonstration of the EKS algorithm. In preparation for the piece, Jaffe approached the author regarding how to obtain better musical control over tuning, brightness, dynamic level, and the like, and the resulting extensions were described in [207,428]. Having studied the McIntyre-Woodhouse papers, the author recognized the filtered-delay-loop in the Karplus-Strong algorithm as having the same transfer function as that of an idealized vibrating string [428]. This equivalence later led to deriving the Karplus-Strong algorithm as a special case of a digital waveguide string model (see Chapter 6 up to §9.1.4 for the derivation). When viewed as a digital waveguide model, the musical quality and expressivity of the EKS algorithm suggested (ca. 1985) that extremely simplified traveling-wave models with sparsely lumped losses and dispersion could capture the necessary dimensions of musical expressivity at very low computational cost.


Next Section:
Digital Waveguide Models
Previous Section:
String Models