6 апреля 2021 года Google открыла исходный код кодека для сжатия голоса Lyra, позволяющего организовывать качественную голосовую связь при низком битрейте. Проект аудиокодека размещен на GitHub под лицензией Apache v2.0. Кодек написан на языке C++ с использованием системы сборки Bazel.
Аудиокодек Lyra сжимает и передает речь на битрейте 3 Кбит/с на таком уровне качества, как это делает кодек Opus на 8 Кбит/с.
Google использовала при разработке Lyra модели на базе системы машинного обучения для воссоздания речи на приемной стороне. С помощью использования рекуррентной генеративной модели Lyra генерирует параллельно несколько сигналов в разных частотных диапазонах, которые позже объединяются в один выходной сигнал с требуемой частотой дискретизации.
Разработчики пояснили, что модель генерации речи Lyra обучалась на тысячах часов звуков на более чем 70 языках мира из различных открытых аудиобиблиотек. Также для ускорения работы кодека используются специальные процессорные инструкции, доступные в 64-битных мобильных процессорах ARM для кодирования и декодирования речи в реальном режиме времени на современных смартфонах.
По информации OpenNET, в числе необходимых для работы кодека Lyra зависимостей присутствует проприетарная библиотека libsparse_inference.so с реализацией ядра для математических вычислений. Google пояснила, что это временное решение. Компания для ее замены уже разрабатывает свою открытую библиотеку, которая будет обеспечивать поддержку различных платформ.
Astroscope
Для тех, кого интересует оцифровка голоса с экстремально низким битрейтом, может быть интересен уже существующий проект https://freedv.org/
Этот проект изначально "заточен" под передачу цифового голоса по весьма узкому радиоканалу, доставшемуся в наследство от аналоговой радиосвязи, но разумеется годится в любом случае, требующем минимального битрейта.
cavin
«FreeDV is a Digital Voice mode for HF radio.» — судя по описанию мне кажется, что узкая радиополоса и низкий битрейт хоть и схожие понятия, но из разных областей.
Astroscope
Верно, это разные понятия из разных областей, но с сугубо практической точки зрения они довольно прямо взаимосвязаны. Малая ширина полосы канала связи (а часто и невысокое SNR) унаследована от аналоговой связи, причем иногда она еще и делится по времени на несколько слотов, что практически и вынуждает использовать кодеки с низким битрейтом. Если в коммерческой связи используют коммерческие решения, то любители хотели бы разрабатывать свои, открытые аналоги пропиетарных кодеков. На приведенном мною примере можно сказать, что это получается.