PROOF Behaviour, measurements, limits

Proof behind the instruments.

Measurements protect musical behaviour: how a filter holds its body, how a glide moves, how a voice changes with sample rate and whether the same session comes back the same way.

SUBSTANCEDrive with bass body. Glide and note memory.
OCTETOscillator and filter conformance. Pitch and envelopes at 6 rates.
POLYPHONYRepeatable voice character across buffer boundaries
DEVELOPMENTCalibration and performance work stays open
01 / 05

First principles

P01

Behaviour comes before labels

Voltage Synths begins with relationships inside an instrument. The position of a nonlinear stage matters. Filter feedback establishes another relationship; a capacitor sets an envelope time, and component variation separates related voices.

Musical consequence: useful control interactions survive beyond one tuned patch.
P02

Filter structure defines the instrument

Substance uses a saturating 4-pole transistor ladder. Its pole-mixed outputs include compensation for low-frequency body.

Octet takes a 2-pole OTA state-variable structure. Mode crosses low-pass / notch / high-pass continuously, while band-pass stays separate. Resonance acts on the band around cutoff.

Musical consequence: the 2 instruments keep their own response under one engineering standard.

02 / 05

Substance: the original voice

S01

Drive colours the signal before filtering

The mixer applies a small bias as it saturates, producing even harmonics before the signal enters the ladder. A second output stage adds density after the filter, with gain compensation that keeps the control from becoming only a loudness change. Engine checks confirm that increasing drive changes the harmonic balance.

Musical consequence. Clean weight / warm compression / dirty bass occupy different parts of one continuous drive range.

S02

Resonance keeps more bass body

A textbook four-pole ladder loses low-frequency level as resonance increases. Substance compensates part of that loss inside the feedback design, retaining more of the fundamental at low and middle cutoff positions as resonance rises.

Musical consequence: a resonant bass can keep its weight while the filter adds pitch and movement.
S03

Note memory changes the articulation

Substance remembers up to 8 held notes with last-note priority. Releasing the top note restores the previous one legato; the envelopes continue their current path.

Glide runs at a constant rate, so time grows with interval. Downward movement is about 20% slower than upward movement.

Musical consequence: held notes and slides remain part of the phrase. Direction changes affect the timing.

S04

Ten distinct starting points

Burgs and Roadtrain open the factory bank. Bitumen / Snag / Northerly take different bass positions, followed by 3 lead voices. Spectral balance and attack separate the patches; the static bass sounds keep most of their energy below 250 Hz.

Musical consequence. One focused architecture covers deep basses and percussive plucks. It reaches lead sounds too.

03 / 05

Octet: the state-variable voice

Q01

The oscillator meets its four audible-band targets.

The discrete saw core is checked at 48 kHz with legitimate harmonics removed from the analysis. Free-running saw, hard sync and full-depth pulse-width modulation all sit below their declared audible-band limits.

Alias floors in dBFS at 48 kHz. Audible band is 20 Hz to 20 kHz.
ConditionTargetAudible bandFull band
Free saw, 1000.5 Hz-96.0-109.3-60.0
Free saw, 3997.6 Hz-84.0-100.6-97.7
Hard sync, worst ratio-66.0-104.0-59.4
Pulse-width modulation-90.0-124.8-124.8

The full-band values are shown because they are materially higher in two of the four conditions, by more than 40 dB in each. A short band-limiting kernel has a transition region around Nyquist; later nonlinear processing can fold some of that ultrasonic energy back into the audible band. How much energy sits up there depends on where the harmonics fall relative to Nyquist, so the 3997.6 Hz row reads within 3 dB of its audible-band figure while the 1000.5 Hz row is nearly 50 dB above it.

Musical consequence: bright notes remain controlled in the audible band. The same applies to sync sweeps and pulse-width movement; the ultrasonic limit stays beside the result.
Q02

The filter follows an independent continuous-time reference.

The state-variable filter is probed from the outside with steady-state tones and compared with a separately evaluated continuous-time version of the same topology. It holds within 0.02 dB at the centre frequency and within 0.15 dB across the tested band. The check runs at 6 sample rates in the oversampling configuration the instrument uses.

