Facebook udgiver EnCodec audio codec ved hjælp af maskinlæring

Meta/Facebook (forbudt i Den Russiske Føderation) introducerede et nyt lyd-codec, EnCodec, som bruger maskinlæringsmetoder til at øge kompressionsforholdet uden at miste kvalitet. Codec'et kan bruges både til streaming af lyd i realtid og til kodning til senere lagring i filer. EnCodec-referenceimplementeringen er skrevet i Python ved hjælp af PyTorch-rammeværket og er licenseret under en CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial)-licens kun til ikke-kommerciel brug.

To færdige modeller tilbydes til download:

  • En kausal model, der bruger en 24 kHz samplingshastighed, der kun understøtter monofonisk lyd og trænet på forskellige lyddata (velegnet til talekodning). Modellen kan bruges til at pakke lyddata til transmission ved bithastigheder på 1.5, 3, 6, 12 og 24 kbps.
  • En ikke-årsagsmodel, der bruger en samplinghastighed på 48 kHz, understøtter stereolyd og kun trænet i musik. Modellen understøtter bithastigheder på 3, 6, 12 og 24 kbps.

For hver model er der udarbejdet en ekstra sprogmodel, som giver dig mulighed for at opnå en væsentlig stigning i kompressionsforholdet (op til 40%) uden tab af kvalitet. I modsætning til tidligere udviklede projekter, der bruger maskinlæringsmetoder til lydkomprimering, kan EnCodec ikke kun bruges til taleindpakning, men også til musikkomprimering med en samplinghastighed på 48 kHz, svarende til niveauet på lyd-cd'er. Ifølge udviklerne af det nye codec kunne de, når de transmitterede med en bithastighed på 64 kbps sammenlignet med MP3-formatet, øge graden af ​​lydkomprimering med cirka ti gange, mens de bibeholdt det samme kvalitetsniveau (f.eks. ved brug af MP3, en båndbredde på 64 kbps er påkrævet, for transmission med at samme kvalitet i EnCodec er nok 6 kbps).

Codec-arkitekturen er bygget på et neuralt netværk med en "transformer"-arkitektur og er baseret på fire links: encoder, quantizer, decoder og discriminator. Indkoderen udtrækker parametrene for stemmedataene og konverterer den pakkede strøm til en lavere billedhastighed. Kvantizeren (RVQ, Residual Vector Quantizer) konverterer strømudgangen fra indkoderen til sæt af pakker, der komprimerer information baseret på den valgte bitrate. Kvantizerens output er en komprimeret repræsentation af dataene, egnet til transmission over et netværk eller lagring på disk.

Dekoderen afkoder den komprimerede repræsentation af dataene og rekonstruerer den originale lydbølge. Diskriminatoren forbedrer kvaliteten af ​​de genererede prøver under hensyntagen til modellen for menneskelig auditiv perception. Uanset niveauet af kvalitet og bitrate er de modeller, der bruges til kodning og afkodning, kendetegnet ved ret beskedne ressourcekrav (beregninger, der er nødvendige for realtidsdrift, udføres på en enkelt CPU-kerne).

Facebook udgiver EnCodec audio codec ved hjælp af maskinlæring


Kilde: opennet.ru

Tilføj en kommentar