Codec 2 + réseau neuronal = podcast entier sur une disquette

Dans un article précédent, nous avons discuté du codec Opus, qui fonctionne à des débits très faibles. Mais un autre codec vise à atteindre des débits encore plus bas - c'est le codec 2 .

Le codec 2 sert uniquement à coder la parole. Et bien que le débit soit impressionnant, le son n'est pas aussi de haute qualité que dans le cas d'Opus, qui peut être entendu dans des exemples audio . Cependant, en combinaison avec le réseau neuronal ( WaveNet ), le codec montre des résultats impressionnants .


Couches d'un réseau neuronal WaveNet

Présentation


Le codec 2 est open source et est conçu pour le codage de la parole. Il se concentre sur les débits binaires de 700 à 3200 bps.

Développeur - David Rowe , un ingénieur en électronique vivant actuellement en Australie du Sud. Il a démarré le projet en septembre 2009 dans le but d'améliorer les communications radio à faible coût pour les habitants des régions reculées du monde. À cette fin, il allait développer un codec qui réduirait considérablement la taille des fichiers et les besoins en bande passante pour le streaming.

Une autre motivation, selon David, était la création d'un codec sans brevet comme alternative aux codecs propriétaires, qui, à son avis, "nécessitent des licences coûteuses et maladroites et étouffent l'innovation." Il pense que vous pouvez vous passer de codecs brevetés, il distribue donc tout le travail sous une licence gratuite.

Application potentielle


L'auteur nomme diverses applications du codec, notamment la VoIP, la communication vocale sur une bande étroite de radio numérique HF / UHF (en particulier pour la radio amateur, pour éviter les problèmes d'utilisation de codecs propriétaires), la communication dans les pays en développement et les régions éloignées, y compris l'armée, la police et les services de sauvetage .

Chez Auphonic, nous nous intéressons à l'utilisation potentielle d'un codec pour mieux compresser les podcasts, les présentations et les livres audio, ce qui peut réduire la quantité d'espace utilisé et minimiser l'effet de mauvaises connexions réseau .

Comment ça marche


Pour réduire le débit binaire, il est nécessaire de réduire la parole au minimum d'informations / données possibles, c'est-à-dire de minimiser la quantité d'informations excessivement transmises.

Pour cela, Codec 2 utilise un codage de parole sinusoïdal harmonique . Il divise le discours en segments de 10 à 30 ms, appelés trames. Chaque trame est ensuite analysée pour un niveau fondamental (hauteur) et le nombre d'harmoniques qui correspondent à la bande passante de 4 kHz. De plus, pour chaque harmonique dans la plage de 4 kHz, l'amplitude et la phase sont enregistrées.

Ces informations sont ensuite encodées et le décodeur restaure le son sur la base de ces données.


Organigrammes du codec 2: encodeur (à gauche) et décodeur (à droite). Illustration par Rowtel

Exemples audio et comparaison avec d'autres codecs


Bien que tout cela sonne bien en théorie, mais qu'en réalité? Écoutons. Voici un petit fichier son wav:

intro-orig.wav - 1,3 Mo

Nous appliquons le codec 2 (sans décodeur WaveNet) à différents débits disponibles: 3200 bps , 2400 bps , 1600 bps , 1200 bps et 700 bps .

Ces exemples montrent une réduction significative de la taille du fichier.

Regardons les fichiers en termes de volume pour stocker 1 heure de son :

  • À 3200 bits / s, une heure de son ne nécessite que 1,37 Mo (s'adapte sur une vieille disquette de 3½ pouces!)
  • Le débit binaire 2400 bps correspond à 1,03 Mo / h
  • Le débit binaire de 1600 bps est de 0,68 Mo / h (soit environ deux heures de son sur une disquette! )
  • 1200 bps - jusqu'à 0,51 Mo / h
  • 700 bps - jusqu'à 0,3 Mo / h

La compression est très forte, mais le résultat semble clairement contre nature.

A titre de comparaison, le même son est en MP3 à 8 Kbps .

La taille du fichier est nettement supérieure à celle du Codec 2, et la qualité est probablement encore inacceptable. Vous pouvez bien entendre ce qu'on appelle parfois un grésillement - les sons métalliques étranges inhérents aux MP3 de mauvaise qualité.

Il y a le dernier codec à comparer. Il semble qu'il unit les deux mondes, c'est-à-dire qu'il offre une qualité acceptable à un faible débit binaire: Opus .

Grâce à ses performances convaincantes à bas débit, Auphonic offre déjà aux utilisateurs le codage Opus jusqu'à 6 Kbps, le débit le plus bas pris en charge par le codec.

À 6 kbps, le codec Opus semble nettement meilleur que le MP3 8 kbps. La voix est un peu étouffée, mais ça sonne toujours naturel .

Revenons au Codec 2, par intérêt, écoutons comment il encode la musique ! (Gardez à l'esprit que Codec 2 n'est pas destiné à encoder de la musique, mais uniquement à la parole).

Fichier source
MP3 8 kbps

Personnellement, je ne peux pas écouter de MP3 à un tel débit, alors regardons les résultats de Codec 2! Donc, 3200 bps , 2400 bps , 1600 bps , 1200 bps , 700 bps .

Il est facile de comprendre qu'à cette fin, il ne convient pas du tout!

Codec 2 et WaveNet


Comme nous l'avons déjà entendu, malgré l'impressionnante compression, le résultat n'est pas un son très naturel.

Mais ici, la question devient plus intéressante si vous regardez le travail de Bastian Klein de la bibliothèque de l'Université Cornell. Il a utilisé Codec 2 à un débit de 2400 bps pour l'encodage, mais a remplacé le décodeur Codec 2 par un modèle d'apprentissage en profondeur WaveNet génératif (voir l'article «Encodage à faible débit basé sur Wavenet» pour plus d'informations).

Voici quelques exemples des auteurs :

Voix masculine
Fichier source
Codec 2
Avec WaveNet Decoder

Voix féminine
Fichier source
Codec 2
Avec WaveNet Decoder

Par rapport au Codec 2, nous entendons une amélioration significative de la qualité , et par rapport à l'original, il n'y a pas de diminution significative de la qualité.

David Rowe lui-même a déclaré qu'il considérait le résultat comme "une amélioration spectaculaire du codage de la parole à de faibles débits binaires" et "un bon codec vocal à large bande de 8 000 bits / s".

Conclusion


Bien que le codec (original) Codec 2 soit un travail très intéressant, sa portée est limitée et le résultat final ne convient pas pour le podcasting. Il ressort également clairement des exemples audio qu'il peut être utilisé pour compresser uniquement la voix, mais pas la musique.

Néanmoins, Codec 2 en combinaison avec le décodeur WaveNet améliore considérablement la qualité, et le faible débit binaire (2400 bps) sera extrêmement intéressant pour la distribution de podcasts et de livres audio : seulement 1,03 Mo d' espace est requis pour une heure de son !

Auphonic ajoutera la prise en charge du Codec 2 aux fichiers de sortie lorsque le décodeur WaveNet apparaît sous une forme utilisable. Jusqu'à présent, nous avons ajouté la prise en charge de Codec 2 uniquement pour les fichiers d'entrée .

Source: https://habr.com/ru/post/fr415557/


All Articles