DOSSIER Methods, measurements, results

The receipts, in full.

These are the methods and measurements behind the current engine, with the audible reason each one matters.

01 / 05

The models

M01

Zero-delay-feedback filters use trapezoidal integration

The resonators and filters are TPT state-variable structures solved without unit delays. A separately implemented analogue reference checks the core to 0.02 dB at resonance and 0.15 dB across the tested band. Each voice holds its pitch, level and decay budgets from 44.1 to 192 kHz.

M02

The kick attack solves its 4-component network

A trapezoidal companion model represents the pulse-shaper capacitor. The diode equation has a closed-form Wright omega solution. Accent drives that network harder, so the click changes shape in the same circuit that generates it.

M03

The oscillators are band-limited

The 6-oscillator metallic bank runs polyBLEP-corrected squares at measured frequencies with a 47.98% duty cycle. That asymmetry is part of the spectrum. Substance uses polyBLEP saw and pulse oscillators with hard sync.

M04

Fast modulation has a measured error bound

Pitch-moving voices update filter coefficients through an approximation tested below 1 part per million of relative error. Expensive math is prepared before the audio callback. The bound applies at every supported sample rate.

M05

Noise power stays fixed across sample rate

Discrete white noise spreads fixed power across sample rate; a naive port therefore produces quieter snares at 96 kHz. Voltage 80 makes its shared noise bus power-spectral-density invariant. A 24 dB/oct band limit follows the hardware audio bandwidth before a voice draws from the bus.

M06

The common trigger lasts 1 millisecond

Integer sample rounding can shift that pulse area by up to 0.25% across rates. The engine corrects the area and preserves the edge, which holds the attack specification at every supported rate.

M07

The ladder mixes its 4 poles

Substance uses a 4-pole transistor-ladder model with zero-delay feedback. Drive and feedback paths saturate inside the model. One core produces low-pass / band-pass / high-pass output at 12 or 24 dB per octave, and the full-resonance state remains bounded.

02 / 05

The measurements

D01

Sources come before folklore

Page-referenced service manuals establish the circuit. Published analyses answer documented gaps. Hardware measurements decide disagreements; unresolved values do not ship as fact.

D02

Knob sweeps use a documented hardware unit

Reference recordings calibrate the kick fundamental, decay and tone laws. The snare shell pair has a separate sweep; so does its snappy taper. Cowbell uses a measured pair. Six tom/conga curves pin their tuning, and the open-hat decay closes the set.

D03

Measurements settle disputed numbers

Zero-crossing analysis gives pitch trajectories. Log-domain RMS slopes measure decay laws; spectral peaks locate oscillator pairs. Accent tapers are checked step by step. Several widely repeated numbers did not survive those tests.

03 / 05

The reliability standard

C01

The audio thread allocates 0 bytes

Automated checks exercise each machine during processing. A single observed allocation fails the gate.

C02

The callback has a fixed work contract

It takes 0 locks. It starts 0 background threads. Panics are forbidden in the processing path, and runtime work has a declared bound.

C03

Buffer size cannot change the bits

The test renders one performance across changing buffer sizes and event boundaries. All sample values must remain bit-identical.

C04

A fixed seed restores source motion

Each machine owns one seeded noise source. Two identical renders null to digital silence. The source still free-runs between hits, so repeated notes sample different points in a reproducible sequence.

C05

Long decays use 64-bit state

Design math and filter state use 64-bit precision. Coefficients are range-checked; sub-audible tails follow an explicit policy.

04 / 05

How it is built

P01

The circuit models generate all drum audio

The current engine synthesizes each hit at trigger time. Its recorded one-shot count is 0.

P02

The Rust core has fixed-size audio state

The synthesis engine has no runtime dependencies. All 3 plug-in formats wrap that core. The callback contract therefore reaches the same implementation in each format.

P03

Both drum machines are fully analogue models

Voltage 80 and Voltage 78 synthesize each drum voice from measured circuit behaviour, so the circuit-modelling claim covers the entire instrument.

P04

Release uses one evidence standard

A machine must trace to circuit sources. Hardware calibration is separate. Sample-rate tests cover the complete supported matrix, and real DAW buffer changes exercise the render before release.