Google випустив вихідний код для Lyra, аудіокодека Android 

Кілька днів тому розробники Google оголосили в блозі про рішення зробити Lyra з відкритим кодом. Lyra використовує машинне навчання для забезпечення високоякісних голосових дзвінків у ситуаціях з низькою пропускною здатністю.

Це вигідно та дозволяє іншим розробникам удосконалювати свої комунікаційні програми та розвивати Lyra в нових напрямках.

Основними медіа-додатками протягом десятиліть кодеки дозволяють додаткам, що вимагають пропускної здатності, ефективно передавати дані.

Таким чином, розробка кодеків, як для відео, так і для аудіо, являє собою постійний виклик : забезпечити постійно зростаючу якість, використовувати менше даних та мінімізувати затримку для зв'язку в режимі реального часу.

Хоча відео може споживати набагато більше смуги пропускання, ніж аудіо, сучасні відеокодеки можуть досягти нижчих бітових швидкостей, ніж деякі високоякісні мовні кодеки, що використовуються сьогодні.

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

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

Щоб вирішити цю проблему, Google створив Lyra — високоякісний голосовий кодек з наднизькою швидкістю передачі даних , який робить голосовий зв'язок доступним навіть у найповільніших мережах.

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

Код Lyra написаний на C++ для забезпечення швидкості, ефективності та сумісності, а також використовує фреймворк Bazel з Abseil та фреймворк GoogleTest для комплексного модульного тестування.

Basic API забезпечує інтерфейс для кодування та декодування на рівні пакетів і файлів. Також надається повний набір інструментів для обробки сигналів, який включає різні фільтри та перетворення.

«Наш зразок програми інтегрується з Android NDK, щоб показати, як інтегрувати власний код Lyra в додаток Android на основі Java. Ми також надаємо векторні ваги та квантори, необхідні для запуску Lyra », - сказав Google. Цей випуск надає розробникам необхідні інструменти для кодування та декодування звуку за допомогою Lyra, оптимізованої для 64-розрядної платформи Android ARM, з версією для Linux.

Характеристики декодуються у форму хвилі за допомогою генеративної моделі. Генеративні моделі - це особливий тип моделі машинного навчання, який добре підходить для відтворення повного звукового сигналу з обмеженої кількості функцій.

Архітектура Lyra дуже схожа на традиційні аудіокодеки , які десятиліттями були основою інтернет-комунікації. Хоча ці традиційні кодеки спираються на методи цифрової обробки сигналів, сильна сторона Lyra полягає у здатності генеративної моделі реконструювати високоякісний голосовий сигнал.

Google впровадив Lyra у свій безкоштовний додаток для відеодзвінків Duo і заявив, що робить код відкритим, оскільки вважає, що він може бути придатним для інших програм.

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

"Ми з нетерпінням чекаємо побачити творчі здібності, що характеризують спільноту з відкритим кодом, застосовувану до Lyra для надання потужних та унікальних програм", - сказав Google.

Джерело: https://opensource.googleblog.com


Додати як пріоритетне джерело в Google