Resonate: análisis espectral de audio en tiempo real y baja latencia

Fuentes: Resonate: low latency spectral analysis for real-time audio
Imagen generada por IA con el prompt: Abstract visualization of audio spectral analysis: glowing horizontal frequency bands across a dark gradient background, with smooth flowing waveforms in cyan and magenta suggesting real-time spectrogram computation, min
Imagen generada con IA

Resonate es un algoritmo de análisis espectral diseñado para extraer información perceptible de señales de audio (y de otro tipo) con baja latencia, mínima huella de memoria y reducido coste computacional. A diferencia de los métodos basados en la transformada de Fourier, Resonate emplea un modelo de resonador que actualiza su estado muestra a muestra mediante una media móvil ponderada exponencialmente (EWMA), un filtro paso bajo que otorga más peso a los valores recientes y hace decaer exponencialmente las contribuciones más antiguas.

Cada resonador se caracteriza por su frecuencia de resonancia y se representa mediante un número complejo R, cuya magnitud refleja la contribución de la señal en torno a dicha frecuencia. El estado se actualiza de forma recursiva con un fasor P, empleando solo unas pocas operaciones aritméticas por muestra y sin necesidad de almacenamiento intermedio. Un único parámetro α, relacionado con una constante de tiempo, gobierna la dinámica del sistema.

Un banco de resonadores, ajustado a escalas frecuenciales perceptualmente relevantes (escala log-frecuencia o escala Mel), calcula de forma instantánea y eficiente el contenido espectral de una señal. La complejidad por muestra es lineal en el número de resonadores e independiente de la duración de la señal, y todas las operaciones pueden paralelizarse.

Resonate produce espectrogramas con mayor resolución temporal que los métodos FFT y permite calcular características de audio en tiempo real. El autor, Alexandre R.J. François, ha publicado el trabajo en la International Computer Music Conference 2025 —donde recibió el Best Paper Award— y en la conferencia AIMLA 2025 de la AES. Existen implementaciones abiertas en Python (noFFT) y Swift (Oscillators), junto con una aplicación de demostración y vídeos en YouTube.