Facebook publie le codec audio EnCodec grâce à l'apprentissage automatique

Meta/Facebook (interdit en Fédération de Russie) a introduit un nouveau codec audio, EnCodec, qui utilise des méthodes d'apprentissage automatique pour augmenter le taux de compression sans perte de qualité. Le codec peut être utilisé à la fois pour diffuser de l'audio en temps réel et pour encoder en vue d'une sauvegarde ultérieure dans des fichiers. L'implémentation de référence EnCodec est écrite en Python à l'aide du framework PyTorch et est sous licence CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) pour une utilisation non commerciale uniquement.

Deux modèles prêts à l'emploi sont proposés en téléchargement :

  • Un modèle causal utilisant un taux d'échantillonnage de 24 kHz, prenant uniquement en charge l'audio monophonique et formé sur diverses données audio (adaptées au codage vocal). Le modèle peut être utilisé pour conditionner des données audio à transmettre à des débits binaires de 1.5, 3, 6, 12 et 24 kbps.
  • Un modèle non causal utilisant une fréquence d'échantillonnage de 48 kHz, prenant en charge l'audio stéréo et formé uniquement sur la musique. Le modèle prend en charge des débits binaires de 3, 6, 12 et 24 kbps.

Pour chaque modèle, un modèle de langage supplémentaire a été préparé, ce qui permet d'obtenir une augmentation significative du taux de compression (jusqu'à 40 %) sans perte de qualité. Contrairement aux projets développés précédemment utilisant des méthodes d'apprentissage automatique pour la compression audio, EnCodec peut être utilisé non seulement pour le packaging de la parole, mais également pour la compression de la musique avec un taux d'échantillonnage de 48 kHz, correspondant au niveau des CD audio. Selon les développeurs du nouveau codec, lors de la transmission avec un débit de 64 kbps par rapport au format MP3, ils ont pu augmenter le degré de compression audio d'environ dix fois tout en conservant le même niveau de qualité (par exemple, lors de l'utilisation MP3, une bande passante de 64 kbps est requise, pour la transmission avec cela, la même qualité dans EnCodec suffit (6 kbps).

L'architecture du codec est construite sur un réseau de neurones avec une architecture « transformateur » et repose sur quatre liaisons : codeur, quantificateur, décodeur et discriminateur. L'encodeur extrait les paramètres des données vocales et convertit le flux compressé en une fréquence d'images inférieure. Le quantificateur (RVQ, Residual Vector Quantizer) convertit le flux émis par l'encodeur en ensembles de paquets, compressant les informations en fonction du débit binaire sélectionné. La sortie du quantificateur est une représentation compressée des données, adaptée à la transmission sur un réseau ou à la sauvegarde sur disque.

Le décodeur décode la représentation compressée des données et reconstruit l'onde sonore originale. Le discriminateur améliore la qualité des échantillons générés, en tenant compte du modèle de perception auditive humaine. Quel que soit le niveau de qualité et de débit, les modèles utilisés pour l'encodage et le décodage se distinguent par des besoins en ressources plutôt modestes (les calculs nécessaires au fonctionnement en temps réel sont effectués sur un seul cœur de CPU).

Facebook publie le codec audio EnCodec grâce à l'apprentissage automatique


Source: opennet.ru

Ajouter un commentaire