While waveguide and modal techniques were being applied, with great success, to physical modeling synthesis, the techniques used in musical acoustics investigations (i.e., not directly for synthesis) developed in different directions. In such investigations, efficient performance was not crucial, so there was less incentive to seek model simplifications (based on, say, traveling wave or modal decompositions).

As a result, some researchers began to look on physical modeling as a particular application of mainstream simulation techniques—and in particular time stepping methods operating over a grid. Important steps were taken by Chaigne and his group at ENSTA in the 1990s in applying finite difference methods to a variety of musical systems [10]. Interestingly, such work picked up upon the thread of work going back to much earlier days (such as that of Hiller and Ruiz [6]). Such methods, as they rely on virtually no simplifying hypotheses, are of great generality—and at the same time, are not nearly as efficient as, say, digital waveguide methods. Evaluating the strengths and weaknesses of the various physical modeling synthesis methods is a complex and multifaceted undertaking—see [3] for some general comments on the topic.

Finite Difference Scheme Update

The basic idea behind such grid-based approaches to simulation is a long-established one. Some methods involve the use of grids covering the domain of interest, containing values representing various physical variables (such as displacement, or pressure, or velocity, etc.). This finite set of values is then advanced, according to the dynamics of the problem under consideration by time stepping…or recalculating the values recursively in a loop, operating here, at an audio sample rate (typically high!). Such methods are usually locally defined—updates at a given grid point are calculated using neighbouring values. In other methods, the “state” of the simulation may not be locally defined values over a grid, but rather the coefficients of various types of global function expansions—modal methods mentioned in the previous section are one example, but there are many others, with the family of spectral methods being the most widely known [11]. See the accompanying figure, illustrating a grid-based time-stepping method applied to a model of a string.

It is possible to approach many systems which cannot be dealt with using waveguides or modal methods, and the resulting improvement in sound quality can be striking (as we hope to show throughout the course of this project!), but only very recently has readily-available computational power grown to the extent such that synthesis in a reasonable amount of time is possible—the exploration of specialized parallel hardware forms another part of the NESS project.

There are many such time stepping methods—(finite element methods being perhaps the most widely known), but here we’ll be looking mainly at finite difference (FD) methods, which operate over regular grids(but also a little at closely-related finite volume methods [12], which may operate over unstructured grids). They form perhaps the oldest method of performing a simulation, and date back at least a century, and see quite a lot of use currently in electromagnetic simulation (where such methods are often referred to as finite difference time domain, or FDTD methods [6]), and, in conjunction with finite volume methods, in fluids applications. They are much less used in solid vibration problems, where finite element methods are dominant.

Why have we chosen to work with such methods? It’s a delicate question, always, as, for a given application there are many (often conflicting) design constraints and concerns. Here, though, in the context of audio, and especially in parallel environments such as GPUs, there are various advantages: ease of programming, as the schemes often are defined over regular grids; ease of analysis—especially important if one is trying to get a grip on potentially audible artefacts such as numerical dispersion and in the case of strong, perceptually important nonlinearities. There is a price to be paid, though, for working with such methods—the main one being that complex geometries are less easy to work with!

Some excellent references on finite difference methods are given below [13,14,15]. I have my own text on applications in physical modelling synthesis [4], which you might also want to have a look at.