Facebook publicerar EnCodec audio codec med hjälp av maskininlärning

Meta/Facebook (förbjudet i Ryska federationen) introducerade en ny ljudcodec, EnCodec, som använder maskininlärningsmetoder för att öka komprimeringsförhållandet utan att förlora kvalitet. Codec kan användas både för att streama ljud i realtid och för kodning för att senare spara i filer. EnCodec-referensimplementeringen är skriven i Python med PyTorch-ramverket och är licensierad under en CC BY-NC 4.0-licens (Creative Commons Attribution-NonCommercial) endast för icke-kommersiellt bruk.

Två färdiga modeller erbjuds för nedladdning:

  • En orsaksmodell som använder en samplingsfrekvens på 24 kHz, stöder endast monofoniskt ljud och tränad på olika ljuddata (lämplig för talkodning). Modellen kan användas för att paketera ljuddata för överföring med bithastigheter på 1.5, 3, 6, 12 och 24 kbps.
  • En icke-kausal modell som använder en samplingsfrekvens på 48 kHz, stöder stereoljud och tränas endast på musik. Modellen stöder bithastigheter på 3, 6, 12 och 24 kbps.

För varje modell har en ytterligare språkmodell utarbetats, vilket gör att du kan uppnå en betydande ökning av kompressionsförhållandet (upp till 40%) utan kvalitetsförlust. Till skillnad från tidigare utvecklade projekt som använder maskininlärningsmetoder för ljudkomprimering, kan EnCodec användas inte bara för talpaketering, utan även för musikkomprimering med en samplingsfrekvens på 48 kHz, motsvarande nivån på ljud-CD-skivor. Enligt utvecklarna av den nya codec kunde de vid sändning med en bithastighet på 64 kbps jämfört med MP3-formatet öka graden av ljudkomprimering med ungefär tio gånger samtidigt som de bibehöll samma kvalitetsnivå (till exempel vid användning av MP3, en bandbredd på 64 kbps krävs, för överföring med det räcker samma kvalitet i EnCodec med 6 kbps).

Codec-arkitekturen är byggd på ett neuralt nätverk med en "transformator"-arkitektur och är baserad på fyra länkar: kodare, kvantiserare, avkodare och diskriminator. Kodaren extraherar parametrarna för röstdata och omvandlar den packade strömmen till en lägre bildhastighet. Kvantiseraren (RVQ, Residual Vector Quantizer) omvandlar strömutmatningen från kodaren till uppsättningar av paket, och komprimerar information baserat på den valda bithastigheten. Kvantiserarens utdata är en komprimerad representation av datan, lämplig för överföring över ett nätverk eller lagring på disk.

Avkodaren avkodar den komprimerade representationen av data och rekonstruerar den ursprungliga ljudvågen. Diskriminatorn förbättrar kvaliteten på de genererade proverna, med hänsyn till modellen för mänsklig hörseluppfattning. Oavsett nivån på kvalitet och bithastighet, kännetecknas modellerna som används för kodning och avkodning av ganska blygsamma resurskrav (beräkningar som är nödvändiga för realtidsdrift utförs på en enda CPU-kärna).

Facebook publicerar EnCodec audio codec med hjälp av maskininlärning


Källa: opennet.ru

Lägg en kommentar