// the find
HEnquist/camilladsp
A flexible cross-platform IIR and FIR engine for crossovers, room correction etc.
CamillaDSP is a real-time audio processing engine for Linux, Windows, and macOS that handles IIR and FIR filtering, channel routing, and resampling — primarily aimed at people building active speaker crossovers or doing room correction. It sits in the signal path between applications and the sound card using virtual loopback devices, configured entirely via YAML.
The backend coverage is genuinely impressive: ALSA, PulseAudio, PipeWire, WASAPI, ASIO, CoreAudio, Jack, and BlueALSA, with a clean feature-flag system so you only compile what you need. FIR convolution is done via FFT with AVX and NEON hand-optimized paths, and the benchmarks directory suggests the author actually measured this. The three-thread pipeline (capture / process / playback) with a separate supervisor is the right architecture for low-latency real-time work — it avoids the classic mistake of mixing I/O and processing on the same thread. The websocket control API and hot-reload via SIGHUP make it practical to integrate into larger systems without restarting.
Configuration is YAML-only with no schema validation beyond what the parser does at startup — getting a complex multi-channel FIR crossover right requires a lot of trial and error, and the error messages are not always specific enough to tell you which filter in a 20-step pipeline is wrong. The ASIO full-duplex constraint (capture and playback must use the same driver, no resampling) is a real limitation on Windows and will silently fail if you get it wrong. There is no built-in way to A/B test filter configurations or measure the pipeline's actual frequency response; you need pycamilladsp-plot for that, which is a separate install with its own Python dependency chain. Jack support is still marked experimental and is limited to Linux despite the backend technically being cross-platform.