A Physically Based Model for Real-time Digital Synthesis of Analog-like Sounds
 

Michael Hamman

National Center for Supercomputing Applications
University of Illinois at Urbana-Champaign
705 W. Nevada #4
Urbana, IL 61801
m-hamman@uiuc.edu
 
 
  

1. Background

Since the 1950s, composers have sought ways in which compositional principles could be employed in the construction of sound itself. This interest has carried over into computational synthesis of sound with the computer. By constructing algorithms for synthesizing sound, the composer constructs a representational field with respect to which sound morphology and musical processes might by imagined and designed [1][2][3]. Such compositional motivation for the use of the computer redirects acoustical research from one which seeks ways to model already existing sounds and sound systems toward one which seeks to model possible procedure models of how compositional activity might itself be structured and constrained [4]. In this light, computational sound synthesis takes as its point of departure a desire for the possibility of modeling systems from which sound and musical pattern might be extrapolated [5].So-called physically-based models (which include Karplus-Strong models of the plucked string[5] to modal synthesis[6] to chaotic systems[7][8]) provide a framework for constructing synthesis algorithms in that their behaviors may not be fully understood in advance. In this regard, as models of compositional process, they resemble non-linear systems. In this paper, I describe an approach to the development of a simple synthesis model based on basic principles of physical models. 

2. Functional Overview of the System

The synthesis model breaks down into the two standard components: excitor, resonator .The Excitor module generates a sequence of noise bursts. Both the duration of each noise burst and the rate of successive noise bursts are parameterized. Thus, one could construct excitors with but a single-sample burst to those that produce walls of noise to those producing various kinds of pulse-like behaviors. The output of the excitor is wrapped around by two additional components. The first is tunable comb filter while the second is hard clipping module.The Resonator module contains two components, each being a tunable feedback delay module. Placing a first-order allpass filter at the end of the delay line effects the tuning. The allpass filter allows the resonator to produce frequency behaviors that are not only integral multiples of the sampling rate (as would be the case with only a delay line) [9].Each feedback delay module is attached to oscillators that modulate the delay lengths and the feedback coefficient values. When turned on, these oscillators can be used to add a new dimension to the behavior of the resonator, thus generating new acoustical behaviors.In following sections, I discuss each module in more detail. 
Figure 1: Excitor Module

3. Excitor Module

Figure 1 depicts the Excitor module. The Excitor module contains three components. The Initial Excitation component generates the initial noise bursts. The Filter component filters the noise bursts using a comb-type filter. The Clipper component acts as a hard clipper to the final output of the Excitor.The Initial Excitation component generates streams of noise bursts of a particular maximum amplitude. Each burst is set to a particular duration (parameter "D" in figure 1), while the rate of noise bursts is similarly parameterized (parameter "R" in figure 1).One aspect of the behavior of the excitor has to do with the numeric relation between burst rate and the duration of individual noise bursts. When the difference between the duration of each noise burst and the burst rate falls within a certain range (in terms of numbers of samples), the excitor will exhibit oscillatory behavior within the audible frequency range. For instance, if the burst duration is 10 samples, and the burst rate is 210 samples then, the difference being 200 samples, the excitor will produce an output with a frequency of sampling rate / 200. With a sampling rate of 44.1KHz, the excitor output exhibits frequency behavior at approximately 220 Hz. Since burst duration and burst rate are independently modulated, this behavior can be exploited.The output of the Initial Excitation component constitutes streams of noise bursts that are filtered through the Filter component. As is depicted in figure 1, the Filter component implements a comb filter. The particular comb filter implement used has the difference equation             yn = (1 – S)x n + Sy n-1
 where S is the only parameter to be set. S has the range {-1, 1}. When S is set equal to –1, the output of the filter easily becomes unstable with output samples exceeding unity. Otherwise the filter acts either as a highpass or lowpass, depending on the setting for S.Any overflow from the Filter comopnent is handled within the Clipping component. This component defines the function                     { 0; x >= 1             f(x) = { x; -1 < x < 1                    { 0; x <= -1 This function is a modified version of the standard hard clipper in order to avoid oscillation around the extremes should the comb filter start to oscillate.
 The combination of the Filter and Clipper components produce two types of behavior, depending on the setting of S. When the value of S is in the range approximately {-.99, 0}, the filter acts as a high-pass filter. In the range {0, .99}, the filter acts as a low-pass.However, within the range {-.99, -1.0}, a different kind of behavior emerges. Here, the filter will produce large numbers of overflows (outputs whose values are greater than unity gain). All overflows are trapped within the hard clipper, translating that overflow as a continuous DC (with an amplitude of 0). At the extreme (which S is equal to -1), very few non-zero samples ever leave the Excitor Module. However, as the value of S moves from -1 toward -.99, intermitent bursts are allowed through. As it moves closer to -99, the rate at which those intermittent bursts are allowed through increases.By virtue of this dual behavior, S can act at once as an intermittence variable and a filtration variable. 

4. Resonator Module

The Resonator module contains two resonators in series. Figure 2 depicts one such resonator. The grayed box delineates the allpass filter part of the resonator. 
 
Figure 2: A single Resonator Module
 Each resonator can be controlled through modulation of the delay length (depicted as "N1" in figure 1) and of the feedback coefficient (depicted as "P1" in figure 1). The synthesis model provides two means for their modulation: through direct manipulation (of N1 and P1) and through manipulation of oscillator whose outputs modulate N1 and P1.Each resonator within the Resonator module has two oscillators attached to it. One oscillator modulates the delay length (including the allpass filter), while the other modulates the value of the feedback coefficient.Figure 3 depicts this arrangement for a single resonator component. With the amplitude of an oscillator set to above zero, and frequency above zero, oscillation occurs around the current value for the parameter being modulated. For instance, if parameter "N1" is being modulated with the oscillator, and the current value for "N1" is 200 Hz, then oscillation would occur around 200 Hz. If the amplitude for the oscillator is .5 then the delay length would oscillate between 100 and 300 Hz. Oscillator frequency determines the rate at which such oscillation occurs. Complex timbres result when the frequency of oscillation occurs within the "audible" range. 

5. Parameter Space

There are 17 parameters defined for the model. It is important to note however that, except in the most extraordinary circumstances, far fewer than all 17 would ever be manipulated simultaneously.  
Figure 3: Control of a single Resonator Component
 Two tools have been developed for the investigation of this model. The first tool is a standard sliders interface, one slider per parameter. With this tool, the composer can investigate the synthesis algorithm through independent control of various parameters.The second tool is an integrated control interface . The integrated control interface allows manipulation of more than one parameter at once. It is predicated on the notion that when investigating the behavior of a system, one is often interested in the effect that various groupings of parameters will have on the behavior of a system.Figure 4 depicts such an interface. 
Figure 4: Integrated Control Interface
 With this tool one clicks on a node and drags it around, observing acoustical feedback to one's movements. Movement of one node engenders movement of all nodes to which that node is connected (depicted by lines in the diagram). Each connection is defined by a "weight" according to which the movement of one node will effect the movement of its attached node. So, for instance, movement of the node labeled "N1" would cause movement of nodes "N2", "S", and "B" by weight factors of -2.0, .5, and 1.0 respectively. 6. ExperimentsThe synthesis model is currently implemented within a real-time sound synthesis and composition system[8] and is built on top of the AREAL real-time synthesis library for Windows 95 and Windows NT. Two to four simultaneous streams of sounds based on this algorithm can run comfortably on a Pentium-Pro based system running at 200 MHz.Several "classes" of acoustical behavior can be described. . . .

Go here to download presentation which includes audio demos.
 

9. References