• Aller au contenu
  • Aller au menu
  • Aller à la recherche

CPU ⬜ Carré Petit Utile

CPU

Carré, Petit, Utile : Le programme radio des gens du numérique.
Tous les Jeudi à 11h sur Radio <FMR>

  • Programmes
  • Interviewes
  • Chroniques
  • Chercher
  • Suivez-nous !
  • CPU
  • ⬜
  • Chroniques
  • ›
  • Ainsi naquit
  • ›
  • Ainsi naquit : Lame, l'autre encodeur mp3
  • ← précédent
  • ⬜
  • suivant →

Ainsi naquit : Lame, l'autre encodeur mp3

jeudi 22 octobre 2020. Chroniques › Ainsi naquit

  • audio
  • bugs
  • communication
  • hack
  • immersion sensorielle
  • infrastructure
  • matériel
  • musique
  • protocole
  • standard

Extrait de l'émission CPU release Ex0147 : Codecs du son.

Et d'ailleurs, restons avec le format mp3. Ce sous-format du MPEG-1 devient très vite populaire pour compresser des musiques, et le transmettre... bien souvent pour un usage illégal. Et l'encodeur le plus utilisé sur le matériel professionnel comme les logiciels grand-public, était celui distribué sous licence par le Fraunhofer Institute.

En 1998, le développeur Mike Cheng patche dans son coin quelques bugs de dist10, l'encodeur de démonstration fourni par le groupe MPEG pour le MPEG 1 Layer III. Et il s'amuse à bricoler autour du format… Son code forké, Lame, est redistribuée dans le milieu de l'open source, et attire des développeurs.

Ainsi naquit : Lame, l'autre encodeur mp3

Mais attention : Lame est alors une modification d'un code pré-existant, réalisé indépendamment du consortium MPEG et sans aviser le Fraunhofer Institute à l'origine du code et du codec. Ce qui a posé des problèmes de droits, de brevets et autres joyeusetés ruineuses. Même s'il est théoriquement interdit de breveter en Europe une formule mathématique ou un logiciel, ce n'est pas le cas dans le reste du monde, et surtout aux États-Unis, ce qui pose un problème pour la communauté du logiciel libre qui ne peut redistribuer Lame librement.

En quelques mois, tout le code source de Lame est ré-écrit from scratch, enlevant ainsi tout le code originel de dist10. Cette ré-écriture permet de proposer Lame avec la licence LGPL, et avec des fonctionnalités repensées. Et surtout un objectif : obtenir des fichiers mp3 parfaitement lisibles avec les bibliothèques de décompression standards, donc avec tout matériel et logiciel déjà existants, mais avec un bien meilleur ratio de compression de données à qualité de restitution équivalente.

Pour donner une idée, on estime en gros un mp3 encodé avec Lame à 128 kbits/s correspondrait à un mp3 encodé en Fraunhofer à 170 kbits/s, qui correspondrait à un mp2 à 240 kbits/s… Mais honnêtement, c'est plus une affaire de sensations, donc ces chiffres ne sont pas objectifs.

Lame introduisait un hack au format mp3, ouvrant la porte à une propriété inédite : l'encodage à débit variable, variable bit rate dit VBR, par opposition au format constant bit rate, CBR, qui était utilisé jusqu'ici. En gros, on peut dire que selon la complexité du son à un instant donné, le débit sortant variera entre 64 kbits/s et 192 kbits/s, en répétant la métadonnée du container indiquant le débit du codec chaque fois qu'on veut le changer. L'avantage est que l'encodeur n'a plus à encoder des artefacts pour arriver au débit exigé dans ses réglages.

Alors pourquoi ne s'est-on intéressé que si tard au débit variable ?
La réponse varie
Parce que le standard MPEG-1 a était prévu pour des supports linéaires à débit fixe, sans pouvoir sauter dans le flux, comme les cassettes et CD-Rom, ou utilisant toute la bande passante d'un moyen de diffusion comme le canal d'une liaison satellite, câble ou hertzien. Que les mêmes codecs qui sont dans le container MPEG-1 ont commencé à être développé en 1988, où il n'était même pas envisageable de faire plusieurs compressions en parallèle pour trouver le meilleur ratio durant une diffusion en direct ; et que le développement de Lame a commencé en 1998, quand le piratage de musique en format mp3 a popularisé le format de fichier en tant que tel, et donc sa lecture à partir d'un disque dur, dont le débit de transmission n'avait rien à voir aux applications prévues à l'origine.
Eh oui.

