Google открыл исходный код Lyra — перспективного аудиокодека на нейросетях для передачи речи при плохом качестве связи
«Революционный» аудиокодек Google Lyra, опирающийся на систему машинного обучения для обеспечения максимального качества передачи речи даже при плохом и медленном соединении, теперь распространяется по лицензии Apache License 2.0.
Архитектурно Lyra очень похожа на классические аудиокодеки, которые десятилетиями составляли основу интернет-коммуникаций. Разработка тоже разделена на две части: кодировщик и декодер. Первый отслеживает отличительные речевые сигналы. Эти речевые сигналы, также именуемые функциональными признаками, извлекаются частями каждые 40 мс, затем сжимаются и отправляются по сети. Задача декодера — преобразовать эти отдельные сигналы обратно в полный речевой поток для последующего воспроизведения через динамик телефона слушателя. Таким образом, отдельные речевые сигналы с помощью генеративной модели декодируются и собираются обратно в полноценный речевой поток.
Генеративные модели — это особый тип модели машинного обучения, который отлично себя зарекомендовал для воссоздания полных речевых потоков из отдельных речевых сигналов. Именно в этом и заключается ключевое отличие Lyra от классических кодеков, основанных на технологиях цифровой обработки сигналов (DSP). Нейросеть в процессе обучения прослушала тысячи часов аудиозаписей на более чем 70 языках, взятых из открытых библиотек, после чего эксперты и обычные пользователи дополнительно «отполировали» модель.
Эта доработка выгодно отличает решение Google — по качеству передачи голоса на низких скоростях Lyra существенно превосходит классические кодеки. Для передачи данных достаточно канала связи со скоростью всего 3 килобита в секунду. Кодек Lyra может использоваться для кодирования и декодирования речи в реальном времени на смартфонах среднего ценового диапазона, демонстрируя задержку передачи сигнала около 90 миллисекунд.
Архив Google Lyra с открытым исходным кодом можно найти на Гитхабе. Первый выпуск предоставляет разработчикам инструменты, необходимые для кодирования и декодирования звука с помощью Lyra, оптимизированного для Android-устройств на 64-разрядных процессорах ARM. Текущая реализация Lyra, написанная на C++, требует использования проприетарной библиотеки libsparse_inference.so с реализацией ядра для математических вычислений. Но в будущем Google обещает предоставить открытую замену и обеспечить поддержку различных платформ.