Google zveřejnil zvukový kodek Lyra pro přenos řeči ve špatné kvalitě připojení

Google představil nový zvukový kodek, Lyra, optimalizovaný pro dosažení maximální kvality hlasu i při použití velmi pomalých komunikačních kanálů. Implementační kód Lyry je napsán v C++ a otevřen pod licencí Apache 2.0, ale mezi závislostmi potřebnými pro provoz je proprietární knihovna libsparse_inference.so s implementací jádra pro matematické výpočty. Je třeba poznamenat, že proprietární knihovna je dočasná – v budoucnu Google slibuje vyvinout otevřenou náhradu a poskytovat podporu pro různé platformy.

Pokud jde o kvalitu přenášených hlasových dat při nízkých rychlostech, Lyra výrazně předčí tradiční kodeky, které využívají metody digitálního zpracování signálu. Pro dosažení vysoce kvalitního přenosu hlasu v podmínkách omezeného množství přenášených informací, kromě konvenčních metod komprese zvuku a převodu signálu, používá Lyra model řeči založený na systému strojového učení, který umožňuje znovu vytvořit chybějící informace na základě typické řečové vlastnosti. Model použitý ke generování zvuku byl trénován pomocí několika tisíc hodin hlasových nahrávek ve více než 70 jazycích.

Google zveřejnil zvukový kodek Lyra pro přenos řeči ve špatné kvalitě připojení

Kodek obsahuje kodér a dekodér. Algoritmus kodéru se scvrkává na extrahování parametrů hlasových dat každých 40 milisekund, jejich kompresi a přenos k příjemci přes síť. Pro přenos dat stačí komunikační kanál s rychlostí 3 kilobity za sekundu. Extrahované zvukové parametry zahrnují logaritmické mel spektrogramy, které berou v úvahu energetické charakteristiky řeči v různých frekvenčních rozsazích a jsou připraveny s ohledem na model lidského sluchového vnímání.

Google zveřejnil zvukový kodek Lyra pro přenos řeči ve špatné kvalitě připojení

Dekodér využívá generativní model, který na základě přenášených audio parametrů znovu vytváří řečový signál. Pro snížení složitosti výpočtů byl použit odlehčený model založený na rekurentní neuronové síti, který je variantou modelu řečové syntézy WaveRNN, který využívá nižší vzorkovací frekvenci, ale paralelně generuje několik signálů v různých frekvenčních rozsazích. Výsledné signály jsou pak superponovány, aby se vytvořil jediný výstupní signál odpovídající specifikované vzorkovací frekvenci.

Pro akceleraci se také používají specializované procesorové instrukce dostupné v 64bitových ARM procesorech. Výsledkem je, že navzdory použití strojového učení lze kodek Lyra použít pro kódování a dekódování řeči v reálném čase na chytrých telefonech střední třídy, přičemž prokazuje latenci přenosu signálu 90 milisekund.

Zdroj: opennet.ru

Přidat komentář