About this project

audio-engine-core is an application-agnostic audio processing layer designed for high-quality music players and realtime audio applications. It implements a processing chain consisting of Decode → Resample → Loudness → DSP → Analyze → Stream, deliberately separating audio processing from the UI, device output, and media library management. Key technical features include: - Realtime Safety: Uses generation-based lock-free atomic parameter snapshots to avoid heap allocation, blocking locks, and I/O within the audio callback. - Audio Quality & Measurement: Includes objective validation for EBU R128 loudness, true-peak detection, and resampler performance (THD+N and alias attenuation). - DSP Capabilities: Provides a 10-band IIR biquad EQ, linear/minimum-phase FIR EQ, FFT convolution, Bauer crossfeed, oversampled saturation, and true-peak limiting. - Resampling: Supports both a native SoX VHQ (via libsoxr) backend and a pure-Rust (via rubato) backend. - Loudness Management: Separates offline EBU R128 analysis from realtime atomic gain application. - Offline Rendering: Supports latency-compensated rendering with configurable effect-tail policies. The library is built on Symphonia for decoding and provides a `PlaybackPipeline` API for easy integration into audio callbacks.