Códec 2 + red neuronal = podcast completo en un disquete

En un artículo anterior, discutimos el códec Opus, que se ejecuta a velocidades de bits muy bajas. Pero otro códec tiene como objetivo lograr velocidades de bits aún más bajas: este es el Códec 2 .

El códec 2 es para codificar solo voz. Y aunque la tasa de bits es impresionante, el sonido no es tan de alta calidad como en el caso de Opus, que se puede escuchar en ejemplos de audio . Sin embargo, en combinación con la red neuronal ( WaveNet ), el códec muestra resultados impresionantes .


Capas de una red neuronal WaveNet

Introduccion


Codec 2 es de código abierto y está diseñado para la codificación de voz. Se centra en velocidades de bits de 700 a 3200 bps.

Desarrollador: David Rowe , un ingeniero electrónico que actualmente vive en el sur de Australia. Comenzó el proyecto en septiembre de 2009 con el objetivo de mejorar las comunicaciones de radio de bajo costo para personas en áreas remotas del mundo. Con este fin, iba a desarrollar un códec que reduciría significativamente el tamaño del archivo y los requisitos de ancho de banda para la transmisión.

Otra motivación, según David, fue la creación de un códec sin patentes como una alternativa a los códecs propietarios, que, en su opinión, "requieren licencias costosas y torpes y sofocan la innovación". Él cree que puede prescindir de códecs patentados, por lo que distribuye todo el trabajo bajo una licencia gratuita.

Aplicación potencial


El autor nombra varias aplicaciones del códec, incluidas VoIP, comunicación de voz a través de una banda estrecha de radio digital HF / UHF (especialmente para radioaficionado, para evitar problemas al usar códecs propietarios), comunicación en países en desarrollo y regiones remotas, incluidos el ejército, la policía y los servicios de rescate. .

En Auphonic, estamos interesados ​​en el uso potencial de un códec para comprimir mejor los podcasts, presentaciones y audiolibros, lo que puede reducir la cantidad de espacio utilizado y minimizar el efecto de las malas conexiones de red .

Como funciona


Para reducir la tasa de bits, es necesario reducir la voz al mínimo posible de información / datos, es decir, minimizar la cantidad de información transmitida en exceso.

Para esto, el códec 2 utiliza la codificación de voz sinusoidal armónica . Divide el discurso en segmentos de 10-30 ms, que se llaman marcos. Luego, cada cuadro se analiza para un nivel fundamental (tono) y el número de armónicos que se ajustan al ancho de banda de 4 kHz. Además, para cada armónico en el rango de 4 kHz, se registran la amplitud y la fase.

Esta información se codifica y el decodificador restaura el sonido en función de estos datos.


Diagramas de flujo del códec 2: codificador (izquierda) y decodificador (derecha). Ilustración de Rowtel.

Ejemplos de audio y comparación con otros códecs.


Aunque todo esto suena muy bien en teoría, ¿pero qué en realidad? Vamos a escuchar Aquí hay un breve archivo de sonido wav:

intro-orig.wav - 1.3 MB

Aplicamos Codec 2 (sin decodificador WaveNet) a varias velocidades de bits disponibles: 3200 bps , 2400 bps , 1600 bps , 1200 bps y 700 bps .

Estos ejemplos muestran una reducción significativa en el tamaño del archivo.

Veamos los archivos en términos de su volumen para almacenar 1 hora de sonido :

  • A 3200 bps, una hora de sonido requiere solo 1.37 MB (¡cabe en un viejo disquete de 3½ pulgadas!)
  • La velocidad de bits de 2400 bps corresponde a 1.03 MB / h
  • La velocidad de bits de 1600 bps es de 0.68 MB / h (¡o aproximadamente dos horas de sonido en un disquete! )
  • 1200 bps - hasta 0,51 MB / h
  • 700 bps - hasta 0.3 MB / h

La compresión es muy fuerte, pero el resultado claramente no suena natural.

A modo de comparación, el mismo sonido está en MP3 a 8 Kbps .

El tamaño del archivo es significativamente mayor que el del Códec 2, y la calidad probablemente aún sea inaceptable. Puedes escuchar bien lo que a veces se llama chisporroteo: los extraños sonidos metálicos inherentes a los MP3 de baja calidad.

Existe el último códec para comparar. Parece que une ambos mundos, es decir, proporciona una calidad aceptable a una tasa de bits baja: Opus .

Gracias a su rendimiento atractivo a bajas velocidades de bits, Auphonic ya ofrece a los usuarios la codificación Opus de hasta 6 Kbps, la velocidad de bits más baja que admite el códec.

A 6 kbps, el códec Opus parece significativamente mejor que MP3 8 kbps. La voz está un poco apagada, pero aún suena natural .

Volviendo al Codec 2, por interés, ¡escuchemos cómo codifica la música ! (Tenga en cuenta que Codec 2 no está destinado a codificar música, sino solo a voz).

Archivo fuente
MP3 8 kbps

Personalmente, no puedo escuchar MP3 a una tasa de bits tan alta, ¡así que echemos un vistazo a los resultados de Codec 2! Entonces, 3200 bps , 2400 bps , 1600 bps , 1200 bps , 700 bps .

¡Es fácil entender que para este propósito no es adecuado en absoluto!

Códec 2 y WaveNet


Como ya hemos escuchado, a pesar de la impresionante compresión, el resultado no es un sonido muy natural.

Pero aquí el asunto se vuelve más interesante si nos fijamos en el trabajo de Bastian Klein de la Biblioteca de la Universidad de Cornell. Utilizó Codec 2 a una velocidad de bits de 2400 bps para la codificación, pero reemplazó el decodificador Codec 2 con un modelo generativo de aprendizaje profundo WaveNet (consulte el artículo "Codificación de voz de velocidad de bits baja de Wavenet" para obtener más información).

Aquí hay algunos ejemplos de los autores :

Voz masculina
Archivo fuente
Códec 2
Con decodificador WaveNet

Voz femenina
Archivo fuente
Códec 2
Con decodificador WaveNet

En comparación con el Códec 2, escuchamos una mejora significativa en la calidad y, en comparación con el original, no hay una disminución significativa en la calidad.

El propio David Rowe dijo que considera el resultado "una mejora dramática en la codificación de voz a bajas velocidades de bits" y "un buen códec de voz de banda ancha de 8000 bits / s".

Conclusión


Aunque el códec (original) Codec 2 es un trabajo muy interesante, su alcance es limitado y el resultado final no es adecuado para el podcasting. También está claro a partir de ejemplos de audio que puede usarse para comprimir solo voz, pero no música.

Sin embargo, Codec 2 en combinación con el decodificador WaveNet mejora significativamente la calidad, y la baja tasa de bits (2400 bps) será extremadamente interesante para la distribución de podcasts y audiolibros : ¡solo se requieren 1.03 MB de espacio para una hora de sonido !

Auphonic agregará compatibilidad con Codec 2 a los archivos de salida cuando el decodificador WaveNet aparezca en una forma utilizable. Hasta ahora hemos agregado soporte para Codec 2 solo para archivos de entrada .

Source: https://habr.com/ru/post/es415557/


All Articles