Кампанія Google прадставіла новы аўдыёкодэк Lyra, аптымізаваны для дасягнення максімальнай якасці перадачы прамовы нават пры выкарыстанні вельмі павольных каналаў сувязі. Код рэалізацыі Lyra напісаны на C++ і адчынены пад ліцэнзіяй Apache 2.0, але ў ліку неабходных для працы залежнасцяў прысутнічае прапрыетарная бібліятэка libsparse_inference.so з рэалізацыяй ядра для матэматычных вылічэнняў. Адзначаецца, што прапрыетарная бібліятэка з'яўляецца часовай - у далейшым Google абяцае распрацаваць адкрытую замену і забяспечыць падтрымку розных платформаў.
Па якасці перадаваных галасавых дадзеных на нізкіх хуткасцях Lyra істотна пераўзыходзіць традыцыйныя кодэкі, у якіх выкарыстоўваюцца метады лічбавай апрацоўкі сігналаў. Для дасягнення высокай якасці перадачы голасу ва ўмовах абмежаванага аб'ёму перадаваемай інфармацыі, акрамя звычайных метадаў сціску гуку і пераўтварэнні сігналаў, у Lyra ужываецца моўная мадэль на базе сістэмы машыннага навучання, якая дазваляе ўзнавіць неабходную інфармацыю на аснове тыпавых характарыстык гаворкі. Задзейнічаная для генерацыі гуку мадэль навучана з выкарыстаннем некалькіх тысяч гадзін з запісамі галасоў на больш чым 70 мовах.
Кодэк уключае ў сябе кадавальнік і дэкадавальнік. Алгарытм працы кадавальніка зводзіцца да вымання параметраў галасавых дадзеных кожныя 40 мілісекунд, іх сціску і перадачы атрымальніку па сетцы. Для перадачы даных дастаткова канала сувязі з хуткасцю 3 кілабіты ў секунду. Вымаемыя гукавыя параметры ўключаюць у сябе лагарыфмічныя мел-спектраграмы, якія ўлічваюць характарыстыкі энергіі гаворкі ў розных частотных дыяпазонах і падрыхтаваныя з улікам мадэлі чалавечага слыхавога ўспрымання.
У дэкадавальнік выкарыстоўваецца генератыўная мадэль, якая на аснове перададзеных гукавых параметраў узнаўляе сігнал з прамовай. Для зніжэння складанасці вылічэнняў прыменена лёгкая мадэль на аснове рэкурэнтнай нейронавай сеткі, якая прадстаўляе сабой варыянт мадэлі сінтэзу прамовы WaveRNN, у якім выкарыстоўваецца больш нізкая частата выбарак, але генеруецца паралельна адразу некалькі сігналаў у розным дыяпазоне частот. Атрыманыя сігналы затым накладваюцца для атрымання адзінага выходнага сігналу, які адпавядае зададзенай частаце дыскрэтызацыі.
Для паскарэння таксама ўжытыя спецыялізаваныя працэсарныя інструкцыі, даступныя ў 64-разрадных працэсарах ARM. У выніку, нягледзячы на прымяненне машыннага навучання, кодэк Lyra можа прымяняцца для кадавання і дэкадавання прамовы ў рэальным рэжыме часу на смартфонах сярэдняга коштавага дыяпазону, дэманструючы затрымку перадачы сігналу на ўзроўні 90 мілісекунд.
Крыніца: opennet.ru