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