RT-safe DSP
No audio-thread allocations
Scratch buffers are pre-allocated in prepareToPlay. The audio thread never touches the heap — zero GC-style stalls, no click or drop on automation.
Smoothing
Click-free parameter changes
Every parameter is smoothed at audio rate so manual moves and host automation land clean, without the zipper-noise you get from raw value jumps.
HRIR reload
Throttled by position delta
Automating azimuth or elevation doesn't crackle or drop out — HRIR pair reloads are gated by distance from the last-loaded position and cross-faded in the buffer.
XTC
Bauer / Atal-Schroeder feedback
Feedback-based crosstalk cancellation in Speakers mode. Tuned to three monitor geometries so the binaural cues survive playback on real stereo pairs.
Distance model
Physics-derived
Air absorption via a first-order LP tracking the inverse-distance law, early-reflection balance shifts with distance, and gain compensation keeps the source present rather than just quiet.
State
ValueTreeState-backed
All parameters are bound through an AudioProcessorValueTreeState — the host saves and restores every setting, and everything is automatable out of the box.