Sortie de libebur128 v1.1.0

Posté par  (site web personnel, Mastodon) . Édité par Davy Defaud, Nÿco et palm123. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
30
22
fév.
2016
Audiovisuel

libebur128 est une bibliothèque de mesure des niveaux d’intensité sonore (loudness) de programmes audio en mode fichier. Elle est distribuée sous licence MIT.

La version 1.1.0 ajoute notamment deux fonctionnalités :

  • ajout dans l’API de la fonction ebur128_relative_threshold() ;
  • ajout des définitions de canaux audio issues de la recommandation ITU R-REC-BS1770-4.

Portabilité

libebur128 est développée en C ANSI, et n’a pour dépendance (optionnelle) que la bibliothèque libspeexdsp, nécessaire à la mesure des crêtes véritables (true peak). L’installation utilise un script cmake, et il existe également un paquet debian (pas encore mis à jour à la date du 21 février 2016).

Utilisation

Le fichier minimal-example.c présente comment utiliser la bibliothèque. Notez bien qu’il appartient au programme appelant de fournir les données audio décodées, la bibliothèque ne fournissant pas de solution pour lire des fichiers audio ou multimédia. Il faut donc procéder en amont au traitement des fichiers. Le dépôt loudness-scanner, du même auteur, propose une implémentation utilisant diverses bibliothèques tierce-partie pour effectuer l’extraction des données audio de nombreux formats de fichiers.

Qu’est‐ce que la mesure loudness ?

Adaptation d’Open Source software for loudness measurement, présentation que j’avais rédigée pour les RMLL 2013 :

  • une mesure standardisée du niveau d’intensité sonore perçu par l’auditeur ;
  • mesures définies par l’I. T. U. et l’U. E. R. dans des documents librement accessibles ;
  • basée sur l’utilisation de filtres, de pondération des différents canaux audio et l’intégration sur la durée du programme ;
  • produit trois descripteurs du programme complet et deux mesures dynamiques.

Mesures Momentary et Short‐Term

Ce sont des indicateurs dynamiques, utilisés principalement en phase de post‐production lors du mixage. Les mesures Momentary et Short‐Term sont basées sur des fenêtres glissantes de durées respectives de 400 ms et 3 s.

Mesure Loudness intégrée

La mesure loudness intégrée représente le niveau d’intensité sonore moyen de la totalité d’un programme audio. Elle s’exprime en LUFS (Loudness Unit Full Scale). Le niveau cible défini par la recommandation EBU TECH R 128 est -23 LUFS. C’est également celui retenu en France pour les programmes destinés à la télévision hertzienne.

Mesure Loudness Range (LRA)

C’est une mesure statistique de la distribution des niveaux d’intensité sonore dans un programme audio. C’est une évaluation de la plage dynamique du programme. Elle s’exprime en LU (Loudness Unit relatives). La recommandation R128 suggère un LRA maximum de 20 LU pour les programmes destinés à la diffusion hertzienne.

Mesure True‐Peak

La mesure des crêtes véritables permet d’évaluer la valeur des crêtes inter‐échantillons susceptibles d’apparaître soit lors de la conversion numérique‐analogique, soit lors d’un encodage avec pertes (type MP3 ou AAC).

Elle s’exprime en dBTP, et ne doit pas être confondue avec la mesure dite sample peak qui mesure, elle, la valeur maximale des échantillons. La recommandation R128 suggère un maximum de -1 dBTP pour les programmes en PCM. Pour les programmes livrés en PCM mais susceptibles de subir un encodage avec perte, un maximum de -3 dBTP est conseillé.

Solutions alternatives

Outre le loudness‐scanner déjà mentionné, d’autres projets permettent la mesure loudness :

  • le filtre ebur128 de FFmpeg ;
  • Le projet freelcs permet, lui, d’automatiser la mesure et la correction éventuelle des fichiers.

