Voir et mesurer le son — épisode 7/10. Les crêtes, le RMS et les VU-mètres décrivent des propriétés utiles du signal, mais ne suffisent pas à comparer la sonie de programmes. Avec Uptown funk street, de Dmc Mystic, nous allons lire les indicateurs LUFS, distinguer leurs durées d’observation et comprendre la référence EBU R128.

Écouter le MP3 du jour

Ouvrir le MP3 original. Pour l’exercice, écoutez 0:00–0:20, puis 1:00–1:20, sans changer le volume. Observez ensuite les courbes : la mesure momentanée réagit plus vite que celle à court terme, tandis que l’intégrée décrit l’ensemble déjà parcouru.

Les tags indiquent l’album Neon pulse, piste 15/15. FFprobe relève un flux stéréo à 48 000 Hz, un débit audio indiqué d’environ 287,2 kbit/s et une durée déclarée de 206,808 secondes.

1. LUFS et LU : niveau absolu ou différence

LUFS désigne une mesure de sonie référencée à la pleine échelle numérique. LU exprime une différence ou une plage de sonie. Entre −18 LUFS et −15 LUFS, l’écart est de 3 LU. Une variation de gain de 3 dB se traduit en principe par le même décalage de sonie, lorsque le contenu retenu par la mesure reste comparable.

La mesure ne consiste pas à regarder les plus grands échantillons. Elle applique une pondération fréquentielle K, calcule des énergies puis combine les canaux avec des coefficients définis. Pour la stéréo, les énergies gauche et droite se combinent sans sommer les ondes en mono : deux canaux de polarités opposées ne s’annulent donc pas dans ce calcul de sonie.

Pour un bloc stéréo pondéré, la structure du calcul est L = −0,691 + 10 log10(zL + zR), où les z sont les moyennes des carrés après filtrage K. Cette formule ne dispense pas d’implémenter correctement les filtres, les fenêtres et le gating. Un RMS brut auquel on ajoute une constante ne constitue pas un calcul LUFS complet.

2. Trois échelles de temps : M, S et I

Lectures du mode EBU
Indicateur Durée / méthode Question utile
M — Momentary Fenêtre glissante de 400 ms, sans gating Comment évolue localement la sonie ?
S — Short-term Fenêtre glissante de 3 s, sans gating Quel est le niveau sur une phrase ou un passage ?
I — Integrated Depuis le début de la mesure, avec gating Quelle est la sonie du programme ou segment mesuré ?

Ces fenêtres sont définies dans EBU Tech 3341. Une lecture I pendant la lecture n’est pas encore le résultat du morceau entier : sa valeur évolue à mesure que le programme avance. Le résultat final exige de parcourir tout le fichier avec le même état de mesure.

3. Le gating de l’intégrée

Les blocs très faibles ne doivent pas faire baisser artificiellement la valeur de programme comme le ferait une moyenne naïve incluant un long silence. La mesure intégrée utilise des blocs de 400 ms avec recouvrement et deux étapes de sélection : un seuil absolu à −70 LUFS, puis un seuil relatif à −10 LU par rapport au résultat obtenu après la sélection absolue.

Les énergies des blocs retenus sont agrégées avant leur conversion logarithmique finale. On ne fait pas la moyenne arithmétique des nombres LUFS imprimés dans un journal. Le gating ne découpe pas non plus le fichier audio : il sélectionne des blocs pour le calcul, sans rendre le son muet dans le lecteur.

La pondération K et le gating rendent la mesure plus utile pour comparer les programmes. Ils ne modélisent pas entièrement les réactions individuelles à tous les contenus, volumes d’écoute et environnements.

4. Résultats sur Uptown funk street

L’analyse a été exécutée avec FFmpeg 6.1.1 et le filtre ebur128, à la fréquence native, sans gain ou normalisation préalable. Le filtre analyse le flux audio sélectionné ; la pochette intégrée n’intervient pas dans les résultats.

Résultats arrondis au dixième, selon la sortie FFmpeg
Mesure Résultat
Sonie intégrée finale I −9,8 LUFS
Maximum momentané M −6,3 LUFS, fenêtre finissant vers 61,7 s
Maximum à court terme S −7,7 LUFS, fenêtre finissant vers 67,6 s
Loudness Range finale Environ 6,4 LU
Seuil final de l’intégrée Environ −19,9 LUFS
True Peak maximal estimé par le filtre Environ −1,6 dBTP

Les maxima M et S sont recherchés parmi les mises à jour de 100 ms, après disponibilité d’une fenêtre complète. Les heures indiquent la fin de la fenêtre, pas l’instant d’une crête échantillon. Le journal FFmpeg libelle sa rubrique True Peak en « dBFS » ; nous présentons cette estimation en dBTP pour la distinguer de la crête échantillon.

Dans quelques blocs très faibles de fin, cette version du filtre renvoie une valeur M non finie. Ces points ne sont pas remplacés par zéro : ils sont exclus de la recherche du maximum et laissés vides dans le tracé. Le résultat I final reste celui du résumé du filtre. Le journal signale également un commentaire ID3 mal formé et ignoré ; il s’agit d’un avertissement de métadonnées.

5. Lire le graphique des mesures

