Sobre el proyecto

audio-engine-core es una capa de procesamiento de audio independiente de la aplicación, diseñada para reproductores de música de alta calidad y aplicaciones de audio en tiempo real. Implementa una cadena de procesamiento que consiste en Decode → Resample → Loudness → DSP → Analyze → Stream, separando deliberadamente el procesamiento de audio de la UI, la salida del dispositivo y la gestión de la biblioteca multimedia. Características técnicas clave incluyen: - Seguridad en tiempo real: Utiliza instantáneas atómicas de parámetros sin bloqueo basadas en generación para evitar asignaciones en el heap, bloqueos que impiden el progreso y operaciones de I/O dentro de la devolución de llamada de audio. - Calidad y medición de audio: Incluye validación objetiva para la loudness EBU R128, detección de true-peak y rendimiento del remuestreador (THD+N y atenuación de alias). - Capacidades DSP: Proporciona un ecualizador IIR biquad de 10 bandas, EQ FIR lineal/minimum-phase, convolución FFT, Bauer crossfeed, saturación oversampled y limitación true-peak. - Remuestreo: Soporta tanto un backend nativo SoX VHQ (a través de libsoxr) como un backend puro Rust (a través de rubato). - Gestión de loudness: Separa el análisis offline EBU R128 de la aplicación de ganancia atómica en tiempo real. - Renderizado offline: Soporta renderizado compensado por latencia con políticas configurables de cola de efectos. La biblioteca está construida sobre Symphonia para la decodificación y proporciona una API `PlaybackPipeline` para una fácil integración en devoluciones de llamada de audio.