Sound Synthesis Based
on Ordinary Differential
Equations
Nikolaos Stefanakis,∗ Markus Abel,†
and Andr´e Bergner∗∗
∗UP Transfer GmbH
University of Potsdam
Am Neuen Palais 10
14469 Potsdam, Deutschland
nstefana@ics.forth.gr
†Ambrosys GmbH
Albert-Einstein-Str. 1–5
14467 Potsdam, Deutschland
markus.abel@ambrosys.de
∗∗Native Instruments GmbH
Schlesische Straße 29–30
10997 Berlin, Deutschland
andre.bergner.0@gmail.com
Abstrakt: Ordinary differential equations (ODEs) have been studied for centuries as a means to model complex
dynamical processes from the real world. Trotzdem, their application to sound synthesis has not yet been fully
exploited. In this article we present a systematic approach to sound synthesis based on first-order complex and
real ODEs. Using simple time-dependent and nonlinear terms, we illustrate the mapping between ODE coefficients
and physically meaningful control parameters such as pitch, pitch bend, decay rate, and attack time. We reveal the
connection between nonlinear coupling terms and frequency modulation, and we discuss the implications of this
scheme in connection with nonlinear synthesis. The ability to excite a first-order complex ODE with an external input
signal is also examined; stochastic or impulsive signals that are physically or synthetically produced can be presented
as input to the system, offering additional synthesis possibilities, such as those found in excitation/filter synthesis and
filter-based modal synthesis.
Ordinary differential equations (ODEs) and time-
difference equations are the two most common
mathematical tools used for the analysis and
modeling of dynamical processes of the real world.
They are of primary interest in physics, mit
applications in qualitative analysis of dynamical
Systeme (z.B., by dimension, Lyapunov exponents, oder
entropies), in signal prediction, and in classification
(Packard et al. 1980; Gouesbet and Letellier 1993;
Baake et al. 1992).
The techniques to solve these problems are
usually subsumed under the term “reconstruction,”
since one is faced with the question of how to
determine a system given the data, d.h., how to solve
the inverse problem (Kantz and Schreiber 1997).
In music, dynamical systems have been proposed
as a means for modeling and synthesizing natural
Geräusche. The particular theory is appealing when
applied to the domain of speech, as well as to that
of many physical instruments exhibiting nonlinear
Computermusikjournal, 39:3, S. 46–58, Fallen 2015
doi:10.1162/COMJ a 00314
C(cid:2) 2015 Massachusetts Institute of Technology.
behavior, and their resynthesis has not been solved
in a satisfactory manner by linear methods. Work
by Axel R ¨obel (2001) is an excellent paradigm of
how this method can be applied to the resynthesis
of sustained sound, and Bernd Schoner (1996) hat
extended the research to a case where the dynamic
model is designed to accept an input signal as
well.
Gleichzeitig, dynamical systems are at-
tractive from the perspective of synthesis, d.h., für
the generation of completely artificial structures.
The concepts of chaos and fractals have inspired re-
searchers to exploit nonlinear dynamical systems for
sound synthesis and musical design since the days
of analog synthesizers (Slater 1998). In der Tat, simple
and deterministic dynamic models prove to be very
efficient synthesis engines, producing surprisingly
complex behavior (Argyris, Faust, and Haase 1995).
Researchers have exploited this type of behavior
in connection with parametric control of nonlin-
ear maps (Pressing 1988; Manzolli 1993; Damiani
et al. 2000), or in connection with physical mod-
els (Lindemann 1988; Rodet and Vergez 1999a, B)
as a means to extend the user-defined timbral
46
Computermusikjournal
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
parameters of these models and to create routes to
chaos.
This article presents a general framework for
sound synthesis based on the numerical integration
of a system of coupled nonlinear ODEs, which can be
driven by an external input signal. We believe that,
although the mathematical and physical aspects of
such systems are more or less known, their potential
in sound synthesis has not yet been fully addressed.
Außerdem, even when ODEs have been exploited
for such purposes in prior work, to our knowledge
none has revealed the significant advantage that
arises when using ODEs in the complex domain
rather than in the real domain. As will be shown,
a first-order complex ODE offers a set of control
parameters that are much more meaningful, beide
physically and functionally, in comparison with
a real ODE. We start the discussion with a linear
first-order ODE with a time-dependent term that
can be analytically “tuned” to respect desired
amplitude and temporal characteristics. We then
introduce obvious nonlinear terms for enriching
the bandwidth of the generated sounds and for
producing dynamic behavior that is more complex.
As will be shown, a system of coupled deterministic
ODEs becomes a powerful synthesis engine with
both additive synthesis and nonlinear synthesis
capabilities. Gleichzeitig, use of external
input in the ODEs allows the implementation of
forms of synthesis such as excitation/filter synthesis
and filter-based modal synthesis. The rest of the
article conveys the necessary technical information
associated with ODE sound synthesis. Endlich, Klang
samples are available online at mitpressjournals
.org/doi/suppl/10.1162/COMJ a 00314.
General ODE Framework
Our synthesis platform is formulated in terms of the
general framework of N first-order complex ODEs
(CODEs)
˙y1 = f1(T, y1, y2, . . . , yN, x1),
˙y2 = f2(T, y1, y2, . . . , yN, x2),
…
˙yN = fN(T, y1, y2, . . . , yN, xN),
(1)
with state-space coordinates y1, y2, . . . , yN ∈ C. Hier,
the overdots denote differentiation with respect to
time t, d.h., ˙y = dy/dt, and x1, x2, . . . , xN denote a real
or complex external input signal. There is a signif-
icant advantage in using a complex variable here:
y = r e jθ , which means that y provides simultaneous
information about the phase and the envelope at
each time instant. The parameters of the nth oscilla-
tor are encoded inside the definition of the standard
function fn. Given fn(·) and an initial condition y0,n
for all n = 1, 2, . . . , N, the dynamical system above
can be numerically integrated, returning N different
complex outputs.
(cid:2)
ˆy1(T) =
ˆy2(T) =
ˆyN(T) =
T
0
(cid:2)
T
…
(cid:2)
0
T
0
f1(T, y1, y2, . . . , yN, x1)dt, y1(0) = y0,1,
f2(T, y1, y2, . . . , yN, x2)dt, y2(0) = y0,2,
fN(T, y1, y2, . . . , yN, xN)dt, yN(0) = y0,N.
(2)
A sound signal s[k] = s(kT) can then be acquired at a
sampling rate Fs = 1/T as a mixture of all oscillator
outputs at each time index k as
S[k] =
N(cid:3)
n=1
μnRe{ ˆyn[k]},
(3)
where ˆyn[k] = ˆyn(kT), μn is the user-defined gain of
the nth oscillator, and Re{·} denotes the real part
of a complex number. At first glance, the approach
presented reveals a connection to additive synthe-
Schwester; each equation in the system of ODEs can be
associated with a different mode of vibration and a
synthesis result can be obtained as a superposition
of modes. Andererseits, in the context of non-
linear dynamics, the same system is expected to be
capable of producing quasiperiodic and even chaotic
behavior. It will be shown in the course of this
article that the addition of simple nonlinear terms
can provide an efficient way to enrich the bandwidth
of the generated sounds and that nonlinear coupling
of ODEs is the cause of frequency modulation.
Stefanakis et al.
47
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
Although the complex ODE framework is of
primary interest in this article, it is also worth con-
sidering an identical mathematical framework in
terms of real ODEs, in which case y1, y2, . . . , yN ∈ R.
The real ODE (RODE) framework can be exploited
for designing envelopes, and these envelopes can
be used for modulating a deterministic or stochas-
tic input signal. The use of a noise signal as
input is particularly interesting in the so-called
subtractive-synthesis approach. For synthesis of
drum sounds, Zum Beispiel, a CODE and a RODE can
be used, jeweils, for designing deterministic
and stochastic components that can be combined to
produce a more complete timbre of the percussive
instrument, similar to that which can be found in
the work of Aramaki and colleagues (2006).
Linear ODE with Time-Dependence
As a starting point, in this section we introduce
a simple linear ODE that includes time depen-
dence as a means for achieving desired temporal
and amplitude characteristics. Our approach has
the gammatone function (Cooke 1993) as a proto-
type function. Gammatones are used in auditory
modeling for constructing time-domain filters that
approximate the frequency resolution of the human
cochlea. For our purposes, we consider a slightly
modified gammatone function, defined strictly for
t ≥ 0 in the complex domain as
j(T) = α(T + (cid:4))Sei(σ + jω)T.
(4)
Here α and b are the amplitude and the order of
the modified gammatone, ω = 2π f and σ are the
radial frequency and decay rate, Und (cid:4) is a small
positive constant that is necessary for reasons that
will become apparent later. Whereas a modified
gammatone of order b = 0 is essentially an expo-
nentially decaying complex harmonic, orders of b
greater than zero are excellent examples of sounds
characterized by slow amplitude buildup. The gam-
matone functions exhibit one global maximum, Und
the time tp, when this occurs, varies in proportion
to the value of b. Aus diesem Grund, the value b can be
used as a parameter for controlling the attack time
in both the CODE and the RODE framework. Jetzt,
an equivalence between the analytical function of
the modified gammatone and a dynamical system
relies on the observation that the first derivative of
j(T) in Gleichung 4 can be expressed as
˙y = by
T + (cid:4)
+ (σ + jω)j.
(5)
Forward integration of this dynamical system,
subject to a properly defined initial condition, Ist
expected to reproduce a signal that respects the
characteristics of the original gammatone function.
In the form of Equation 5 one can already observe
a usable mapping between the ODE parameters
and the classic sound-design parameters of decay
rate σ and frequency f . Auch, the role of the
time-dependent term by/(T + (cid:4)) in controlling the
attack time of the synthesized signal can easily
be interpreted. We illustrate this by showing that
any first-order complex ODE, such as that shown
in Gleichung 5, can be decoupled into two simpler
ODEs where the frequency and the amplitude are
decoupled. Keeping in mind that y is a complex
Variable (y = r e jθ ), Gleichung 5 can be decomposed
into polar form as
(cid:5)
(cid:4)
σ + B
T + (cid:4)
˙r =
R ,
(6)
˙θ = ω,
(7)
(cid:6)
(cid:6)
(cid:6) and denotes the instan-
(cid:6)j(T)
where r (T) is equal to
taneous amplitude or the envelope of the signal,
and ˙θ (T) is the instantaneous radial frequency. In
the current form, it is assumed that b has only a
real part, so it has no influence on the frequency
of oscillation. Assuming that σ < 0, it becomes
obvious from Equation 6 that while σ + b/(t + (cid:4)) > 0
the envelope of r (T) will have a positive slope, Und
after the time t = tp the slope of the envelope will
become negative.
In the Appendix we show that given a value of
σ and (cid:4), a sound with user-defined attack time tp
and intensity r p can easily be synthesized by setting
the value of b to −σ (tp + (cid:4)) and setting the initial
condition so that it satisfies
(cid:6)
(cid:6)j(0)
(cid:6)
(cid:6) = r p
r ∗
P
,
(8)
48
Computermusikjournal
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
Figur 1. Synthesis result
using Equation 9 mit dem
values of b and r0 derived
analytically as a function
of the desired attack time
tp and peak amplitude rp.
The three envelopes reach
the same peak value of 0.8
but at different attack
mal. Observe the
variance in the initial
condition r0 for each curve.
where r ∗
p is an amplitude normalization constant
derived from the analytical solution of the ODE.
Among the many possible physical meanings of
the term “intensity,” we have the ability here
to associate it directly with the peak value of
the envelope of the synthesized signal r p = r (tp).
Gleichung 8 actually dictates that the phase of the
initial condition is an additional free parameter
that either can be defined by the user or can vary
automatically according to some arbitrary criteria.
Zum Beispiel, if the real part of the synthesized
signal is used for playback, we could set the initial
condition to have only an imaginary part. Das
can ensure that there will be no audible clicks in
the rendered signal. Alternativ, the phase of the
initial condition can vary according to the value of
the previous sample, thereby ensuring continuity
in the case of a succession of different percussive
Veranstaltungen. In Abbildung 1 we present an example with the
RODE
˙r = −12r + B
T + (cid:4)
R , R (0) = r0,
(9)
mit (cid:4) = 2.72 · 10−4, the desired peak amplitudes of
r p = 0.8, and the desired attack times of tp = 0.01,
0.05, Und 0.15 seconds. In diesem, as well as in following
examples, the ODEs are integrated forward in time
using the built-in MATLAB function ode45. Der
value of b and the initial condition r0 are defined
analytically as a function of r p and tp. It can be
observed that the actual attack times and peak
amplitudes coincide exactly with the desired values,
whereas the initial condition r0 varies as necessary
to achieve the desired amplitude and temporal
characteristics of r p and tp.
At this stage it is worth noting additional free
parameters that arise from the preceding analysis.
One case is the value of (cid:4), which so far has been
treated as a default constant but in practice can
provide interesting sound-morphing capabilities. Von
looking at the expression of the modified gammatone
Funktion, (cid:4) is a default time offset that is translated to
an amplitude offset at t = 0. Its value can therefore
be varied as a means to affect the amplitude
offset at t = 0. Additional sound-design capabilities
arise by considering b to have an imaginary part
b = bR + jbI , over and above its real part. Der
imaginary part can be used to enforce a kind of
time-dependent frequency variation in the system.
The reader can verify that in this case, Gleichung 7
will be modified in the form ˙θ = ω + bI /(T + (cid:4)),
leaving unaffected, Jedoch, the expression of the
amplitude in Equation 6.
Nonlinearities and Their Role
in the Synthesis Process
The dynamical system presented in Equation 5 can
be solved analytically, which means that we know
exactly what maximum amplitude is achieved and
what the attack time will be. This allows us to
establish a precise one-to-one mapping between the
desired temporal and amplitude characteristics of
the trajectory and the ODE coefficients. Neverthe-
weniger, the sonic capabilities of this simple oscillator
are relatively poor, at least outside the context of an
additive-synthesis approach, where many partials
would be added together to produce a sound that is
more complex. This section considers the addition
of nonlinear terms as a means for enriching the
outcome of the ODE, while highlighting the connec-
tion to other forms of synthesis, such as nonlinear
synthesis.
Dependence of Frequency and Decay
on Amplitude
A very basic type of nonlinearity that can be
considered is in the form |j|m y, with m ∈ N+. Der
dynamical system of Equation 5 can thus be enriched
Stefanakis et al.
49
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
Figur 2. Effect of
increasing the nonlinearity
in Gleichung 13, shown in
the amplitude of the signal
(A) and in the frequency
(B). Note that amplitude is
scaled logarithmically
In (A).
als
˙y = (σ0 + j2π f0)j + B
j
T + (cid:4)
+ C |j|m y,
(10)
providing the additional user-defined parameters
c ∈ C and m. Rewriting c = cR + jcI , it can be
observed that cR and cI will influence the dynamics
of the system in completely different manners.
Wieder, this can be better understood by decoupling
the amplitude and frequency of the complex variable:
(cid:4)
˙r =
σ0 + bR
1
T + (cid:4)
˙θ = 2π f0 + cIr m,
(cid:5)
+ cRr m
R
(11)
(12)
where we can see that cI influences the frequency
of the system but, at least in the current context,
it has no effect on the amplitude of the oscillator,
whereas cR influences both characteristics, as ˙θ is
inevitably coupled to the envelope r . Obviously, für
f = 0 and for real b and c, the system of Equation 10
represents a RODE. In the more general case of
a CODE, the nonlinearity thus introduced makes
the frequency and decay depend on the amplitude.
The first effect is well known in the physics of
percussion and string instruments as “tension
modulation” (Tolonen, V ¨alim ¨aki, and Karjalainen
2000; Avanzini, Marogna, and Bank 2011); Die
instantaneous frequency increases instantly at the
onset of the note before converging to its nominal
value. Auch, several commercial synthesizers are
equipped with “time-varying pitch” or “pitch-
bend” mechanisms, forcing the pitch to vary in
time according to, Zum Beispiel, a user-defined
envelope. Andererseits, there are also real-
world examples of decay depending on amplitude.
Zum Beispiel, Daniel Martin reports a double decay
profile in piano tones (Martin 1947). Another related
example from physics is the “hardening spring,”
where the stiffness of the spring is not constant but
increases with displacement (Strogatz 1994).
The following series of simple examples shows
that the simple nonlinear dynamical system of
Gleichung 10 can produce a rich variety of decaying
and sustained sounds. As a first example, consider
the CODE
˙y = (−12 + j2π 250)j + 0.75
j
T + (cid:4)
+ C |j| j,
(13)
with initial condition y0 = 0.1 and parameter c
taking values from the set {0, −25 + 25 J, −100 +
100 J}. The characteristics of the generated signal
are shown for different values of c ∈ C in terms
of amplitude (in dB) in Figure 2a and in terms of
frequency in Figure 2b. We deliberately plotted the
amplitude variation using a logarithmic scale to
show the influence of the nonlinearity. We note
that exponential decay corresponds to a constant
dB/sec rate, which means that, in a logarithmic
scale, one should observe a straight line. Das ist
indeed the case for all three envelopes but only after
some considerable amount of time after the onset,
when the influence of the time-dependent and the
nonlinear term is negligible in comparison to the
other term. Obviously, the influence of term c |j| j
is stronger at higher amplitudes, and it vanishes
completely as the amplitude decreases, in which case
the decay curve is completely governed by the value
of σ . In this transition phase, the nonlinearity offers
50
Computermusikjournal
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
Figur 3. Sustained
oscillations corresponding
to different values of σ (A)
and to different values of
B (B).
interesting possibilities for morphing the envelope;
for the second and third curve one can notice
a steeper decay immediately after the oscillation
reaches the peak amplitude. Additional effects worth
mentioning are the decrease of both the attack time
and the peak amplitude r p with decreasing cR. In
Figure 2b we used a simple zero-crossing algorithm
to plot the variation of instantaneous frequency
against time for the same three dynamical systems.
The dependence of frequency on amplitude is
obvious for the nonzero values of the parameter c.
Apart from decaying sounds, the nonlinearity
has interesting potential in the design of sustained
sounds as well. To see that, consider the RODE
˙r = σ r + 0.05
R
T + (cid:4)
− 75r 2,
(14)
with σ ∈ {5, 15, 25} and the initial condition r0 = 0.1.
It is trivial to see here that, because σ takes positive
Werte, the ODE reaches the fixed point r = 75/σ .
The trajectories corresponding to the different
values of σ are shown in Figure 3a. For an additional
Beispiel, consider the RODE
˙r = 15r + B
R
T + (cid:4)
− 75r 2
(15)
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
with b ∈ {0.1, 0.25, 0.4, 0.55}. The trajectories illus-
trated in Figure 3b indicate that, although the same
fixed point is always reached, the value of b has
a very visible effect on the attack region of the
generated signal. Insbesondere, increasing the value
of b results in a decrease of the attack time but,
simultaneously, in a higher peak value. This offers a
rich palette for morphing the shape of the generated
envelope, which in turn can be used for modulating
a stationary deterministic or stochastic signal.
Frequency Modulation
In this section we examine nonlinearities of the
bilden (j + y∗)y and (y − y∗)j, where the asterisk
superscript (*) denotes the complex conjugate. Das
provides further enrichment of the right-hand side
of the oscillator in the form
j
T + (cid:4)
˙y = (σ0 + j2π f0)j + B
+ D(j + y∗)j + e(y − y∗)j.
(16)
Allgemein, d and e can be complex coefficients, Aber
here we assume that they are both real. This ensures
that the terms d(j + y∗) and e(y − y∗) are strictly real
and imaginary quantities, jeweils. Wieder, von
decoupling the amplitude from the frequency we
derive
(cid:4)
(cid:5)
˙r =
σ0 + bR
+ 2d cos(θ )R
R ,
1
T + (cid:4)
˙θ = 2π f0 + bI
1
T + (cid:4)
+ 2e sin(θ )R.
(17)
(18)
It can be seen that the two nonlinearities are
transformed into terms of the form d cos(θ )R 2 Und
e sin(θ )r in the expression of the amplitude and the
frequency. Mit anderen Worten, they enforce a kind of
frequency modulation upon the dynamical system,
with a time-varying modulating frequency ˙θ and
amplitude r . This is an extremely useful mechanism
for increasing the bandwidth of the synthesis result,
as well as for creating traditional effects such as
tremolo and vibrato (Chowning 1973). It is worth
noting an important difference between an e(y − y∗)
and a d(j + y∗) term in the ODE: The first term
affects only the oscillation frequency, Bedeutung
Stefanakis et al.
51
Figur 4. Example of
frequency modulation.
Spectral magnitude for the
output of the CODE in
Gleichung 19 when e = 0 In
(A) and e = 1500 In (B).
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
by restricting the values of the ODE coefficients.
Zum Beispiel, under the condition that σ , cR ≤ 0, Die
oscillator will be always stable as long as d = 0. Aber
when the amplitude is coupled to the frequency,
as for example in Equation 17, stability analysis
becomes a complicated task. Inevitably, if we use a
greater number of coupled ODEs, thereby increasing
system complexity, either we run out of theoretical
tools for such an analysis or the required mathemat-
ics start to become intractable. We believe that a
more practical way to deal with problems of insta-
bility is to apply control to the dynamical system.
In the general context of control theory, a controller
manipulates the inputs to a system according to
some reference in order to obtain a desired effect on
the output of the system (Chernousko, Ananievski,
and Reshmin 2008). Folglich, we implement
an amplitude control mechanism to stabilize the
System: We add a term to the right-hand side that
acts according to a user-defined threshold q > 0 als
G(j) = p(E(j) − q +
(cid:6)
(cid:6)
(cid:6))H(t − tc)j,
(cid:6)E(j) − q
(21)
where p ≤ 0 and tc ≥ 0 are user-defined parame-
ters, E(j) is a measure of the local energy of the
oscillation, and H(·) represents the Heaviside step
Funktion. The mechanism is activated in the ODE
only when both the local energy of oscillation
that the reproduced envelope will coincide exactly
with the envelope in the case of total absence of
the nonlinearity. This basically means that when
e(y − y∗)y is the only nonlinear term, we can still
control r p and tp according to the analysis presented
earlier. Andererseits, a term of the form
D(j + y∗)y couples the amplitude to the frequency,
and the analytical relation—which allows explicit
control of attack time and peak amplitude—is not
valid anymore.
Although Equation 16 represents a case of self-
modulation (d.h., the ODE modulates itself), es ist
obvious that the mechanism can be extended to
cases of cross modulation, where two or more
CODEs are nonlinearly coupled. We illustrate an
example by considering a system of two CODEs
bidirectionally coupled as
˙y1 = (−7 + j2π 320)y1 + 0.1
T + (cid:4)
y1 + 1500(y2 − y∗
2)y1,
˙y2 = (0 + j2π 400)y2 + e(y1 − y∗
1)y2.
(19)
(20)
with e ∈ R being a free parameter. The case e = 0 Ist
the simplest example, in which the second CODE
plays the role of the modulator and the first plays
the role of the carrier. For this case, the spectral
magnitude of the first CODE’s output can be seen
in Figure 4a. The peaks in the frequency response
are in accordance with the basic theory of frequency
modulation (Chowning 1973). It is worth illustrating
an additional example, Jedoch, by setting e = 1500.
In this case, the previous distinction between a
modulating and a carrier CODE is less clear, Weil
both CODEs are carriers and modulators at the same
Zeit. The spectral magnitude of the first CODE’s
output is shown in this case in Figure 4b, Wo
it is obvious that a sound with a richer spectrum
is produced. Natürlich, the example presented here
can be generalized to more than two CODEs.
Amplitude Control
Nonlinearities connected to the amplitude of the os-
cillation not only make the trajectory unpredictable,
but they contain the risk of making the oscillation
unstable. Instability issues can be partly addressed
52
Computermusikjournal
Figur 5. Synthesized
envelope with and without
amplitude control for
different values of the
threshold q and the attack
time tc in Equation 22.
exceeds the threshold q and the time t is greater
than the attack time parameter tc. Oscillation above
the maximum power q is penalized by generation
of additional damping. One possibility for E(j) Ist, von
course, the envelope of the signal, E(j) = |j|, but one
could also use the absolute value of the real part,
d.h., E(j) = |Re{j}|. Not only can this mechanism
prevent instability, but it can also help to avoid
audio clipping by restricting the dynamic range of
the synthesized signal to a range within ±q. Apart
from that, this approach offers sound-morphing
capabilities that, from a functional point of view,
are similar to classical dynamic compression in
audio engineering: Parameters p, Q, and tc can be
used to constrain the dynamic range, similarly to
the control parameters “ratio,” “threshold,” and
“attack” found in most dynamic compression units
(Izhaki 2012).
In Abbildung 5 we illustrate an example with a fixed
value of p = −15, using the RODE
˙r = −6r + 0.35
T + (cid:4)
r − 15(r − q + |r − q|)H(t − tc)R ,
(22)
with initial condition r (0) = 0.4 and different values
for the threshold q and the attack time tc. As can
be observed, the mechanism can be used to affect
both temporal and amplitude characteristics of the
trajectory.
CODEs with External Input
In the examples we have seen so far, we have
assumed that there is a nonzero initial condition
that perturbs the dynamical system from rest to
produce a signal. In der Tat, the initial condition is the
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
simplest control stream required for triggering an
ODE, and it is straightfoward to associate the initial
condition with the velocity message of a MIDI
controller. But from another point of view, any type
of audio signal, synthetic or physical, presented as
external input in the ODE, can be used to cause the
dynamical system to evolve in time.
Stochastic CODE
Using noise for sound synthesis purposes is defi-
nitely not a new concept. Noise is the easiest mean
for synthesizing broadband signals, and subtractive
synthesis is probably the most representative ex-
reichlich (Cook 2002). From the point of view of a
subtractive synthesis method, a RODE can be used
to design an envelope for windowing a noise signal.
Zusätzlich, a noise signal can be presented as input
to the CODE, thus turning a deterministic ODE into
a stochastic one. Such an approach has implications
for excitation/filter synthesis (Laroche and Meillier
1994), where the deterministic part of the CODE
plays the role of the resonant filter and the input
signal plays the role of the “exciter.” In this context,
we choose to illustrate an example by considering a
nonlinear CODE without time dependency
˙y = (−11 + j2π 300)j + (−8 + j25) |j| j
+ 750(j + y∗)j + kx,
(23)
where x ∈ R is a stationary, Gaussian white-noise
sequence with standard deviation equal to one, Und
k ∈ R is the coefficient that weights the external
Eingang. To facilitate comparison, we consider a
similar CODE without any external forcing (k = 0),
excited by the initial condition y0 = 1i. Figur 6
shows the signal characteristics of the time and
frequency domains for the signal produced by the
CODE with noise input (k = 300) and without noise
Eingang (k = 0).
What is generally observed from Figure 6c is
that noise makes the system oscillate with random
variations in the amplitude. Note that in this
Beispiel, the noise input stops at exactly t = 1 Sek,
and after this point the system decays smoothly
to silence. Remembering that white noise has a
flat power spectrum, one can observe in Figure 6d
Stefanakis et al.
53
Figur 6. Example of a
deterministic and a
stochastic CODE
corresponding to
Gleichung 23 in the text.
Time- Und
frequency-domain output
of the CODE is shown
without any stochastic
excitation (A, B) and with
stochastic input (C, D). Der
noise input stops at t = 1
zweite.
that the stochastic CODE preserves the same shape
in the frequency response as the deterministic
CODE (with k = 0), but the spectral peaks are now
superimposed on an audible noise floor. Observe,
Jedoch, that integration acts as a smooth filter
with an attenuation of −3dB per octave, d.h., Es
turns white noise into pink noise. Allgemein, Die
stochastic CODE acts in this case as a filter with
resonant frequency and bandwidth determined by
the values of f0 and σ , jeweils.
We have observed that the stochastic CODE
offers an interesting potential for synthesizing
the timbres of wind instruments, especially in
combinations with simple types of nonlinearity,
such as self-modulation of the form (j + y∗)j,
resulting in the appearance of frequency partials
that are harmonically related to the fundamental
frequency. The reader is invited to listen to the
sound examples (mitpressjournals.org/doi/suppl
/10.1162/COMJ a 00314/) in which stochastic
CODEs are integrated into several different cases of
nonlinearity.
CODE Excited by Impulsive Input
Among the most interesting types of signals pre-
sented as external input in the ODEs are impulsive
Geräusche. A system consisting of CODEs that are
excited by impulsive input is conceptually sim-
ilar to filter-based modal synthesis (Cook 2002);
each CODE can be seen as a resonant filter that
is responsible for the generation of a single mode
of vibration. The excitation signal can, Natürlich,
be processed using basic rules to model different
plucking conditions and strengths.
A particularly interesting case appears when the
impulsive excitation is produced naturally, by the
interaction of the user with one or more physical
Objekte. Obviously, percussionists playing their
instruments are the most representative example
of such interaction in music, but even simple day-
to-day objects that do not belong to a particular
category of musical instruments can be used as
the source of impulsive excitation. In combination
with classical signal-processing techniques, solch
as onset detection and classification, such objects
can be transformed into real-time musical control
interfaces to produce the control stream required
for triggering a sound-synthesis engine (Stefanakis,
Mastorakis, and Mouchtaris 2014). The synthesized
sound can then be used to augment or to completely
replace the physical sound. Im Rahmen einer
system of ODEs that accepts external input, Die
physical sound may be directly used as the control
stream required for triggering the synthesis engine.
54
Computermusikjournal
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
Figur 7. Example of two
CODEs (Equations 24 Und
25) excited by the same
impulsive input. The plots
show the external input
signal (A), the output of the
first CODE (B), und das
output of the second
CODE (C).
We present an example based on a recording that
involves two simple objects, previously used in the
work of Stefanakis, Mastorakis, and Mouchtaris
(2014): a box made of recycled paper and an empty
bottle made of glass. The short impulsive sound
produced by striking each object was recorded with
ein Mikrofon, and the recorded signal was passed
as external input into a system consisting of the
low-frequency and high-frequency CODEs
˙y1 = (−16 + j2π 300)y1 + j135 |y1| y1 + 150X,
˙y2 = (−18 + j2π 3000)y2 + j45 |y2| y2 + 1500X,
(24)
(25)
with x ∈ R again denoting the external input signal.
Figur 7 shows time-domain plots of the excitation
signal and of the real part of the two CODEs’
output. Observe that the response of each CODE
is significantly different in terms of amplitude. In
besondere, the first CODE is insensitive to bottle
excitation, while the second CODE reacts more
weakly to box excitation. This happens because
the two objects produce inherently different sonic
timbres; the energy is distributed at the lower
frequencies for the box but at the higher frequencies
for the bottle. It can thus be seen that there is an
equivalence between sound synthesis and filtering
in this example: the CODEs act as bandpass filters
with central frequencies equal to their fundamental
frequencies of 300 Und 3000 Hz. This behavior
is interesting in the sense that the spectra of
the excitation signal can qualitatively affect the
dynamics of the synthetic signals, which can be
exploited for achieving variability in the synthesis
Verfahren.
The possibility of triggering a synthesis process
by using a physical signal is very interesting, Aber
it is also worth noting that the presented CODE
could also exploit information related to an onset-
detection and classification algorithm. Zum Beispiel,
onset detection could provide the necessary resetting
of time required in the presence of time-dependent
terms in the ODES, while a class label associated
with percussionist gestures could be used to activate
or deactivate a particular CODE, depending on
a user-defined association between gestures and
CODEs.
Synthesis Based on a System of CODEs
In this section we present a generic mathematical
formulation that includes all the synthesis mech-
anisms presented so far, while revealing additional
forms of interaction that become possible when
considering multiple coupled CODEs. We begin the
analysis here by rewriting the system of N CODEs
shown at the beginning of the article in a more
compact form:
˙y = F (j, X, T), j(0) = y0,
(26)
using the vector notation ˙y = [ ˙y1,
˙y2, . . . , ˙yN]T,
y = [y1, y2, . . . , yN]T, y0 = [y01, y02, . . . , y0N]T, Und
x = [x1, x2, . . . , xN]T. We also need the notation
ym
E
= [|y1|M , |y2|M , . . . , |yN|M]T
Stefanakis et al.
(27)
55
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
for the mechanisms of tension modulation and
nonlinear decay, sowie
yc = [G(y1, q1, tc,1, T), . . . , G(yN, qN, tc,N, T)]T,
(28)
mit
G(yn, qn, tc,N, T) = (E(yn) − qn +
(cid:6)
(cid:6)E(yn) − qn
(cid:6)
(cid:6))H(t − tc,N),
(29)
for the mechanism of amplitude control with user-
defined thresholds qn and attack times tc,N. Based
on these mathematical structures, Gleichung 26 can
now be written as
(cid:4)
A + 1
+ D(j + y∗)
˙y =
j +
N(cid:3)
(cid:7)
Cnymn
E
(cid:5)
T + (cid:4) B
n=1
(cid:8)
+ E(y − y∗) + Pyc
◦ y + Kx.
(30)
Here ◦ denotes the Hadamard product. All bold cap-
ital letters are N × N coefficient matrices carrying
the synthesis control parameters.
Based on the analysis in the previous sections,
the sound-morphing potential of each term in
Gleichung 30 can already be imagined. In the general
Fall, the coefficient matrices are fully populated N ×
N complex matrices. Diagonal terms are responsible
for processes that are intrinsic to each CODE,
whereas nondiagonal terms in the matrices are
responsible for coupling between CODEs. Der
diagonal terms of A carry the decay rate and
fundamental frequency of each CODE, und das
nondiagonal terms are responsible for additive
coupling. Matrices Cn, n = 1, 2, . . . , N are responsible
for inserting tension modulation and nonlinear
decay into the CODEs. Nondiagonal terms of Cn can
be exploited to make the decay rate or the frequency
of a particular CODE depend on the amplitude
of another CODE, a scenario that has not been
explicitly presented in this article but obviously
has some interesting potential. Matrices D and E
are intended here for frequency modulation, Und
we recommend that they be restricted to the real
Domain. The same holds for matrix P, whose primary
role is to insert amplitude control into the system.
Wieder, nondiagonal terms could produce interesting
Effekte, with the amplitude of one CODE controlling
the amplitude of another, but further discussion of
these effects is beyond the scope of this article. Auch,
the same equation can be enriched with power-
dependent frequency-modulation mechanisms, für
◦ y,
Beispiel, with a term of the form j
where the Ei are again N × N real matrices, pi ∈ N+,
Und
i=1 Eiy pi
(cid:9)
ICH
ICH
y pi
ICH
= [Ich bin{y1} pi , Ich bin{y2} pi , . . . , Ich bin{yN} pi ]T,
(31)
with Im{·} denoting the imaginary part of a complex
number. This design exploits different powers of
the modulator through the parameter pi, which has
a significant impact on the spectral content of the
generated oscillation. The system of Equation 30 Ist
integrated forward in time, returning the complex-
valued vector ˆy(T) = [ ˆy1(T), . . . , ˆyN(T)]T, and the final
output of the synthesis process can be obtained as a
mixture of all N components, as in Equation 3.
Real-Time Capability
In the previous discussion we have shown results
for a prototypical MATLAB implementation of the
ODEs. Now we briefly comment on an implemen-
tation suitable for real-time integration. Zusätzlich,
we tested whether the coefficients in the equations
can be modified in real time, opening up the pos-
sibility of producing different sounds by a simple
“tuning” of the coefficients.
For numerical integration,we used the odeint
Rahmen (Ahnert and Mulansky 2011; see also
www.odeint.com), now part of the Boost template
library (www.boost.org). It is extremely flexible,
and it is used in many scientific and industrial
Projekte. On the audio side, we interfaced odeint
with the PortAudio library. Development was done
under Linux (Ubuntu) and MacOSx using the GNU
compiler g++ with C++11 support. We were able
to integrate systems of up to twelve components
with up to eight additive constituents on the right-
hand side. Because the integrated signal can be
highly nonlinear and may have very steep slopes,
we used the Runge-Kutta 45 method with adaptive
step-size control. On a dual-core i5 CPU, real-time
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
56
Computermusikjournal
execution was feasible without problems. For the
purpose of preliminary testing of the limits of the
integration method, we added increasingly complex
Bedingungen, such as an increasing number of polynomials
of correspondingly higher order and sinusoidal
external driving. Both testing scenarios eventually
led to buffer underflow when the integration could
not fill the PortAudio I/O buffer fast enough. Wir
could not find any systematic behavior in this study,
since the whole program ran on a Linux kernel
with quite a few background processes that had
higher priority than our software. For quantitative
testing, one would probably need to run systematic
tests keeping track of the PortAudio I/O buffer and
the state of the integration. In any case, Systeme
with few components, as in Equation 10, pose no
problem for a real-time application using a high-
level programming language and state-of-the-art
numerical evolution. With optimization of the
numerics, the performance is sure to improve.
Abschluss
Ordinary differential equations have been studied
for centuries as a means to model complex dynam-
ical processes of the real world. Trotzdem, their
application to sound synthesis has not yet been
fully exploited. In this article we have shown that
a system of first-order complex ODEs is a powerful
sound-synthesis platform for the generation of both
decaying and sustained oscillations. We have intro-
duced a simple time-dependent term for controlling
the attack time of the oscillation, and we have
revealed obvious nonlinear and coupling terms with
which the system gains nontrivial sound-morphing
capabilities—for example, pitch bend, nonlinear
decay, and complex forms of frequency modulation.
The ability of the dynamical system to accept exter-
nal input is also an important property; stochastic
or impulsive signals that are physically or syntheti-
cally produced can be used as input to the CODEs,
offering additional synthesis possibilities, similar to
excitation/filter and filter-based modal synthesis.
Whereas other types of dynamical systems
(z.B., those based on difference equations) are known
for their ability to synthesize complex sounds, A
system of CODEs has the important advantage
of providing parameters that are both physically
and functionally meaningful for controlling the
synthesis process. Endlich, the framework presented
here has an obvious connection to reconstruction
and to analysis/synthesis approaches, bei dem die
ODE parameters can be automatically optimized
so that the synthetic sounds match the timbre of
natural sounds used as input in the optimization
stage. The authors are currently validating this
potential of CODEs in the context of percussive
Instrumente.
Verweise
Ahnert, K., and M. Mulansky. 2011. “Odeint: Solving
Ordinary Differential Equations in C++.” In Interna-
tional Conference on Numerical Analysis and Applied
Mathematik, S. 1586–1589.
Aramaki, M., et al. 2006. “A Percussive Sound Synthe-
sizer Based on Physical and Perceptual Attributes.”
Computermusikjournal 30(2):32–41.
Argyris, J., G. Faust, and M. Haase. 1995. An Exploration
of Chaos. Amsterdam: North-Holland.
Avanzini, F., R. Marogna, and B. Bank. 2011. “Efficient
Synthesis of Tension Modulation in Strings and
Membranes Based on Energy Estimation.” Journal of
the Acoustical Society of America 131(1):897–906.
Baake, E., et al. 1992. “Fitting Ordinary Differential
Equations to Chaotic Data.” Physical Review A
45(8):5524–5529.
Chernousko, F., ICH. Ananievski, and S. Reshmin. 2008.
Control of Nonlinear Dynamical Systems. Berlin:
Springer.
Chowning, J. 1973. “The Synthesis of Complex Audio
Spectra by Means of Frequency Modulation.” Journal of
the Audio Engineering Society 21(7):526–534.
Cook, P. 2002. Real Sound Synthesis for Interactive
Applications. Boca Raton, Florida: CRC Press.
Cooke, M. 1993. Modelling Auditory Processing and
Organisation. Cambridge: Cambridge University Press.
Damiani, F., et al. 2000. “A Gestural Control for a
Nonlinear Sound Synthesis Method.” In Proceedings of
the International Conference on Devices, Circuits and
Systeme, S. S92 1–4.
Gouesbet, G., and C. Letellier. 1993. “Global Vector-Field
Reconstruction by Using a Multivariate Polynomial
L2 Approximation on Nets.” Physical Review E
49(6):4955–4972.
Izhaki, R. 2012. Mixing Audio: Concepts, Practices and
Werkzeuge. Boca Raton, Florida: CRC Press.
Stefanakis et al.
57
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
Kantz, H., and T. Schreiber. 1997. Nonlinear Time Series
Analyse. Cambridge: Cambridge University Press.
Laroche, J., and J. Meillier. 1994. “Multichannel Ex-
citation/Filter Modeling of Percussive Sounds with
Application to the Piano.” IEEE Transaction on Speech
and Audio Processing 2(2):329–344.
Lindemann, E. 1988. “Routes to Chaos in a Non-Linear
Musical Instrument Model.” In Proceedings of the
84th Convention of Audio Engineering Society, Pa-
pro 2621 (pages unnumbered). Online verfügbar unter
www.aes.org/e-lib/browse.cfm?elib=4792 (subscription
required).
Manzolli, J. 1993. “Musical Applications Derived from
FracWave Sound Synthesis Method.” In Proceedings
of the 94th Convention of Audio Engineering Society,
Paper 3538 (pages unnumbered).
Martin, D. W. 1947. “Decay Rates of Piano Tones.” Journal
of the Acoustical Society of America 19(5):535–541.
Packard, N. H., et al. 1980. “Geometry from a Time
Series.” Physical Review Letters 45:712–716.
Pressing, J. 1988. “Nonlinear Maps as Generators of
Musical Design.” Computer Music Journal 12(2):35–46.
R ¨obel, A. 2001. “Synthesizing Natural Sounds Using
Dynamic Models of Sound Attractors.” Computer
Musikjournal 25(2):46–61.
Rodet, X., and C. Vergez. 1999A. “Nonlinear Dynamics in
Physical Models: Simple Feedback-Loop Systems and
Properties.” Computer Music Journal 23(3):18–34.
Rodet, X., and C. Vergez. 1999B. “Nonlinear Dynamics in
Physical Models: From Basic Modes to True Musical
Instruments.” Computer Music Journal 23(3):35–49.
Schoner, B. 1996. “State Reconstruction for Determining
Predictability in Driven Nonlinear Acoustical Sys-
tems.” Diploma thesis, Rheinisch-Westph ¨alische Tech-
nische Hochschule, Institut f ¨ur Elektrische Nachricht-
entechnik, Aachen, Deutschland.
Slater, D. 1998. “Chaotic Sound Synthesis.” Computer
Musikjournal 22(2):12–19.
Stefanakis, N., Y. Mastorakis, and A. Mouchtaris. 2014.
“Instantaneous Detection and Classification of Impact
Sound: Turning Simple Objects into Powerful Musical
Control Interfaces.” In Proceedings of the Joint Inter-
national Computer Music Conference and Sound and
Music Computing Conference, S. 1178–1184.
Strogatz, S. 1994. Nonlinear Dynamics and Chaos: Mit
Applications in Physics, Biology, Chemistry, Und
Maschinenbau. Felsblock, Colorado: Westview.
Tolonen, T., V. V ¨alim ¨aki, and M. Karjalainen. 2000.
“Modeling of Tension Modulation Nonlinearity in
Plucked Strings.” IEEE Transactions on Speech and
Audio Processing 8:300–310.
Appendix
We will show that the parameters involved in the
definition of the dynamical system in Equation 5 can
be easily adjusted to respect a user-defined attack
time tp and intensity r p, given a desired decay rate
σ . Looking back at Equation 6, we can see that at
t = tp the value of r must be maximum, therefore b
can be found by solving for ˙r = 0,
bp = −σ (tp + (cid:4)).
(A1)
Although bp now explicitly defines the attack time,
the amplitude level of the synthesized signal will
vary strongly as a function of y(0) and σ . To control
the amplitude, we can derive an estimate of the
maximum amplitude given an arbitrary initial
condition and use this estimate to normalize the
initial condition according to the desired maximum
amplitude r p. Glücklicherweise, Gleichung 6 can be solved
analytically, thus providing an expression of r in
terms of t as
ln(R ) = σ t + bp ln
T + (cid:4)
(cid:4)
+ ln r0,
(A2)
(cid:6)
(cid:6)j(0)
(cid:6)
(cid:6) is the value of the envelope at t = 0.
where r0 =
By replacing t with tp and r0 with 1 in Equation A2,
we can then calculate
ln(r ∗
P) = σ tp + bp ln
tp + (cid:4)
(cid:4)
,
(A3)
where r ∗
p represents the maximum instantaneous
value of the amplitude, given an initial condition
with amplitude equal to 1.
The amplitude of the synthesized signal can now
be controlled by the used-defined parameter r p by
setting the initial condition of our ODE as
j(0) = r p
r ∗
P
e jφ,
(A4)
where φ can have any desired value. Mit anderen Worten,
given this initial condition and the absence of any
nonlinear terms, the synthesized signal will always
reach an amplitude peak at time instant tp and the
value of the envelope at tp will be equal to r p.
58
Computermusikjournal
l
D
Ö
w
N
Ö
A
D
e
D
F
R
Ö
M
H
T
T
P
:
/
/
D
ich
R
e
C
T
.
M
ich
T
.
e
D
u
/
C
Ö
M
J
/
l
A
R
T
ich
C
e
–
P
D
F
/
/
/
/
3
9
3
4
6
1
8
5
6
2
2
0
/
C
Ö
M
_
A
_
0
0
3
1
4
P
D
.
J
F
B
j
G
u
e
S
T
T
Ö
N
0
8
S
e
P
e
M
B
e
R
2
0
2
3
PDF Herunterladen