[sdiy] Stretched harmonic synthesis

mskala at northcoastsynthesis.com mskala at northcoastsynthesis.com
Sun Feb 20 15:26:37 CET 2022

On Sun, 20 Feb 2022, rburnett at richieburnett.co.uk wrote:

> Cheater, if you think about it you must store at least two states in order for
> an oscillator to *keep going*!  Otherwise when the sinewave goes through zero
> it would just stop right there because there wouldn't be any energy stored
> anywhere else to keep it going.  That's why resonant systems have to be 2nd
> order at minimum.  As long as there are two states, and the energy moves
> between them, then the system can keep oscillating.

At least that's the case when we're talking about an oscillator that works
by means of linear differential equations, with the output a linear
function of however many (integer-order) derivatives of itself.  You could
do it with just one state variable in a non-linear and maybe discontinuous
situation, for instance by having the state variable be an angle.  That
would be one way to describe how a typical sawtooth oscillator works.  You
also might be able to do something with a fractional-order differential

But I think this "number of state variables" issue may be getting at what
cheater had in mind when talking about a "delay line."  On an intuitive
level, a linear differential equation needs two orders in the equation for
each independent frequency of sine wave you're going to get out.  (Then
you can distort the output non-linearly to get harmonics and intermod
products from those frequencies.)  A second-order equation gives you one
frequency.  A fourth-order, two.  And so on.

Building a circuit that works by explicitly integrating will basically
give you an order of the equation equal to the number of integrations
you're doing; and that is true whether you do the integrations by adding
up digital samples, or with op amps and capacitors, or whatever.  One sine
wave frequency per two integration capacitors and it doesn't matter
whether those sine wave frequencies are harmonics, stretched harmonics, or
completely unrelated to each other.

But if you had a theoretically perfect, infinite bandwidth, delay line in
the analog realm... how many numbers would you have to write down to
describe its state at a given moment?  An infinite number of them!  Even
in the digital realm, if you have a high sampling rate then the delay
line's state has a relatively large number of numbers in it, one for each
sample of delay.  Instead of just the relatively few integrators you might
explicitly build out of op amps and capacitors, the delay line gives you
an intuitively infinite, and really at least "large," number of
integrations going on all at once.

It does seem meaningful to draw a distinction between the case of a
smallish number of integrators built explicitly, and having a large enough
number of integrators (whether you call them a "delay line" or actually do
build them explicitly) that you don't think of them individually and you
talk about their ensemble behaviour instead.  And it seems that if you
want "stretched harmonics" out of a system governed by a linear
differential equation, then you *do* need to get that high order somehow,
whether you call your method of doing it a "delay line" or just a really
big pile of explicitly-built integrators.  The equation doesn't know that
these are stretched harmonics; it's just generating a large number of
sine waves.

A general pattern I've noticed - and I'm not sure whether this may be
already known in acoustics, or whether I could formalize it mathematically
- is that the kind of spectrum you get from something resonating depends
on the number of dimensions the thing has.

An electronic oscillator with a small finite number of reactive components
can be thought of as an oscillating zero-dimensional object.  The
instantaneous states of the reactive components describe just one point,
in a fairly low-dimensional space.  Barring some weird cases like a
chaotic oscillator, that point moves through a fixed cycle, the same cycle
every time it goes around.  And the output you get is a fixed waveform,
strict harmonics of one fundamental.

Something like a string, or cheater's "delay line," or a flute in which
the air column is much longer than it is wide, is basically a
one-dimensional oscillating object.  Describing its complete state
properly requires an infinite number of numbers; but those numbers are
connected to each other in a relatively simple way.  The state at any
given moment is a continuous function of one variable (distance along the
string, air column, etc.).  And those things tend to produce stretched, or
in principle possibly squashed, harmonics.  You still have a spectrum with
distinct partials in it, and they are *almost* as simple as in the
zero-dimensional case, but not quite.  Each partial corresponds to a
different vibrational mode of the string or whatever, and those modes
"see" different sizes of object because of effects like string stiffness
at the ends, so their relationship to each other is not quite as simple as
being integer multiples; but it's still close to that.

With a two-dimensional drum head, again you need an infinite number of
numbers to describe its state (displacement at each point) but they are
even less connected to each other because the state is a function of two
variables (X and Y coordinates, if you will).  Drum heads tend to have
distinct sine-wave vibrational modes, but those modes are in complicated
non-integer ratios to each other.  Bells and gongs display similar
spectra:  still spiky partials, but not necessarily at integer ratios to
each other.  Bells in particular may be designed to try to make at
least some of the partials be in integer ratios, but there's nothing
inherent to *cause* that.

When you've got air in a three-dimensional space vibrating, like the air
in a room or in a human vocal tract, it's another level of complexity.
Infinite dimensional again (pressure at every point in the
three-dimensional space), but even less correlation between nearby points
because of the three-dimensional topology.  And these kinds of situations
characteristically have "formants" - the spectrum ends up having *bands*
of partials instead of discrete spikes.

It's not easy to model things further along that complexity scale with
just zero-dimensional electronic oscillators and filters.  That's part of
the impetus for using digital techniques, which end up faking it by using
a large number of zero-dimensional states.

Matthew Skala
mskala at northcoastsynthesis.com

More information about the Synth-diy mailing list