Facebook publicē EnCodec audio kodeku, izmantojot mašīnmācīšanos

Meta/Facebook (Krievijas Federācijā aizliegts) ieviesa jaunu audio kodeku EnCodec, kas izmanto mašīnmācīšanās metodes, lai palielinātu saspiešanas pakāpi, nezaudējot kvalitāti. Kodeku var izmantot gan audio straumēšanai reāllaikā, gan kodēšanai vēlākai saglabāšanai failos. EnCodec atsauces ieviešana ir rakstīta Python, izmantojot PyTorch ietvaru, un ir licencēta saskaņā ar CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) licenci tikai nekomerciālai lietošanai.

Lejupielādei tiek piedāvāti divi gatavi modeļi:

  • Cēloņsakarības modelis, kas izmanto 24 kHz iztveršanas frekvenci, atbalsta tikai monofonisku audio un apmācīts uz dažādiem audio datiem (piemērots runas kodēšanai). Šo modeli var izmantot, lai iesaiņotu audio datus pārraidei ar bitu pārraides ātrumu 1.5, 3, 6, 12 un 24 kbps.
  • Modelis bez cēloņsakarības, izmantojot 48 kHz iztveršanas frekvenci, kas atbalsta stereo audio un apmācīts tikai mūzikai. Modelis atbalsta bitu pārraides ātrumu 3, 6, 12 un 24 kbps.

Katram modelim ir sagatavots papildu valodas modelis, kas ļauj sasniegt ievērojamu kompresijas pakāpes pieaugumu (līdz 40%), nezaudējot kvalitāti. Atšķirībā no iepriekš izstrādātajiem projektiem, kuros audio saspiešanai izmantotas mašīnmācīšanās metodes, EnCodec var izmantot ne tikai runas iesaiņošanai, bet arī mūzikas saspiešanai ar iztveršanas frekvenci 48 kHz, kas atbilst audio kompaktdisku līmenim. Saskaņā ar jaunā kodeka izstrādātāju teikto, pārraidot ar bitu pārraides ātrumu 64 kbps salīdzinājumā ar MP3 formātu, viņi varēja palielināt audio saspiešanas pakāpi aptuveni desmit reizes, vienlaikus saglabājot to pašu kvalitātes līmeni (piemēram, izmantojot MP3, ir nepieciešams 64 kbps joslas platums, pārraidei ar tādu pašu kvalitāti EnCodec pietiek ar 6 kbps).

Kodeku arhitektūra ir veidota uz neironu tīkla ar “transformatora” arhitektūru, un tās pamatā ir četras saites: kodētājs, kvantētājs, dekodētājs un diskriminators. Kodētājs izvelk balss datu parametrus un pārveido iepakoto straumi uz zemāku kadru ātrumu. Kvantizers (RVQ, Residual Vector Quantizer) pārveido kodētāja izvadīto straumi pakešu kopās, saspiežot informāciju, pamatojoties uz atlasīto bitu pārraides ātrumu. Kvantizera izvade ir saspiests datu attēlojums, kas piemērots pārsūtīšanai tīklā vai saglabāšanai diskā.

Dekodētājs atkodē saspiesto datu attēlojumu un rekonstruē sākotnējo skaņas vilni. Diskriminators uzlabo ģenerēto paraugu kvalitāti, ņemot vērā cilvēka dzirdes uztveres modeli. Neatkarīgi no kvalitātes un bitu pārraides ātruma līmeņa, kodēšanai un dekodēšanai izmantotie modeļi izceļas ar diezgan pieticīgām resursu prasībām (reāllaika darbībai nepieciešamie aprēķini tiek veikti uz viena CPU kodola).

Facebook publicē EnCodec audio kodeku, izmantojot mašīnmācīšanos


Avots: opennet.ru

Pievieno komentāru