Facebook pubblica il codec audio EnCodec utilizzando l'apprendimento automatico

Meta/Facebook (vietato nella Federazione Russa) ha introdotto un nuovo codec audio, EnCodec, che utilizza metodi di apprendimento automatico per aumentare il rapporto di compressione senza perdere la qualità. Il codec può essere utilizzato sia per lo streaming audio in tempo reale che per la codifica per il successivo salvataggio nei file. L'implementazione di riferimento EnCodec è scritta in Python utilizzando il framework PyTorch ed è concessa in licenza con licenza CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) solo per uso non commerciale.

Sono disponibili per il download due modelli già pronti:

  • Un modello causale che utilizza una frequenza di campionamento di 24 kHz, supporta solo audio monofonico e addestrato su diversi dati audio (adatto per la codifica vocale). Il modello può essere utilizzato per impacchettare dati audio per la trasmissione a bit rate di 1.5, 3, 6, 12 e 24 kbps.
  • Un modello non causale che utilizza una frequenza di campionamento di 48 kHz, supporta l'audio stereo ed è addestrato solo sulla musica. Il modello supporta bitrate di 3, 6, 12 e 24 kbps.

Per ciascun modello è stato preparato un modello linguistico aggiuntivo che consente di ottenere un aumento significativo del rapporto di compressione (fino al 40%) senza perdita di qualità. A differenza dei progetti sviluppati in precedenza che utilizzano metodi di apprendimento automatico per la compressione audio, EnCodec può essere utilizzato non solo per il confezionamento vocale, ma anche per la compressione musicale con una frequenza di campionamento di 48 kHz, corrispondente al livello dei CD audio. Secondo gli sviluppatori del nuovo codec, trasmettendo con un bitrate di 64 kbps rispetto al formato MP3, sono riusciti ad aumentare il grado di compressione audio di circa dieci volte mantenendo lo stesso livello di qualità (ad esempio, quando si utilizza MP3 è necessaria una larghezza di banda di 64 kbps, per la trasmissione con la stessa qualità in EnCodec sono sufficienti 6 kbps).

L'architettura del codec è costruita su una rete neurale con architettura “a trasformatore” e si basa su quattro collegamenti: codificatore, quantizzatore, decodificatore e discriminatore. Il codificatore estrae i parametri dei dati vocali e converte il flusso compresso in un frame rate inferiore. Il quantizzatore (RVQ, Residual Vector Quantizer) converte il flusso in uscita dal codificatore in insiemi di pacchetti, comprimendo le informazioni in base al bitrate selezionato. L'output del quantizzatore è una rappresentazione compressa dei dati, adatta per la trasmissione su una rete o per il salvataggio su disco.

Il decodificatore decodifica la rappresentazione compressa dei dati e ricostruisce l'onda sonora originale. Il discriminatore migliora la qualità dei campioni generati, tenendo conto del modello di percezione uditiva umana. Indipendentemente dal livello di qualità e bitrate, i modelli utilizzati per la codifica e la decodifica si distinguono per requisiti di risorse piuttosto modesti (i calcoli necessari per il funzionamento in tempo reale vengono eseguiti su un singolo core della CPU).

Facebook pubblica il codec audio EnCodec utilizzando l'apprendimento automatico


Fonte: opennet.ru

Aggiungi un commento