Descubre otra razón más para no usar MP3: el retardo
A través de Micky Vega, editor de nuestra web hermana Guitarristas, he tenido conocimiento de una pega que encontró al montar una actividad. Con esto del confinamiento querían realizar un vídeo colaborativo en el que se sucedieran diversos solos de guitarra grabados, contribuidos por múltiples guitarristas partiendo de una base pregrabada breve y común. Hasta ahí todo bien. De hecho la experiencia ('El desafío de la cuarentena') ha sido todo un éxito y acaba de publicarse el primero de tres vídeos que aglutinan a unos 500 guitarristas y bajistas amigos de la web. Son tres vídeos centrados en rock, funk y blues.
El problema
[Índice]Micky vino a Hispasonic buscando ayuda para aclarar algo inesperado. La base que había enviado y que arrancaba en el instante 0:00:00 con el primer golpe de una claqueta, estaba siendo cargada con un apreciable retardo en los sistemas de varios de los interesados en aportar su granito de arena desde las cuerdas. Un retardo que además no era fijo, pese a ser el mismo fichero audio. Las contribuciones que recibía (no todas, pero sí un número elevado de ellas) llegaban desplazadas en tiempo. Además por tiempos diferentes, haciendo complicadísimo pretender reunir todas esas grabaciones. Puesto en contacto con alguno de los más veloces en enviar su solo, comprobó que la claqueta, que en ordenador del propio Micky lucía radiante en el 0:00, aparecía con 15ms de retardo o incluso más según dónde se cargaba.
La causa
[Índice]La causa de este problema está en la codificación y decodificación MP3. ¿MP3? ¿No era eso algo que debíamos desterrar? Sí, es cierto, y hoy os damos otra razón más que sumar. Pero la buena intención de Micky era la de que como sólo se trataba de una claqueta y una base que no iba a sonar en el resultado final, podía tolerarse la merma en calidad y a cambio hacer más breve la descarga para los muchos seguidores de guitarristas.info. Algo que nos puede tentar a más de uno alguna vez.
La claqueta y bases se habían preparado en un DAW y luego exportado en MP3. Haciendo carga en el propio DAW para comprobar la calidad del resultado se juzgó buena y bajo ningún concepto aparecía algo que pudiera dar sospecha de ningún retardo, menos aún tan grave como esos 15ms. y más. Tan pronto abrió el hilo en hispasonic, apuntamos la posibilidad de que fuera un problema por los ajustes de los sistemas de codificación y decodificación, que nin siquiera en DAWs profesionales están libres de limitaciones. Comprobarlo fue cosa de muy poco tiempo. Pero para contároslo aquí quería ilustrarlo con unas pruebas en algunos de los DAWs más populares. Pruebas para las que he usado Cubase, Ableton Live, Logic Pro X, y Audacity, para cubrir diferentes entornos.
Las pruebas
[Índice]Ni yo mismo doy crédito a lo que ha surgido de las pruebas. Resulta realmente difícil de creer, así que os aporto las figuras. Lo que he hecho es partir de un fichero WAV con la claqueta que le pedí a Micky, y cargarlo en esos 4 entornos. Lógicamente el WAV se carga magníficamente en todos ellos. Pero he procedido después a generar desde ese WAV un MP3. En concreto MP3 generados en Cubase, Audacity, Live y Logic Pro X. Desde Logic no se permite la generación de MP3 con la opción de export pero se puede con la opción para 'bounce'. He cargado todos esos MP3 en cada uno de los 4 entornos para que podáis comparar. Ya me diréis si no es sorprendente lo abultado de los desfases que aparecen. Más aún porque alguno de esos DAWs generan aparición de retardo al cargar el MP3 que ellos mismos han generado, cosa que me llevó a probar (ya solo en uno de ellos para no dilatar más la cosa) a salvar de nuevo recodificando en MP3 el propio fichero MP3 inicialmente generado (prueba que he realizado con Audacity).
En todos los casos la pistas son estas:
- La superior corresponde al WAV original.
- La siguiente es el MP3 generado en Cubase.
- A continuación va el generado en Audacity (codificado una única vez, directo de WAV a MP3).
- Sigue la doble codificación MP3 con Audacity (el MP3 de Audacity vuelto a cargar en Audacity y salvado como nuevo MP3).
- Despues va el MP3 generado en Ableton.
- El último y cierre por abajo es el MP3 generado en Logic Pro X.
Lo interesante es ver cómo de esos distintos orígenes en cada uno de los entornos lo que se ha cargado es una cosa diferente.
Nota: Las imágenes que se muestran son en baja resolución, al haberse corrompido las originales creadas por Hispasonic tras el incendio del datacenter de OVH en marzo de 2021. Por el interés de mantener el artículo y al no ser esenciales dado que el texto ofrece los detalles necesarios, se han mantenido estas versiones de baja resolución para ilustrar el texto.
Cubase
[Índice]Cubase ha sido fiel al cargar su propio MP3 (no aparece ningún retardo). El hecho de que aparezca retardo de un poco más de 20ms. al cargar la codificación realizada por Logic, y de unos 50 ms en la realizada por Live y Audacity no os debe hacer pensar que Cubase se porte mal, es también perfectamente posible que el retardo pueda venir ya en la codificación que han hecho esos otros entornos o sea un subproducto de diferencias de criterio aplicadas en la codificación y la decodificación en unos y otros entornos. Fijaos como por ejemplo la doble codificación en Audacity (que es un proceso 100% externo a Cubase) ha doblado el tiempo de retardo, que se dispara al entorno de los 100ms. Ese salto de 50 a 100 no tiene causa en Cubase, y por tanto los 50 originales probablemente tampoco.
Audacity
[Índice]Lo más alucinante es que no es fiel ni consigo mismo. De hecho tanto el MP3 codificado en Cubase como el de Logic aparecen cargados con unos 25ms de retardo, pero el propio Audacity abriendo 'su' MP3 se sube a la parra con unos 50 ms., que para colmo se doblan al entorno de los 100 ms. con la doble codificación (hummmm.... lo mismo que aparecía en Cubase, podéis pensar, pero no os aventuréis a culpar a Audacity, que aún quedan sorpresas). La codificación que se ha realizado con Ableton aparece cargada en Ableton con un retardo de 50ms. idéntico al que se ve al cargar el MP3 que ha sido generado por Audacity, mucho mayor que la que aparece al cargar el generado con Cubase o Logic. Vais viendo el lío.
Ableton Live
[Índice]He usado un modo de color que ayude a ver en la parte inferior el eje de tiempo. Veréis algo menos de 30ms. como retardo que aparece al cargar el MP3 generado en Cubase dentro de Ableton Live. Son 50ms para cuando cargamos los MP3 generados en Audacity y el doble (100ms.) para el doblemente codificado en Audacity. Con el MP3 que se había generado en el propio Live de nuevo nos encontramos con la infedelidad a uno mismo (50ms). Al cargar el MP3 de Logic también aparece un retardo un poco por debajo de 25ms.
Por cierto veréis también cómo el pequeño 'fade in' que Live introduce por defecto (se puede anular en preferencias, pero muchos usuarios no lo hacen) da lugar a que los arranques de cada clip estén 'redondeados' y el primer golpe de la claqueta haya quedado muy suavizado en las versiones MP3 que genera Live. Y desde luego he cargado esos ficheros sin activar para ellos el modo 'warp', para que esté el audio tal cual, sin modificaciones de tempo ni tono.
Logic Pro X
[Índice]La línea vertical que he marcado corresponde aprox. a 15ms. para que tengáis una referencia. Ya que estamos con un DAW de Apple, con Garage Band no he probado directamente, pero por lo que me han pasado en algunos ficheros, parece que comparte los resultados con Logic, lo que era de esperar siendo programas tan hermanados.
La prueba al cargar en Logic tira cualquier lógica abajo. No es sólo un juego de palabras. Es que cambia todos los retardos, y anula cualquier hipótesis previa. Es una buena demostración de cómo es imposible llegar a ninguna conclusión firme. Parecería por los ejemplos con Cubase, Audacity y Live que eran estos últimos los que introducían en sus procesos de codificación y/o decodificación algún tipo de retardo. Pero en Logic aparece desplazado 15ms. el primer golpe del MP3 codificado por Cubase, y sin embargo no hay retardo en el caso del MP3 grabado con Audacity una sola vez, aunque sí (50ms) en el doblemente codificado en Audacity. La cuenta para el MP3 generado en Ableton pasa en este caso por unos 40ms. Logic carga su propio MP3 sin mostrar retardo.
Será porque estoy escribiendo de noche y no quiero tardar más en irme a dormir, pero de verdad no pienso dedicar un segundo más a intentar entender algo tan retorcido como esta disparidad entre unos y otros DAWs. Desisto.
Conclusión
[Índice]La principal conclusión es que no se puede confiar en quien no es de confianza. Y MP3 no es nada confiable. Sólo con estos 4 programas ya vemos que no es posible ni siquera dar una justificación razonada y que nos dé una pauta de lo que podemos esperar o dónde radica el problema y su magnitud, más allá de que no conviene usar MP3. Sabemos todos hasta la saciedad que MP3 mete un filtrado abrupto que se carga cualquier contenido que esté por encima de 15kHz. No nos pongamos quisquillosos, especialmente los que tenemos cierta edad. Sabemos que nos puede cambiar un poco en nivel medio y el nivel pico. Bueno, vale. Sabíamos que además su codificación perceptual hace que aparezcan una distorsión que queda enmascarada por la propia señal y que oída en solitario viene a ser como un ruido 'coloreado' de forma parecida a la propia señal que escuchamos. Buueeeeno, pase. Sabíamos que también degrada los transitorios muy veloces, porque su tratamiento por bloques (inevitable en un tratamiento en el fondo espectral) hace que aparezca cierta granularidad y fenómenos de preeco que emborronan la nitidez temporal. No mola nada, especialmente si te gustan las castañuelas.
Pero lo que casi nunca se cuenta, y hemos visto en estos ejemplos, es que además te puedes ver sometido por el uso de la codificación MP3 y la necesaria decodificación que luego va a existir para volver a hacer audible ese contenido, a un retardo que no es en la práctica predecible porque depende de cada sistema de codificación / decodificación empleado. Ni siquiera usando un mismo entorno para codificar y decodificar podemos estar seguros de que no haya ese desplazamiento temporal o de cuál pueda ser su valor. Así las cosas cualquier intento de recopilar en MP3 contribuciones varias que supuestamente comparten una misma base de tiempo puede llegar a implicar un trabajo enorme de realineamiento o bien soportar unos retardos que son más que audibles incluso para los oídos menos entrenados.
Avisado quedas de ese lapso incontrolado que puedes encontrar como retardo si te decantas por MP3 para combinar ficheros de diferentes procedencias. Yo me apunto otro argumento más en contra de usar MP3 para cualquier cosa que no sea distribución final para 'reproducción' de audio. Mejor no os cuento los marcianos que a veces he encontrado cuando me han obligado a generar una segunda generación MP3 tras procesar (masterizar) un original sólo disponible en MP3. Pitiditos de todas clase asomando por aquí y por allá, pérdida de nitidez en transiorios, y otros problemas. Lo único que cabía era probar con diferentes codificadores hasta dar con el que a oreja sonaba mejor para el tema en concreto. Y es que no podemos pedir aquello para lo que MP3 no está hecho, que es exclusivamente la reproducción final de audio comercial. No es un formato pensado para tratar en ningún sentido el audio.
Y un gran saludo a Micky y su magnífica y tan bien acogida idea del desafío de la cuarentena para guitarristas.info.