models of sound-generating structures
the most fundamental sound generator is the sine wave, since any periodic or aperiodic digital sound can be represented as a sum of sinusoids with varying frequencies, amplitudes, and initial phase offsets. in a digital system, this additive representation is complete: any sound that can be defined as a sequence of discrete samples can also be synthesized exactly using this method.
noise presents a particularly demanding case for additive synthesis. accurately reproducing white noise requires a dense collection of frequency components with randomized amplitudes and initial phases. while this is entirely feasible in a digital system, it is both computationally inefficient and tends to be artistically and technically unmanageable. the parameter space is unstructured, and small changes can lead to large, unintuitive variations in the result.
for this reason, noise is implemented as a separate generator using subtractive synthesis via filtering. this avoids the overhead and unpredictability of additive construction, but introduces its own limitations. because perfect filters are not achievable in a discrete system, any real filter introduces spectral and temporal distortion, especially under modulation or time-localized shaping.
sine amplitude: continuous(t) frequency: discrete(t) noise amplitude: continuous(t) frequency: discrete(t) bandwidth: continuous(t) sound: sine/noise
to construct an instrument, we begin by defining its constituent parts. each part represents a distinct sonic layer, typically composed of one or more partials.
a partial generally corresponds to a single pitch or pitch-like element contributing to the instruments overall sound.
each part can take one of two forms:
the instrument ultimately exposes a unified interface. this interface typically generalizes key parameters, most importantly amplitude and frequency, over all partials, as these are the most musically relevant controls for shaping and composition.
partial base: sound decorator: sound ... parts instrument amplitude: continuous(t) frequency: discrete(t) custom ...
timbre is shaped by the structured variation of amplitude, frequency, and spectral density over time. designing timbre involves selecting and organizing partials, usually sine tones or filtered noise, with distinct temporal and spectral roles.
f(n) = n·f₀
, for string and air columnsf(n) = (2n+1)·f₀
, clarinet-likef(n) = 2n·f₀
, less common alonef(n) = k·n·f₀
f(pₙ)·f₀
(non-repeating)f(n) = f(n–1) + d(n)
f(n) = f(n–1) – d(n)
f(n) = f₀·rⁿ
, stretched spectraf(n) = f₀ + mod(n, k)·Δ
, tiled partial setsf(n) = |n – c|·f₀
1 - k·n
a·e^(–k·n)
1/n^p
, common in natural resonances0 → a
, no sustain (plucked, percussive)a → 0
, fading entriesdecorators are partials added around a center partial. they can be fixed or relative, and serve multiple spectral or temporal roles:
groups may reflect physical or musical grouping logic.
how partials blend:
noise is a core ingredient for simulating complexity, texture, and realism, especially in non-pitched or quasi-pitched contexts.
realistic and lively sounds benefit from imperfections and deviations. these may be fixed, drifting, or modulated.
(n + εn²)·f₀
, used in piano modelinga few techniques escape clean categorization but are essential for crafting musical or evocative timbres.