The 95.6 ns Voice
Abstract. Additive + FM + formants + physical model + granular + chaos + EQ + envelope costs 95.6 ns per sample. The budget is 20,833 ns. Two hundred simultaneous mathematical voices on a single M1 P-core, no wavetables, every sample from math. The architecture was never the bottleneck. The sound quality was. Forth compile speed is the UX advantage; no other DAW closes the edit–hear loop this fast.
What each team found
| Family | Cost | Note |
|---|---|---|
| 4-point PolyBLEP | 12–18 NEON ops | ~120 bytes; slight alias >8 kHz, inaudible in mix |
| TPT SVF | 14 ops | three outputs, audio-rate FM |
| Additive 32-harmonic | 23 ns | beats wavetable quality |
| 6-op FM (DX7-class) | 27 ns | trivially cheap |
| Karplus–Strong | 9 ns | nearly free |
| 5 formant biquads | 8 ns | choir from math |
| 8-grain granular | 16 ns | zero allocation |
| Lorenz chaos | 4 ns | cheaper than a gain stage |
M1: 2 FMLA/cycle, 4-cycle latency, 128 KB L1D, 192 KB L1I. Four-voice polyphony in one Q register. 100 ns/sample full 4-voice poly synth estimated at 160 cycles against a 320-cycle budget. Branch-free: FCSEL, BSL, FMIN/FMAX. SoA layout mandatory. AMX is not useful for audio; use vDSP FFT for convolution. FFT is the highest-leverage primitive still missing — freeze, vocoder, convolution reverb, cross-synthesis.
The stack
Layer 0 ARM64 NEON → Layer 1 Sixth (0.02 s source→native) → Layer 2 P-functions (508 bytes) → Layer 3 graph compiler → Layer 4 pipe DSL (not yet built) → Layer 5 SwiftUI+Metal. The DSL is concatenative because Forth’s stack is the signal path: saw 440 | lowpass warm | hall wide | out. Adjectives compile to DSP (“warm” = lowpass 3.5 kHz, Q 0.6, soft clip). Live coding in five keystrokes.
After Phase 1 the sound matches the architecture. After Phase 2 it surpasses wavetable synthesis. After Phase 3 it has character. After Phase 4 describing a sound is programming it. After Phase 5 the software thinks alongside the musician. The budget already permits all of it simultaneously.
Source report. Summarized from docs/SYNTHESIS-003.md in the hive tree. This page is the paper. The report remains the primary.