Sauf que le débit variable a de gros inconvénients. Par exemple pour la diffusion en stream : si jamais le serveur de diffusion accepte trop d'auditeurs, mais que la complexité d'un son varie brusquement et demande ponctuellement plus de débit, le serveur entraîne soit des déconnexion brutes, soit provoque des sautes chez tous les auditeurs.
C'est pour ça qu'en stream audio ou vidéo, on évite le pas variable avec une trop grande tolérance. Par contre, elle a montré son efficacité en satellite ou en diffusion hertzienne, quand ce procédé n'est pas utilisé pour un seul programme, mais un bouquet de programmes, lequel bouquet est transmit dans une bande passante maximale donnée. C'est techniquement ce qui a servi pour le bouquet satellite TPS qui se vantait d'une meilleure qualité d'image que CanalSat, qui eux restaient en CBR.

D'autres codecs audio que le mp3 connurent leur ré-implémentation et améliorations rétro-compatibles comme le codec libre Ogg Vorbis.

Texte : Da Scritch
Illustration : Logo officiel du projet Lame, via wikimedia, D.R.

Pièces jointes

  • 0147-CPU-Naquit-Lame(22-10-20).mp3

Aucun commentaire

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées. Votre e-mail ne sera pas affiché.

Menu

Catégories

  • Programmes
  • Interviewes
  • Chroniques
    • Enfant du futur immédiat
    • Ainsi naquit
    • Artefact du passé
    • Feedback
    • Histoire
    • How to
    • La mascotte
    • Le Gourou
    • Lexique
    • Plantage
    • Standard
    • Archéologie du Futur
    • Légende
    • Paillasse du design
  • Hors micro
  • Teaser

Séries

  • Arrière-guichet
  • Au service informatique de Sa Majesté
  • Bio is the new Black
  • Bulletin de santé d´Internet 2017
  • Crie si tu sais…
  • Cryptoparty
  • Elles codent
  • Futurs alternatifs
  • Histoires de la cryptographie
  • Killed By App
  • Langages machine
  • lost and found
  • Made in Japan 日本製
  • Parce que c’est Notre Projet Souverain
  • Quelque chose de totalement différent
  • Radio numérique
  • Read That Funky Manual !
  • Situation critique
  • Webmasters

Toutes les séries

Mots-clés

  • communication
  • communauté
  • design
  • politique
  • infrastructure
  • développement
  • matériel
  • organisation
  • sécurité
  • éducation
  • électronique
  • logiciel
  • standard
  • éthique
  • prototypage
  • humour
  • maker
  • marketing
  • situation de crise
  • vie privée

Tous les mots-clés

Menu extra

Suivez-nous !

  • 🎵 Podcast des émissions
  • 🎧 …pour Android
  • 🎧 …via Apple Podcast
  • 🎧 …via Google Podcast
  • 🎧 …en newsletter
  • Comment faire

Réseaux sociaux

  • Twitter @CPUprogramme
  • @cpu@Mastodon.tetaneutral.net
  • LinkedIn company/cpuprogramme
  • Facebook /programmecpu
  • Nous écrire par e-mail

Développeurs

  • Da Scritch
  • Enflammée
  • Fs0c131y
  • Gabriel
  • Infested Grunt
  • Vicla
  • Solarus
  • Philippe Martorell
  • Megami Yume
  • Chris O'Brien
  • Élise Rigot
  • René Speranza
  • Toute l'équipe

Producteurs

  • Radio <FMR>
  • Silicium
  • Ça Fait Écho
  • Régie publicitaire

Code source (github)

  • CPU-Audio web component
  • Thème Dotclear "CPU-15"
  • CPU podcaster
  • Youtube future playlist

Pages juridiques

  • Documentation du programme
  • Licence de l'émission et des sonores
  • Politique de confidentialité 🍪
  • Mentions légales

Interviewes et chroniques en licence CC-BY-NC ⬜ Émissions © DaScritch et l'équipe pour Radio <FMR> ⬜ Propulsé par Dotclear