What this establishes: the digital filter follows the intended circuit equations. Hardware comparison belongs to the calibration section below.

Musical consequence: the cutoff stays where the circuit says when a session changes sample rate.

Q05

The circuit sets the distortion points

Both integrator stages saturate at the operational transconductance amplifier limits inside their feedback loops. The output-stage supply rails bound self-oscillation amplitude.

The nonlinear system is solved together each sample with a fixed amount of work. Difficult settings cost the same as easy ones.

Musical consequence: resonance compresses at one level, blooms at another and can reach self-oscillation inside the same circuit.
Q03

Pitch and envelopes hold across 6 rates

Oscillator pitch is checked across 44.1–192 kHz to 0.005% relative error. Attack / decay / release follow resistor-capacitor trajectories over 1 ms–12 s. Timing holds within 0.5%; the sustain transition stays within 2%.

Musical consequence. A pluck keeps its timing. Long releases remain long, and a reopened project stays in tune.

Q04

Eight related voices move independently

The polyphonic engine owns voice allocation and stealing. Unison and glide operate inside that engine. Stable component variation comes from the patch seed plus voice index.

Musical consequence: chord width and movement return with the session.
04 / 05

Engineering and quality

E01

Buffer boundaries leave the samples unchanged

One render uses a continuous pass. The comparison render changes buffer size and places events inside those buffers. Notes / controls / seed stay fixed, and the resulting samples must be identical. Voice allocation and stealing are part of that comparison.

Practical consequence: a DAW buffer change cannot alter which voice played a note.

E02

The audio path has a fixed work contract

The processing callback performs 0 allocations and takes 0 locks. It starts 0 background threads.

Feedback solves use a fixed iteration count per sample. Coefficients are prepared before processing; denormal states are flushed.

Practical consequence: a resonant peak uses the same bounded callback path as an ordinary note.
E03

Panel geometry and parameters share one definition

Octet's panel and editor share one control definition, including geometry and parameter bindings. The complete interface is checked at multiple scales as the design changes.

Practical consequence. The visible control and engine parameter remain joined as the interface changes.

E04

Every number keeps its context

The oscillator table puts each target beside its audible-band and full-band result. The filter result states what the independent reference establishes and where hardware calibration still begins. Development limits stay beside the results they bound.

Practical consequence: measured and analytic results remain distinct. Open questions retain their label.
05 / 05

Development

L01

MADRE-8 publishes its oscillator floors

MADRE-8 is a working 8-voice instrument. Each voice carries 2 oscillators plus its sub-oscillator and noise source. The saturating mixer feeds a 4-pole transistor ladder. Unison and glide are active; aftertouch reaches the voice. A tempo-following arpeggiator runs in the current build.

Its oscillator has measured audible-band alias floors for every shape at all 6 supported rates. The gate sits two decibels below the measurement; each limit therefore stays 2 dB below its measured floor.

Free saw at 1 kHz measures -110.5 dBFS at 44.1 kHz, -125.1 at 48 kHz, -149.0 at 88.2 kHz, -145.7 at 96 kHz, -160.7 at 176.4 kHz and -164.7 at 192 kHz. Square holds -75.0; triangle holds -89.0. Hard sync measures -69.6 against a -66.0 target. Full-depth pulse-width modulation measures -110.9 against -90.0.

Musical consequence: chords stay clean across the keyboard at every supported session rate.

L02

Octet voice spread remains provisional

Per-voice component spread is provisional. Warm-up settling and drift depth are provisional too; reference-hardware sessions determine their final ranges.

The analytic filter result above covers digital conformance only. Hardware calibration is a separate task.

Musical consequence: measurements from the studied circuit will set the final voice character.
L03

CPU depends on the test machine

Cost is measured on every build for each instrument at each sample rate. Regression limits are enforced on every run. The public page carries 0 CPU figures because a bare percentage would omit the workload and processor.

Practical consequence. The 8-voice instrument must retain enough headroom for a real session.

NEXT The instruments

See each circuit in its instrument

Compare the musical role and signal path of Substance / MADRE-8 / Octet. Current development status sits beside each instrument.