Sobre o projeto
audio-engine-core é uma camada de processamento de áudio agnóstica a aplicações, projetada para players de música de alta qualidade e aplicações de áudio em tempo real. Ela implementa uma cadeia de processamento composta por Decode → Resample → Loudness → DSP → Analyze → Stream, separando deliberadamente o processamento de áudio da UI, da saída do dispositivo e do gerenciamento da biblioteca de mídia.
Principais recursos técnicos incluem:
- Segurança em Tempo Real: Usa snapshots atômicos de parâmetros livres de bloqueio baseados em geração para evitar alocação de heap, bloqueios e I/O dentro do callback de áudio.
- Qualidade e Medição de Áudio: Inclui validação objetiva para loudness EBU R128, detecção de true-peak e desempenho do resampler (THD+N e atenuação de alias).
- Capacidades de DSP: Fornece um EQ IIR biquad de 10 bandas, EQ FIR linear/minimum-phase, convolução FFT, crossfeed Bauer, saturação oversampled e limitação de true-peak.
- Reamostragem: Suporta tanto um backend nativo SoX VHQ (via libsoxr) quanto um backend puro-Rust (via rubato).
- Gerenciamento de Loudness: Separa a análise offline EBU R128 da aplicação atômica de ganho em tempo real.
- Renderização Offline: Suporta renderização compensada de latência com políticas configuráveis de cauda de efeito.
A biblioteca é construída sobre o Symphonia para decodificação e fornece uma API `PlaybackPipeline` para fácil integração em callbacks de áudio.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.