Aller plus loin

  • # Sujet intéressant

    Posté par  . Évalué à 5.

    Ça ressemble a mon ressenti devant la télé avec des pubs dont le niveau sonore semble plus élevées que le programme lui-même.
    De la même manière, la musique dans un film semble toujours d'un niveau sonore supérieur aux dialogues.

    Est ce que je suis le seul a ressentir ça?
    Est ce que ce programme permettrait justement de vérifier ce genre de choses?

    • [^] # Re: Sujet intéressant

      Posté par  (site web personnel) . Évalué à 8.

      • [^] # Re: Sujet intéressant

        Posté par  (site web personnel) . Évalué à 6.

        La compression dynamique est le "loudness".

        Cela serait possible d'utiliser cette lib pour détecter la qualité d'un morceau de musique : détection de la loudness war,
        détection d’écrêtage (et donc non respect du théorème de Shanon, et donc création d'aliasing),
        détection de filtre anti-souffle tellement efficace qu'il détruit toutes hautes fréquences ?

        C'est bien beau d'avoir des enregistrements 24 bits 96 khz, mais si ils sont issues d'un enregistrement de CD mal fait, cela n'aura aucun intérêt

        "La première sécurité est la liberté"

        • [^] # Re: Sujet intéressant

          Posté par  . Évalué à 4.

          détection d’écrêtage

          Je ne suis pas spécialiste, mais il doit y avoir moins de 1% des contenus (audio, vidéo, en ligne, tv, radio, CD, etc) qui n'ont pas d'écrêtage. La dynamique audio du moindre film, morceau de musique, ou reportage est généralement très importante, donc sans écrêtage le son global est très faible.

          Peut-être que France Musique diffuse quelques contenus avec la « pleine » dynamique ?

          • [^] # Re: Sujet intéressant

            Posté par  (site web personnel) . Évalué à 3.

            Je ne suis pas sûr que l'on parle du même écrêtage. Couper/saturer un signal, cela détruit le son. Je ne pensais pas cela si courant. Si c'est courant, il faut peut être le mesurer par rapport à la durée du morceau.

            "La première sécurité est la liberté"

    • [^] # Re: Sujet intéressant

      Posté par  (site web personnel, Mastodon) . Évalué à 10.

      la pub est plus forte que le reste

      Cela dépend notablement du contexte. Pour ce qui concerne les chaînes de la TNT en France, et donc leurs différents vecteurs de diffusions (hertzien, satellite, VoIP, etc.), les pubs, comme les autres programmes, sont soumis depuis quelques années à des spécifications techniques justement basées sur la R128. Et donc il y a une nette amélioration de l'harmonisation des niveaux sonores d'un programme à l'autre (y compris les pubs) et d'une chaîne à l'autre.

      L'Europe et l'Amérique du Nord, ainsi que le Japon, ont dans l'ensemble adopté des mesures similaires, basées elle aussi sur la mesure loudness.

      Maintenant, lorsqu'on va sur le site d'une chaîne de la TNT pour regarder un programme en rattrapage, les programmes sont en général (c'était le cas il y a deux ou trois ans lorsque j'avais fait une étude sur plusieurs sites) les mêmes que ceux de la diffusion TNT (donc alignés à -23 LUFS). Les pubs d'origine TV aussi. Par contre, les pubs produites uniquement pour le web ne respectent en général pas ces normes, et donc vous sautent à la gueule l'oreille.

      les dialogues sont moins forts que la musique

      C'est un problème complexe. Le point de départ c'est que l'équilibre musique/effets/dialogues est considéré comme une liberté artistique du mixeur et du réalisateur, notamment en France ou le réalisateur est un auteur. Or, ils travaillent dans des conditions assez différentes de l'auditeur de base (ils connaissent le dialogue, ils écoutent la séquence plusieurs fois, l'environnement d'écoute est en général bien meilleur que celui d'un foyer, et le niveau d'écoute est plus fort). La spécification mentionnée plus haut établit quelques limites pour les dialogues. Néanmoins, le sentiment d'intelligibilité des dialogues dépend de plusieurs autres facteurs que le simple niveau relatif (la diction, le niveau de langage, la qualité de la prise de son, les éventuels défauts d'audition du spectateur). C'est devenu aujourd'hui, maintenant que le niveau des pubs est relativement contrôlé, un des premiers motifs de plainte des téléspectateurs en ce qui concerne le son.

      Un autre aspect à prendre en compte, c'est la diversité des conditions de consommation des programmes. Là ou auparavant on produisait un mixage adapté à la télévision (donc visionné sur une télé, dans un salon, avec des enceintes intégrées à l'écran), on a maintenant (un peu) de home-cinéma, du visionnage sur tablette ou téléphone, avec ou sans écouteurs, éventuellement dans un environnement bruyant. Ce n'est pas évident de produire un mixage adapté à toutes ces situations. Et produire différents mixages adaptés à chaque cas d'usage est d'une part onéreux, mais aussi compliqué à gérer en aval lors de la distribution. Une piste d'amélioration est l'évolution vers le mixage dit orienté objet, dans lequel un certain nombre de paramètres sont dynamiquement adaptés au contexte de reproduction. Par exemple, plusieurs nouveaux codecs audio permettent à l'utilisateur final de doser le rapport dialogue/musique à son goût.

      • [^] # Re: Sujet intéressant

        Posté par  (site web personnel) . Évalué à 4.

        | Et donc il y a une nette amélioration de l'harmonisation des niveaux sonores d'un programme à l'autre (y compris les pubs) et d'une chaîne à l'autre.

        J'ai un bon système 5.1, et j'ai souvent l'impression qu'il y une baisse de volume sur M6 par exemple, par rapport aux autres chaines.

        "La première sécurité est la liberté"

        • [^] # Re: Sujet intéressant

          Posté par  (site web personnel, Mastodon) . Évalué à 5. Dernière modification le 24 août 2019 à 13:51.

          Comment est-ce que vous recevez la télé ? TNT ? Satellite ? Box ?

          Comment est câblée votre installation ? Qui décode l'audio ? Un ampli home-cinéma ?

          Une piste : si j'en crois digitalbitrate.com, M6 est la seule chaîne gratuite qui diffuse du 5.1 sur ses flux HD.

          Donc quand vous visionnez une chaîne fournissant du stéréo, il est possible que votre décodeur audio effectue un upmix (fabrique un faux 5.1 à partir du mix stéréo) et cela modifie en général le loudness.

          Autre possibilité, votre décodeur n'effectue pas d'upmix, et lorsque vous passez d'un stéréo à un 5.1, vous passez d'un centre fantôme (entre les deux enceintes gauche et droite) à un centre sur l'enceinte centrale, et cela produit un effet psycho-acoustique perçu comme une baisse de niveau.

          • [^] # Re: Sujet intéressant

            Posté par  (site web personnel) . Évalué à 3.

            Je reçois par la TNT et le décodage se fait par le home cinema.

            M6 est la seule chaîne gratuite qui diffuse du 5.1 sur ses flux HD.

            Il me semble que TF1 le fait aussi selon le film diffusé.

            Donc quand vous visionnez une chaîne fournissant du stéréo, il est possible que votre décodeur audio effectue un upmix (fabrique un faux 5.1 à partir du mix stéréo) et cela modifie en général le loudness.

            J'utilise un mode stereo "5 enceintes". J'imagine que la bascule ne peut pas être neutre ("Spatialisation" du son au minimum, etc…).

            "La première sécurité est la liberté"

  • # Paquet à jour dans debian stretch

    Posté par  (site web personnel) . Évalué à 3.

    https://packages.debian.org/stretch/libebur128-1

    https://librazik.tuxfamily.org - http://linuxmao.org - https://liberapay.com/trebmuh

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.