Facebook publiceert EnCodec-audiocodec met behulp van machine learning

Meta/Facebook (verboden in de Russische Federatie) introduceerde een nieuwe audiocodec, EnCodec, die machine learning-methoden gebruikt om de compressieverhouding te verhogen zonder kwaliteitsverlies. De codec kan zowel worden gebruikt voor het realtime streamen van audio als voor het coderen om later in bestanden op te slaan. De EnCodec-referentie-implementatie is geschreven in Python met behulp van het PyTorch-framework en is gelicentieerd onder een CC BY-NC 4.0-licentie (Creative Commons Attribution-NonCommercial) uitsluitend voor niet-commercieel gebruik.

Er worden twee kant-en-klare modellen ter download aangeboden:

  • Een causaal model dat gebruikmaakt van een bemonsteringsfrequentie van 24 kHz, alleen monofone audio ondersteunt en is getraind op diverse audiogegevens (geschikt voor spraakcodering). Het model kan worden gebruikt om audiogegevens te verpakken voor verzending met bitsnelheden van 1.5, 3, 6, 12 en 24 kbps.
  • Een niet-causaal model dat een bemonsteringsfrequentie van 48 kHz gebruikt, stereo-audio ondersteunt en alleen op muziek is getraind. Het model ondersteunt bitrates van 3, 6, 12 en 24 kbps.

Voor elk model is een aanvullend taalmodel opgesteld, waarmee u een aanzienlijke verhoging van de compressieverhouding (tot 40%) kunt realiseren zonder kwaliteitsverlies. In tegenstelling tot eerder ontwikkelde projecten waarbij machine learning-methoden voor audiocompressie worden gebruikt, kan EnCodec niet alleen worden gebruikt voor spraakverpakking, maar ook voor muziekcompressie met een bemonsteringssnelheid van 48 kHz, overeenkomend met het niveau van audio-cd's. Volgens de ontwikkelaars van de nieuwe codec konden ze bij verzending met een bitsnelheid van 64 kbps in vergelijking met het MP3-formaat de mate van audiocompressie met ongeveer tien keer verhogen terwijl ze hetzelfde kwaliteitsniveau handhaafden (bijvoorbeeld bij gebruik van MP3 is een bandbreedte van 64 kbps nodig, voor transmissie daarmee is dezelfde kwaliteit in EnCodec voldoende (6 kbps).

De codec-architectuur is gebouwd op een neuraal netwerk met een ‘transformator’-architectuur en is gebaseerd op vier schakels: encoder, kwantiseerder, decoder en discriminator. De encoder extraheert de parameters van de spraakgegevens en converteert de verpakte stroom naar een lagere framesnelheid. De kwantiseerder (RVQ, Residual Vector Quantizer) zet de stroomuitvoer van de encoder om in sets pakketten, waarbij informatie wordt gecomprimeerd op basis van de geselecteerde bitsnelheid. De uitvoer van de kwantiseerder is een gecomprimeerde weergave van de gegevens, geschikt voor verzending via een netwerk of voor opslag op schijf.

De decoder decodeert de gecomprimeerde representatie van de gegevens en reconstrueert de originele geluidsgolf. De discriminator verbetert de kwaliteit van de gegenereerde monsters, rekening houdend met het model van menselijke auditieve perceptie. Ongeacht het kwaliteitsniveau en de bitrate onderscheiden de modellen die worden gebruikt voor het coderen en decoderen zich door vrij bescheiden resourcevereisten (berekeningen die nodig zijn voor realtime werking worden uitgevoerd op een enkele CPU-kern).

Facebook publiceert EnCodec-audiocodec met behulp van machine learning


Bron: opennet.ru

Voeg een reactie