Facebook publica codec de áudio EnCodec usando aprendizado de máquina

Meta/Facebook (proibido na Federação Russa) introduziu um novo codec de áudio, EnCodec, que usa métodos de aprendizado de máquina para aumentar a taxa de compressão sem perder qualidade. O codec pode ser usado tanto para streaming de áudio em tempo real quanto para codificação para posterior salvamento em arquivos. A implementação de referência do EnCodec é escrita em Python usando a estrutura PyTorch e é licenciada sob uma licença CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) apenas para uso não comercial.

Dois modelos prontos são oferecidos para download:

  • Um modelo causal que utiliza uma taxa de amostragem de 24 kHz, suportando apenas áudio monofônico e treinado em diversos dados de áudio (adequado para codificação de voz). O modelo pode ser usado para empacotar dados de áudio para transmissão em taxas de bits de 1.5, 3, 6, 12 e 24 kbps.
  • Um modelo não causal que usa uma taxa de amostragem de 48 kHz, suporta áudio estéreo e é treinado apenas em música. O modelo suporta taxas de bits de 3, 6, 12 e 24 kbps.

Para cada modelo foi preparado um modelo de linguagem adicional, que permite obter um aumento significativo na taxa de compressão (até 40%) sem perda de qualidade. Ao contrário de projetos desenvolvidos anteriormente que utilizam métodos de aprendizado de máquina para compressão de áudio, o EnCodec pode ser utilizado não apenas para empacotamento de voz, mas também para compressão de música com taxa de amostragem de 48 kHz, correspondente ao nível dos CDs de áudio. Segundo os desenvolvedores do novo codec, ao transmitir com taxa de bits de 64 kbps em relação ao formato MP3, eles conseguiram aumentar o grau de compressão de áudio em aproximadamente dez vezes, mantendo o mesmo nível de qualidade (por exemplo, ao usar MP3, é necessária uma largura de banda de 64 kbps, para transmissão com a mesma qualidade no EnCodec basta 6 kbps).

A arquitetura do codec é construída em uma rede neural com arquitetura “transformadora” e é baseada em quatro links: codificador, quantizador, decodificador e discriminador. O codificador extrai os parâmetros dos dados de voz e converte o fluxo compactado em uma taxa de quadros mais baixa. O quantizador (RVQ, Residual Vector Quantizer) converte a saída do fluxo do codificador em conjuntos de pacotes, compactando informações com base na taxa de bits selecionada. A saída do quantizador é uma representação compactada dos dados, adequada para transmissão em rede ou salvamento em disco.

O decodificador decodifica a representação compactada dos dados e reconstrói a onda sonora original. O discriminador melhora a qualidade das amostras geradas, levando em consideração o modelo de percepção auditiva humana. Independentemente do nível de qualidade e taxa de bits, os modelos usados ​​para codificação e decodificação são caracterizados por requisitos de recursos bastante modestos (os cálculos necessários para a operação em tempo real são realizados em um único núcleo da CPU).

Facebook publica codec de áudio EnCodec usando aprendizado de máquina


Fonte: opennet.ru

Adicionar um comentário