Wavesmith Foundation Audit
Abstract. Wavesmith’s audio engine is 35 ARM64 subroutines, 508 bytes, zero allocation, L1-resident, composed via BLR chains. The sound coming out of it is not yet worthy of that architecture. Every oscillator aliases except the coupled-recurrence sines. Wavetables interpolate linearly. Delay lines truncate. Filters zipper. The UI has 313+ @Published properties on a single EngineState. The fix that fits the compiler is 4-point PolyBLEP.
DSP deficiencies
P5 saw is a linear ramp. P10 square is FCMP+FCSEL, infinite bandwidth. P11 triangle folds at the peaks. NEON variants multiply the same error across four voices. Only P16 (coupled recurrence sine) and P23 (NEON recurrence) are alias-free by construction.
PolyBLEP, 4-point: zero memory, 12–18 NEON instructions per sample, ~30 instructions of straight-line ARM64 — exactly what Sixth emits well. minBLEP is the premium path (4 KB table, residual in D-regs, cheaper amortized at low frequencies). Wavetables should Hermite-interpolate (four samples, ~8 extra ops). Delay reads need allpass or cubic interpolation; FCVTZS truncation is audible pitch quantization in chorus and flanger. Biquad coefficients are static per buffer: cutoff sweeps zipper. P21’s NEON envelope is attack/release only; full ADSR already exists in scalar P6 and wants vectorizing.
What is already good: 4×4 Hadamard FDN reverb with mutually prime delays; Bhaskara sine (~0.001 error); Padé tanh saturation; a graph compiler over 46 effect types with scalar→NEON promotion; 87 plugins spanning the usual families plus physical modeling.
UI/UX state
190+ view files. 60+ tabs through a 2,904-line ContentView switch. Fifteen-plus features at PLACEHOLDER (PDC, mod routing, MIDI clock, crossfades, auto-save). EngineState’s 313+ published properties re-render every subscribed view; on the Combine/Ventura path there is no per-property tracking. The single largest sound-design hole is the missing modulation matrix.
Action
Phase 1 kills aliasing (PolyBLEP saw/square/tri + NEON, Hermite wavetable, fractional delay). Phase 2 is filter quality (ZDF SVF, coefficient smoothing, full ADSR). Phase 3 wires the nine placeholder instruments and the mod matrix. Phase 4 competes: Dattorro plate, analog distortion, sidechain compressor, spatial.
Source report. Summarized from docs/SYNTHESIS-001.md in the hive tree. This page is the paper. The report remains the primary.