Google опубликовал аудиокодек Lyra для передачи речи при плохом качестве связи
6 апреля 2021 года
Компания Google представила новый аудиокодек Lyra, оптимизированный для достижения максимального качества передачи речи даже при использовании очень медленных каналов связи.
Код реализации Lyra написан на C++ и открыт под лицензией Apache 2.0, но в числе необходимых для работы зависимостей присутствует проприетарный модуль ядра Linux, открыть код которого не представляется возможным. Указанный модуль используется для математических вычислений и связывается через библиотеку libsparse_inference.so. Отмечается, что проприетарный модуль является временным - в дальнейшем Google обещает разработать открытую замену и обеспечить поддержку платформ, отличных от Linux.
По качеству передаваемых голосовых данных на низких скоростях Lyra существенно превосходит традиционные кодеки, в которых используются методы цифровой обработки сигналов. Для достижения высокого качества передачи голоса в условиях ограниченного объёма передаваемой информации, помимо обычных методов сжатия звука и преобразования сигналов, в Lyra применяется речевая модель на базе системы машинного обучения, позволяющая воссоздать недостающую информацию на основе типовых характеристик речи. Задействованная для генерации звука модель обучена с использованием нескольких тысячах часов с записями голосов на более чем 70 языках.
Кодек включает в себя кодировщик и декодировщик. Алгоритм работы кодировщика сводится к извлечению параметров голосовых данных каждые 40 миллисекунд, их сжатию и передаче получателю по сети. Для передачи данных достаточно канала связи со скоростью 3 килобита в секунду. Извлекаемые звуковые параметры включают в себя логарифмические мел-спектрограммы, учитывающие характеристики энергии речи в различных частотных диапазонах и подготовленные с учётом модели человеческого слухового восприятия.
В декодировщике используется генеративная модель, которая на основе переданных звуковых параметров воссоздаёт сигнал с речью. Для снижения сложности вычислений применена лёгкая модель на основе рекурентной нейронной сети, представляющей собой вариант модели синтеза речи WaveRNN, в котором используется более низкая частота выборок, но генерируется параллельно сразу несколько сигналов в разном диапазоне частот. Полученные сигналы затем накладываются для получения единого выходного сигнала, соответствующего заданной частоте дискретизации.
Для ускорения также применены специализированные процессорные инструкции, доступные в 64-разрядных процессорах ARM. В итоге, несмотря на применение машинного обучения, кодек Lyra может применяться для кодирования и декодирования речи в реальном режиме времени на смартфонах среднего ценового диапазона, демонстрируя задержку передачи сигнала на уровне 90 миллисекунд.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.