Numerical Sound Synthesis Companion Page


This book, out in October 2009, is about physical modelling sound synthesis; or, more technically, the generation of sound based on differential equation models of musical objects. An “object,” here, could be a standard acoustic musical instrument, such as a clarinet or cymbal, or, more generally, a mechanical or electromechanical audio effect. The general goal is to generate sound which possesses all the richness of acoustically-produced sound---perhaps emulating an existing instrument, but perhaps an entirely new imaginary virtual instrument. A good analogy is to the current advances in computer graphics rendering using physical models (of bouncing balls, water waves, etc.)

There are lots of ways of  going about designing physical modelling sound synthesis routines; probably the best known are digital waveguides, developed initially by Julius Smith at CCRMA, which are a great match to certain instrument types (1D, nearly linear, nearly dispersionless)---for much more on waveguides, see Julius’s comprehensive on-line publication. Another well-known technique is modal synthesis, which was developed into the Modalys/MOSAIC environment at IRCAM.

This book is devoted to time-domain methods, and in particular, finite difference schemes, which are perhaps unfamiliar to the audio engineer; there are no delay lines, digital filters, Fourier transforms, or banks of oscillators employed! The great things about these methods are their generality, their fidelity to the physics of musical instruments and that they can be very easy to construct---there are no hypotheses about travelling waves, or linearity, or modal frequencies. The downside is that they may cost more to run, in terms of computational effort, and that there are all sorts of quirky design issues, such as numerical stability, bandwidth limitation and others to contend with! Is the sound any better? You’ll have to judge for yourselves, from the numerous sound examples given in the example pages below.

This companion page is intended as a non-technical repository of demonstrations and sound examples, as well as a few pedagogical code examples, to give you a flavor of how these methods work, and the kinds of sounds they produce. I’ll keep adding to this page periodically. Any comments should go to me, at the email address given on my main page.

As far as the book goes, you can take a look at the introductory chapter, the table of contents, and the index if you like…

Some freely available sample material:


Chapter 1: Introduction

Table of Contents



Some example topics, including movies and sound examples:


Plate vibration

Nonlinear shell vibration: cymbals

Spring reverberation

Plate reverberation

A modular percussion environment

Reed Wind instruments

Brass Instruments (NEW)


Snare drums


Matlab code examples