Facebook objavljuje audio kodek EnCodec koristeći strojno učenje

Meta/Facebook (zabranjen u Ruskoj Federaciji) predstavio je novi audio kodek, EnCodec, koji koristi metode strojnog učenja za povećanje omjera kompresije bez gubitka kvalitete. Kodek se može koristiti i za strujanje zvuka u stvarnom vremenu i za kodiranje za kasnije spremanje u datoteke. EnCodec referentna implementacija napisana je u Pythonu korištenjem okvira PyTorch i licencirana je pod licencom CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) samo za nekomercijalnu upotrebu.

Za preuzimanje su ponuđena dva gotova modela:

  • Kauzalni model koji koristi brzinu uzorkovanja od 24 kHz, podržava samo monofoni zvuk i obučen je na različitim audio podacima (prikladan za kodiranje govora). Model se može koristiti za pakiranje audio podataka za prijenos pri bitnim brzinama od 1.5, 3, 6, 12 i 24 kbps.
  • Ne-kauzalni model koji koristi brzinu uzorkovanja od 48 kHz, podržava stereo zvuk i obučen je samo na glazbu. Model podržava bitrate od 3, 6, 12 i 24 kbps.

Za svaki model pripremljen je dodatni jezični model koji vam omogućuje postizanje značajnog povećanja omjera kompresije (do 40%) bez gubitka kvalitete. Za razliku od prethodno razvijenih projekata koji koriste metode strojnog učenja za kompresiju zvuka, EnCodec se može koristiti ne samo za pakiranje govora, već i za kompresiju glazbe s brzinom uzorkovanja od 48 kHz, što odgovara razini audio CD-a. Prema programerima novog kodeka, pri prijenosu s bitrateom od 64 kbps u usporedbi s MP3 formatom, uspjeli su povećati stupanj kompresije zvuka za otprilike deset puta uz zadržavanje iste razine kvalitete (na primjer, pri korištenju MP3, potrebna je propusnost od 64 kbps, za prijenos s tom istom kvalitetom u EnCodecu dovoljno je 6 kbps).

Arhitektura kodeka izgrađena je na neuronskoj mreži s “transformatorskom” arhitekturom i temelji se na četiri veze: koder, kvantizator, dekoder i diskriminator. Koder izvlači parametre glasovnih podataka i pretvara upakirani tok u niži broj sličica u sekundi. Kvantizator (RVQ, rezidualni vektorski kvantizator) pretvara tok izlaza kodera u skupove paketa, sažimajući informacije na temelju odabrane brzine prijenosa. Izlaz kvantizatora je komprimirani prikaz podataka, pogodan za prijenos preko mreže ili spremanje na disk.

Dekoder dekodira komprimirani prikaz podataka i rekonstruira izvorni zvučni val. Diskriminator poboljšava kvalitetu generiranih uzoraka, uzimajući u obzir model ljudske slušne percepcije. Bez obzira na razinu kvalitete i bitrate, modeli koji se koriste za kodiranje i dekodiranje odlikuju se prilično skromnim zahtjevima za resursima (izračuni potrebni za rad u stvarnom vremenu izvode se na jednoj CPU jezgri).

Facebook objavljuje audio kodek EnCodec koristeći strojno učenje


Izvor: opennet.ru

Dodajte komentar