Google опублікував аудіокодек Lyra для передачі мови при поганій якості зв'язку

Компанія Google представила новий аудіокодек Lyra, оптимізований для досягнення максимальної якості передачі мови навіть при використанні дуже повільних каналів зв'язку. Код реалізації Lyra написаний на C++ і відкритий під ліцензією Apache 2.0, але серед необхідних роботи залежностей присутня пропрієтарна бібліотека libsparse_inference.so з реалізацією ядра для математичних обчислень. Зазначається, що пропрієтарна бібліотека є тимчасовою – надалі Google обіцяє розробити відкриту заміну та забезпечити підтримку різних платформ.

За якістю переданих голосових даних на низьких швидкостях Lyra значно перевершує традиційні кодеки, у яких використовуються методи цифрової обробки сигналів. Для досягнення високої якості передачі голосу в умовах обмеженого об'єму інформації, що передається, крім звичайних методів стиснення звуку і перетворення сигналів, в Lyra застосовується мовна модель на базі системи машинного навчання, що дозволяє відтворити відсутню інформацію на основі типових характеристик мови. Задіяна для генерації звуку модель навчена з використанням кількох тисяч годин з записами голосів більш ніж 70 мовами.

Google опублікував аудіокодек Lyra для передачі мови при поганій якості зв'язку

Кодек включає кодувальник і декодувальник. Алгоритм роботи кодувальника зводиться до вилучення параметрів голосових даних кожні 40 мілісекунд, їх стиску та передачі одержувачу по мережі. Для передачі даних достатньо каналу зв'язку зі швидкістю 3 кілобіти на секунду. Вилучені звукові параметри включають логарифмічні крейда-спектрограми, що враховують характеристики енергії мови в різних частотних діапазонах і підготовлені з урахуванням моделі людського слухового сприйняття.

Google опублікував аудіокодек Lyra для передачі мови при поганій якості зв'язку

У декодировщике використовується генеративна модель, яка з урахуванням переданих звукових параметрів відтворює сигнал промовою. Для зниження складності обчислень застосована легка модель на основі рекурентної нейронної мережі, що є варіантом моделі синтезу мови WaveRNN, в якому використовується більш низька частота вибірок, але генерується паралельно відразу кілька сигналів в різному діапазоні частот. Отримані сигнали потім накладаються для отримання єдиного вихідного сигналу, що відповідає заданій частоті дискретизації.

Для прискорення також використані спеціалізовані процесорні інструкції, доступні в 64-розрядних процесорах ARM. У результаті, незважаючи на застосування машинного навчання, кодек Lyra може застосовуватися для кодування та декодування мови в реальному режимі часу на смартфонах середнього цінового діапазону, демонструючи затримку передачі сигналу на рівні 90 мілісекунд.

Джерело: opennet.ru

Додати коментар або відгук