Lyra es un códec de audio con pérdida desarrollado por Google que está diseñado para comprimir voz a velocidades de bits muy bajas. A diferencia de la mayoría de los demás formatos de audio, comprime datos mediante un algoritmo basado en aprendizaje automático .
El códec Lyra está diseñado para transmitir voz en tiempo real cuando el ancho de banda está severamente restringido, como en conexiones de red lentas o poco confiables. [1] Se ejecuta a velocidades de bits fijas de 3,2, 6 y 9 kbit/s y está destinado a proporcionar una mejor calidad que los códecs que utilizan algoritmos tradicionales basados en formas de onda a velocidades de bits similares. [2] [3] En cambio, la compresión se logra mediante un algoritmo de aprendizaje automático que codifica la entrada con extracción de características y luego reconstruye una aproximación del original utilizando un modelo generativo. [1] Este modelo fue entrenado con miles de horas de discurso grabado en más de 70 idiomas para funcionar con varios hablantes. [2] Debido a que los modelos generativos son más complejos computacionalmente que los códecs tradicionales, se utiliza un modelo simple que procesa diferentes rangos de frecuencia en paralelo para obtener un rendimiento aceptable. [4] Lyra impone 20 ms de latencia debido al tamaño de su marco. [3] La implementación de referencia de Google está disponible para Android y Linux . [4]
La versión inicial de Lyra funcionó significativamente mejor que los códecs tradicionales a velocidades de bits similares. [1] [4] [5] Ian Buckley de MakeUseOf dijo: "Logra crear niveles casi inquietantes de reproducción de audio con tasas de bits tan bajas como 3 kbps". Google afirma que reproduce el habla con un sonido natural y que Lyra a 3 kbit/s supera a Opus a 8 kbit/s. [2] Tsahi Levent-Levi escribe que Satin , el códec basado en inteligencia artificial de Microsoft , lo supera en velocidades de bits más altas. [5]
En diciembre de 2017, los investigadores de Google publicaron un artículo preimpreso sobre la sustitución del decodificador Codec 2 por una red neuronal WaveNet. Descubrieron que una red neuronal es capaz de extrapolar características de la voz no descritas en el flujo de bits del Codec 2 y proporcionar una mejor calidad de audio, y que el uso de características convencionales simplifica el cálculo de la red neuronal en comparación con una red basada puramente en formas de onda. La versión 1 de Lyra reutilizaría este marco general de extracción de características, cuantificación y síntesis neuronal. [6]
Lyra se anunció por primera vez en febrero de 2021 [2] y en abril, Google publicó el código fuente de su implementación de referencia. [1] La versión inicial tenía una tasa de bits fija de 3 kbit/s y una latencia de alrededor de 90 ms. [1] [2] El codificador calcula un espectrograma log mel y realiza una cuantificación vectorial para almacenar el espectrograma en un flujo de datos. El decodificador es una red neuronal WaveNet que toma el espectrograma y reconstruye el audio de entrada. [2]
Una segunda versión (v2/1.2.0), lanzada en septiembre de 2022, mejoró la calidad del sonido, la latencia y el rendimiento, y permitió múltiples velocidades de bits. V2 utiliza una estructura "SoundStream" donde tanto el codificador como el decodificador son redes neuronales, una especie de codificador automático . Se utiliza un cuantificador de vector residual para convertir los valores de las características en datos transferibles. [3]
La implementación de Google está disponible en GitHub bajo la licencia Apache. [1] [7] Escrito en C++ , está optimizado para ARM de 64 bits pero también se ejecuta en x86 , ya sea en Android o Linux. [4]
Google Duo utiliza Lyra para transmitir sonido para chats de vídeo cuando el ancho de banda es limitado. [ 15]