Courbes de sonie momentanée, à court terme et intégrée cumulée du morceau Uptown funk street
Mesures issues des métadonnées du filtre ebur128, relevées toutes les 100 ms. Les premières fenêtres incomplètes sont masquées. Les valeurs en dessous des limites des axes sont hors cadre. La ligne −23 LUFS est un repère de comparaison ; aucun gain n’est appliqué au lecteur MP3.

La courbe M suit les fluctuations les plus rapides de ces trois lectures. La courbe S lisse davantage les événements par sa fenêtre de trois secondes. La courbe I conserve l’histoire de la mesure depuis le début, sous réserve du gating ; elle ne doit pas être interprétée comme le niveau instantané.

Une variation courte peut donner un maximum M élevé sans changer beaucoup le résultat I. Inversement, un passage soutenu suffisamment long peut déplacer progressivement l’intégrée. Ce sont des lectures complémentaires.

6. Loudness Range : une distribution, pas un écart crête–RMS

La LRA décrit l’étendue statistique des valeurs de sonie à court terme retenues. EBU Tech 3342 utilise des fenêtres de trois secondes, un seuil absolu de −70 LUFS et un seuil relatif de −20 LU. Après sélection, l’indicateur est l’écart entre les 95e et 10e percentiles.

Le seuil relatif de LRA ne doit donc pas être confondu avec celui de l’intégrée. La LRA n’est ni le maximum moins le minimum du graphe M, ni le facteur de crête, ni une mesure complète de la dynamique musicale. Ici, environ 6,4 LU décrit ce fichier dans cette implémentation ; il ne s’agit pas d’une note de qualité.

7. Que signifie la référence −23 LUFS ?

EBU R128 recommande une sonie de programme de −23,0 LUFS dans son cadre de normalisation. Le document prévoit aussi un contrôle du True Peak, avec une limite générale de production linéaire à −1 dBTP, et précise que d’autres conditions de distribution peuvent exiger davantage de marge.

La valeur −23 LUFS est un objectif de ce workflow, pas une propriété obligatoire de tout fichier musical. On ne déduit pas une cible de publication universelle d’une mesure, et le chiffre LUFS ne remplace pas le cahier des charges de diffusion.

8. Exemple vérifié de normalisation par gain

Avec les résultats arrondis, le gain nécessaire pour passer de −9,8 LUFS à −23 LUFS vaut G = −23 − (−9,8) = −13,2 dB. La multiplication d’amplitude correspondante vaut environ 10−13,2/20 ≈ 0,219. Elle conserve les proportions entre échantillons ; aucune compression dynamique n’est demandée.

Nous avons relancé l’analyse avec ce gain : le résumé donne bien −23,0 LUFS à sa précision d’affichage, et un True Peak d’environ −14,8 dBTP. La LRA reste voisine de 6,3–6,4 LU, la légère différence étant cohérente avec la résolution numérique et statistique de cette mesure ; la forme relative du signal n’a pas été modifiée.

Le calcul basé sur une valeur arrondie n’est pas exact au millième. Pour un export, il faut mesurer le résultat complet et vérifier les tolérances requises. Le lecteur de cet article utilise toujours le MP3 original ; ce gain a été testé dans une chaîne d’analyse distincte.

9. Commandes reproductibles

Les exemples utilisent une copie locale nommée uptown-funk-street.mp3.

Analyser le programme entier sans le modifier

ffmpeg -hide_banner -nostats -i uptown-funk-street.mp3 -map 0:a:0 -af ebur128=peak=true -c:a pcm_f64le -f null -

Exporter les points pour un graphique

ffmpeg -hide_banner -nostats -i uptown-funk-street.mp3 -map 0:a:0 -af "ebur128=metadata=1:peak=true,ametadata=mode=print:file=loudness-metadata.txt" -c:a pcm_f64le -f null -

Le fichier texte contient notamment lavfi.r128.M, S, I et LRA. Les horodatages pts_time repèrent le début des blocs de sortie ; pour le graphique, on leur ajoute 0,1 s pour placer les valeurs en fin de bloc complet. Les données non finies doivent être gérées explicitement lors du tracé.

Vérifier une atténuation sans créer de nouveau master

ffmpeg -hide_banner -nostats -i uptown-funk-street.mp3 -map 0:a:0 -af "volume=-13.2dB,ebur128=peak=true" -c:a pcm_f64le -f null -

La sortie est jetée dans les trois cas. Le filtre ebur128 mesure ; il ne normalise pas le son. C’est le filtre volume de la dernière commande qui applique l’atténuation. Une nouvelle compression MP3 pourrait modifier les crêtes : un export final doit être contrôlé après encodage.

10. À retenir pour comparer deux morceaux

  • Mesurer chaque programme entier avec les mêmes réglages et un état réinitialisé.
  • Comparer I pour la sonie de programme ; consulter M et S pour les variations locales.
  • Contrôler séparément le True Peak et les limites de la chaîne de diffusion.
  • Documenter la cible, le gain appliqué et le résultat après export.

Une analyse LUFS renseigne le niveau de programme ; elle ne juge pas le groove, le timbre ou l’intérêt artistique du morceau.

Sources

Les résultats et la figure sont issus de l’exécution des commandes sur le MP3 fourni. La couverture est une illustration éditoriale. Prochain épisode : True Peak et MP3, pour examiner les crêtes entre les échantillons.