The Oscillator

It is interesting, however, that the reasons leading to the dominant placement of the oscillator in digital sound synthesis are distinct in the case of early, or abstract sound synthesis algorithms, discussed in §1.1 and physical modelling algorithms, described in §1.2. In abstract methods, sinusoids are used, perhaps unconsciously, because of their particular perceptual significance in human audition: a sinusoid is perceived as a unit, characterized by a bare minimum of parameters, and in the simplest case, amplitude and frequency, which correlate well with perceived loudness and pitch. This is particularly true of additive and FM synthesis, but also of subtractive synthesis methods, in which case a non-sinusoidal oscillator is often used as the excitation, as well as wavetable methods, for which values are often read from the table according a sinusoidal variation. In physical modelling synthesis, which is based on descriptions of objects which are subject to the laws of physics, sinusoids (more properly complex exponentials, or damped sinusoids) appear naturally as eigenfunctions of linear and time invariant systems, and many musical instruments can be well-described to a first approximation as such. That sinusoids play such a dual perceptual/physical role is almost certainly not a coincidence--if the world is, to a first approximation, a linear system, then humans will be well-adapted to perceive collections of sinusoids. Thus the distinction made above is not as clear as it might first appear to be. Regardless of one's point of view, the linear oscillator is clearly the starting point for any description of sound synthesis, through physical modeling or any other method.

It is interesting to note that in many parts of the numerical simulation literature, the second-order simple harmonic oscillator is *not* the point of departure for descriptions of numerical methods--rather, a first-order linear ODE is usually taken to be the basic equation. The reason for this is that much research into numerical simulation is geared towards dealing with highly nonlinear fluid dynamics problems, which are often most easily expressed as systems of first order equations. It would be simple enough to begin with such a first order system here as well, and then progress to the second order oscillator by writing it as a first order system in two variables (see §3.1.3), but in fact, most systems of interest in musical acoustics (and in particular those involving the vibration of solids) can be expressed directly as second-order in time ODEs or PDEs; the finite element literature, also concerned first and foremost with the vibration of solids, shares this point of view.

This chapter is concerned, generally, with outlining the properties of the second order linear oscillator, introduced in §3.1, as well as some simple, and practically useful finite difference schemes, in §3.2 and §3.3. There is an emphasis here on obtaining bounds on solution size; though this is of course a simple matter in the case of a linear oscillator, the tools and techniques introduced here will play a role in determining numerical stability conditions for simulations of musical systems which are far more complex. Both frequency domain analysis, which is familiar to most students of signal processing, and energetic methods, which will be much less so, are presented here. The former set of methods is useful for linear problems, but the latter is more general, and extends well to interesting nonlinear musical systems, many examples of which will appear subsequently in this book. Such methods are applied to lumped systems of masses and springs in §3.4. Finally, the simple harmonic oscillator with loss, and associated finite difference schemes, are discussed in §3.5.

- The Simple Harmonic Oscillator

- A Simple Scheme
- As Recursion
- Initialization
- Frequency Domain Analysis
- Accuracy
- Energy Analysis
- Computational Considerations

- Other Schemes
- Using Time-averaging Operators
- A Second-order Family of Schemes
- Hughes-Taylor and Newmark Methods
- An Exact Solution
- Further Methods

- Lumped Mass-Spring Networks
- Loss

- Problems
- Programming Exercises