¿Qué es el Remuestreo de Audio?
Cuando conviertes audio de una frecuencia de muestreo a otra (p. ej. un MP3 a 44,1 kHz → WAV a 48 kHz para edición de vídeo), cada muestra debe ser recalculada en una nueva cuadrícula temporal. Este proceso se llama remuestreo.
Un enfoque ingenuo — simplemente eliminar o duplicar muestras — genera clics audibles y aliasing. Los remuestreadores profesionales usan interpolación matemática (típicamente filtros FIR polifásicos) para reconstruir una señal continua a partir de muestras discretas y volver a muestrearla a la nueva frecuencia. La calidad de esta interpolación determina si tu audio se mantiene transparente o adquiere artefactos.
Concepto clave: Según el teorema de Nyquist-Shannon, cualquier señal de banda limitada muestreada por encima del doble de su frecuencia más alta puede reconstruirse perfectamente. El remuestreo aprovecha este teorema — un remuestreador de alta calidad puede cambiar frecuencias sin degradación audible.
¿Qué es SoXr?
La SoXr (SoX Resampler Library) es un motor de remuestreo de código abierto y calidad audiófila, desarrollado originalmente para la herramienta de línea de comandos SoX (Sound eXchange). Utiliza un algoritmo polifásico basado en FFT que produce resultados prácticamente indistinguibles de la señal original.
SoXr es utilizado por software de audio profesional como foobar2000, JRiver Media Center, MPV y VLC. CleverUtils.com integra SoXr a través del filtro aresample de FFmpeg, aplicándolo a cada conversión WAV de forma automática.
| Parámetro | Valor | Qué hace |
|---|---|---|
| Motor | SoXr (CR64) | Cálculo en coma flotante de doble precisión de 64 bits |
| Precisión | 28 bits | ~168 dB de relación señal/ruido — muy por encima del suelo de ruido audible |
| Dithering | Shibata | Ruido con forma psicoacústica que desplaza los artefactos de cuantización lejos del pico de sensibilidad auditiva de 1–5 kHz |
| Anti-aliasing | Automático | Filtro paso bajo pronunciado que previene el aliasing al reducir la frecuencia |
SoXr vs el Remuestreador Predeterminado de FFmpeg
FFmpeg incluye dos backends de remuestreo: el predeterminado swresample (SWR) y el opcional soxr. Así se comparan:
| Aspecto | swresample (predeterminado) | SoXr |
|---|---|---|
| Algoritmo | Sinc con ventana Kaiser (fase lineal) | Polifásico sobremuestreado basado en FFT |
| Precisión interna | 16 bits (predeterminado) o float 32 bits | Double 64 bits (motor CR64) |
| Rechazo de aliasing | Bueno (−100 dB típico) | Excelente (−168 dB con precision=28) |
| Dithering | Triangular (espectro plano) | Shibata (con forma de ruido, menos audible) |
| Velocidad | Más rápido | Ligeramente más lento (~10–15% más CPU) |
| Rizado en banda de paso | Medible cerca de Nyquist | Insignificante |
| Ideal para | Streaming en tiempo real, reproducción de vídeo | Masterización, archivo, distribución |
Conclusión: swresample está optimizado para velocidad y es perfectamente válido para reproducción en tiempo real. SoXr está optimizado para calidad y es la elección correcta cuando produces un archivo que se conservará, distribuirá o editará más adelante — exactamente lo que hace un conversor.
El Dithering Shibata Explicado
Cuando el audio se convierte entre profundidades de bits (p. ej. procesamiento interno en float de 32 bits → salida WAV a 16 bits), los errores de redondeo generan ruido de cuantización. El dithering añade una pequeña cantidad de ruido antes del redondeo para eliminar los patrones de distorsión más molestos.
No todos los ditherings son iguales. El dithering triangular estándar (TPDF) distribuye el ruido uniformemente por todo el espectro de frecuencias. El dithering Shibata utiliza modelado de ruido psicoacústico para desplazar ese ruido a rangos de frecuencia donde el oído humano es menos sensible:
| Tipo de dither | Distribución del ruido | Audibilidad |
|---|---|---|
| Ninguno (truncamiento) | Sin ruido añadido | Peor — distorsión armónica audible |
| Rectangular (RPDF) | Plano, aleatorio | Elimina la distorsión, suelo de ruido plano |
| Triangular (TPDF) | Plano, no correlacionado | Mejor — sin ruido de modulación |
| Shibata (con forma de ruido) | Desplazado lejos de 1–5 kHz | Menos audible — aprovecha la curva auditiva |
Por qué importa: El oído humano es más sensible entre 1–5 kHz (la curva de Fletcher-Munson). El dithering Shibata desplaza el ruido de cuantización hacia la región de alta frecuencia menos sensible por encima de 10 kHz, haciéndolo prácticamente inaudible incluso en equipos de monitorización de alta gama.
¿Cuándo Ocurre el Remuestreo?
SoXr se aplica automáticamente a cada conversión WAV en CleverUtils.com, pero su impacto es más significativo en estos escenarios:
| Escenario | Ejemplo | Impacto de SoXr |
|---|---|---|
| Reducción de hi-res | FLAC a 96 kHz → WAV a 44,1 kHz | Crítico — previene artefactos de aliasing |
| Música → frecuencia de vídeo | MP3 a 44,1 kHz → WAV a 48 kHz | Importante — conversión de frecuencia limpia |
| Reducción de voz | Podcast a 48 kHz → WAV a 22,05 kHz | Importante — preserva la claridad del habla |
| Conversión a la misma frecuencia | MP3 a 44,1 kHz → WAV a 44,1 kHz | Mínimo — el dithering sigue aplicándose en cambios de profundidad de bits |
La mayor diferencia de calidad se produce durante la reducción de frecuencia — cuando la frecuencia objetivo es menor que la fuente. Sin el anti-aliasing adecuado (que SoXr gestiona automáticamente), las frecuencias por encima del nuevo límite de Nyquist se replegan al rango audible como distorsión.
Precisión de 28 bits: Qué Significa
El parámetro precision=28 de SoXr establece el cálculo interno en 28 bits efectivos usando el motor CR64 (constant-rate, 64-bit). Esto se traduce en aproximadamente 168 dB de relación señal/ruido.
Para contextualizarlo:
- Audio a 16 bits tiene ~96 dB de rango dinámico
- Audio a 24 bits tiene ~144 dB de rango dinámico
- SoXr a precision=28 calcula a ~168 dB — 24 dB por debajo del suelo de ruido del audio a 24 bits
Esto significa que el propio proceso de remuestreo introduce cero ruido audible, incluso para masters a 24 bits. El cálculo interno del remuestreador es más silencioso que el sonido más silencioso que cualquier grabación del mundo real puede capturar.
¿Por qué no precision=32? Los valores de precisión más altos aumentan el tiempo de CPU con rendimientos decrecientes. Con precision=28, SoXr ya opera 24 dB por debajo del suelo de ruido del audio a 24 bits — aumentar más sería inaudible e impráctico. Este es el punto óptimo utilizado por la mayoría de las herramientas de audio profesionales.
Cómo Usa CleverUtils SoXr
Cada conversión WAV en CleverUtils.com pasa por este proceso:
- Subida — tu archivo de audio se recibe por HTTPS
- Decodificación — FFmpeg lee el formato fuente (MP3, FLAC, M4A, OGG, etc.)
- Remuestreo — SoXr convierte a tu frecuencia de muestreo y profundidad de bits elegidas
- Dithering — el modelado de ruido Shibata se aplica durante la conversión de profundidad de bits
- Codificación — las muestras PCM limpias se escriben en el contenedor WAV
- Descarga — tu archivo WAV está listo
Todo el proceso es automático. Solo tienes que elegir los ajustes de destino (frecuencia de muestreo, profundidad de bits, canales) y CleverUtils se encarga del resto usando SoXr internamente. Sin configuración necesaria, sin interruptor de "modo calidad" — cada conversión recibe el mismo remuestreo de nivel estudio.