Conversión de Opus a MP3

El formato de audio interno de una aplicación que he desarrollado es Opus, pero cuando algún cliente me pide un audio porque ha perdido su copia no me queda otro remedio que entregárselo en MP3, que es lo único que sabe manejar [1]. Las viejas costumbres tardan en morir, aunque Opus sea técnicamente superior en todos los sentidos. La sombra del legacy es alargada :-(.

[1] Técnicamente el cliente también podría manejar ficheros WAV, pero mover ficheros de varios gigabytes de un lado para otro a través de internet es poco práctico.

Toda conversión supone una pérdida de calidad, con suerte, inapreciable. En este caso no nos importa mucho porque esta conversión es puntual y el flujo de trabajo normal de mi aplicación usa Opus. Esta conversión a MP3 es anecdótica, la excepción.

El proceso, en realidad, es sencillo y rápido:

$ opusdec --force-wav ENTRADA.opus - | lame -v - SALIDA.mp3

Estos comandos encadenados tienen dos ventajas: aprovechan dos núcleos de tus CPUs y no generan un fichero WAV intermedio potencialmente muy largo. El fichero MP3 generado es un VBR sin limitaciones de bitrate, por calidad y tamaño. Las etiquetas OPUS se pierden en vez de convertirse a ID3 en el MP3, pero eso no es un problema en esta aplicación.

Para el perfil de audio de mi aplicación, los audios en MP3 ocupan un 54% más que la versión Opus, con una calidad objetiva (marginalmente) inferior. Es decir, para una calidad de sonido comparable, el formato MP3 necesita un 54% más de bitrate que Opus.