Google esitles uut Lyra audio kodekit, mis on optimeeritud maksimaalse kõnetoe kvaliteedi saavutamiseks isegi väga aeglaste sidekanali kasutamise korral. Lyra rakenduskood on kirjutatud C++ keeles ja avaldatud Apache 2.0 litsentsi alusel, kuid selle tööks vajalike sõltuvuste hulgas on ka omandiõigusega raamatukogu libsparse_inference.so, mis sisaldab matemaatiliste arvutuste tuuma. Märgitakse, et omandiõigusega raamatukogu on ajutine - tulevikus lubab Google arendada avatud asendust ja toetada erinevaid platvorme.
Häälte edastamise kvaliteedi osas madalatel kiirusel ületab Lyra traditsioonilisi koodekeid, mis kasutavad digitaalse signaalitöötluse meetodeid. Kõrge häälkvaliteedi saavutamiseks piiratud edastatavuse tingimustes rakendatakse Lyra-s tavaliste heli tihendamise ja signaalimuunduse meetodite kõrval ka masinõppetehnoloogiat, mis võimaldab rekonstruerida puuduvat teavet kõne tüüpiliste omaduste põhjal. Heligeneratsiooniks kasutatud mudel on koolitatud mitme tuhande tunni hääleülesannete andmetega enam kui 70 keeles.

Koodek sisaldab kodeerijat ja dekodeerijat. Kodeerija töö aluseks on helidate parameetrite väljavõtmine iga 40 millisekundi järel, nende pakkimine ja edastamine vastuvõtjale üle võrgu. Andmete edastamiseks piisab 3 kilobiti sekundis kiirusest. Väljavõetavad heliparameetrid hõlmavad logaritmilisi mel-spekterogramme, mis arvestavad kõne energia omadusi erinevates sagedusvahemikes ja on ette valmistatud inimkõrva kuulmisvõimekuse mudelit silmas pidades.

Dekodeerijas kasutatakse genereerivat mudelit, mis taastab edastatud heliparameetrite põhjal kõnesignaali. Arvutuskoormuse vähendamiseks on kasutusele võetud kerge mudel, mis tugineb korduvatele närvivõrkudele, olles variants kõnesünteesi mudelist WaveRNN, millel on madalam valimissagedus, kuid samal ajal genereeritakse paralleelselt mitu signaali erinevates sagedusvahemikes. Saadud signaalid pannakse seejärel üksteise peale, et luua üks väljundsignaal, mis vastab määratud diskreetimissagedusele.
Kiirendamiseks on rakendatud ka spetsialiseeritud protsessorijuhiseid, mis on saadaval 64-bitistes ARM protsessorites. Selle tulemusena saab Lyra koodekit, maldaga masinõppe rakendamisel, kasutada kõne kodeerimiseks ja dekodeerimiseks reaalajas keskmise hinnaklassi nutitelefonides, demonstreerides signaali edastamise viivitust 90 millisekundi tasemel.
Allikas: opennet.ru
