Voir et mesurer le son — épisode 3/10. Un affichage à barres qui réagit à la musique peut suivre plusieurs grandeurs. Dans cet article, nous étudions le crête-mètre numérique à échantillons : son rôle est de repérer les amplitudes maximales du signal numérique. Le cas pratique utilise Lonely storm radio mix, de Dmc Mystic, pour relier un véritable MP3 à des chiffres et à une représentation temporelle.
Écouter le morceau du jour
Ouvrir le MP3 original. Écoutez les vingt premières secondes, puis le passage de 2:00 à 2:20, sans changer votre réglage de volume. Nous comparerons leurs niveaux de crête et RMS plus bas. Les observations chiffrées ne reposent pas sur une interprétation à l’oreille.
1. La crête : le plus grand échantillon en valeur absolue
Sur un bloc de N échantillons d’un canal, la crête se définit par P = max(|x[n]|). La valeur absolue est essentielle : une excursion de −0,9 est plus importante qu’une excursion de +0,7. Mesurer seulement le maximum positif ferait manquer certaines crêtes.
En stéréo, le calcul est effectué séparément à gauche et à droite. Pour rechercher le maximum de l’ensemble des canaux, on prend ensuite la plus grande de ces deux crêtes. On ne somme pas les canaux : une telle opération définirait un autre signal, avec des possibilités de renforcement ou d’annulation.
2. Comprendre l’échelle dBFS
Le sigle dBFS signifie décibels par rapport à la pleine échelle numérique. Dans la convention d’amplitude normalisée utilisée ici, la valeur absolue 1 représente la référence. Pour une crête P strictement positive, Lp = 20 log10(P).
| Amplitude absolue | Niveau |
|---|---|
| 1 | 0 dBFS |
| 0,5 | −6,02 dBFS |
| 0,25 | −12,04 dBFS |
| 0,1 | −20 dBFS |
| 0 | −∞ dBFS |
Un niveau de −6 dBFS n’indique pas un son deux fois moins fort à l’oreille. Les décibels décrivent ici un rapport d’amplitude numérique. Ils ne mesurent pas directement les décibels acoustiques au point d’écoute, qui dépendent aussi de la chaîne de restitution et de son réglage.
3. Conditions du cas pratique
La copie du MP3 a été inspectée puis décodée avec FFmpeg et FFprobe 6.1.1, sans gain, égalisation, normalisation ou rééchantillonnage ajouté. L’analyse utilise les deux canaux décodés en flottant 32 bits, à la fréquence native de 48 000 Hz. Ce format de calcul ne permet pas de déduire la profondeur du master d’origine.
| Propriété | Valeur |
|---|---|
| Titre inscrit dans les tags | Lonely storm radio mix |
| Artiste / album inscrits | Dmc Mystic / Fusion field |
| Codec et canaux | MP3, stéréo |
| Débit indiqué pour le flux audio | Environ 268,3 kbit/s |
| Durée indiquée par FFprobe | 231,144 s |
| PCM effectivement décodé | 11 093 543 échantillons par canal, soit 231,115479 s |
Les résultats concernent le MP3 décodé, pas le master avant encodage. Un commentaire ID3 est signalé comme mal formé et ignoré ; le décodage audio complet s’est terminé. Ce message de tag n’est pas, à lui seul, la preuve d’un défaut audible.
4. Les crêtes réellement mesurées
| Grandeur | Gauche | Droite |
|---|---|---|
| Amplitude absolue maximale | 0,903455 | 0,908654 |
| Crête échantillon | −0,882 dBFS | −0,832 dBFS |
| Instant de cette crête dans le PCM | 144,378667 s | 50,365521 s |
| Échantillons avec |x| ≥ 1 | 0 | 0 |
| Marge à 0 dBFS selon cette mesure | 0,882 dB | 0,832 dB |
Le maximum du fichier est donc sur le canal droit. Les crêtes maximales des deux canaux surviennent à des moments différents. Leur écart, d’environ 0,05 dB, ne suffit pas à caractériser l’équilibre stéréo ressenti.
Aucun échantillon décodé n’atteint la référence de pleine échelle. Cette constatation ne certifie pas l’absence de distorsion dans la production, ni l’absence de crêtes inter-échantillons. Elle décrit précisément le résultat de ce détecteur.
5. Visualiser les crêtes dans le temps
La ligne pointillée matérialise 0 dBFS. Les repères indiquent les maxima calculés sur les échantillons individuels. Le graphe aide à situer les régions de forte amplitude, tandis qu’un crête-mètre à barres en montre généralement une fenêtre à la fois.
6. Attaque, retour et maintien de crête
Un détecteur peut retenir tous les échantillons d’un bloc, même si l’écran ne se rafraîchit que 25 ou 30 fois par seconde. Un pic très bref n’est alors pas perdu dans le calcul. En revanche, un affichage qui ne regarde qu’un échantillon ponctuel à chaque rafraîchissement peut manquer des événements.
Pour la lisibilité, une barre peut monter immédiatement et redescendre progressivement. Un trait de peak hold peut retenir une crête pendant une seconde. Ce choix d’interface ne change pas la valeur de la crête brute ; il change la durée pendant laquelle elle reste visible. Il faut distinguer le maximum du bloc courant, le maintien temporaire et le maximum mémorisé depuis le début de la lecture.
Un voyant rouge dépend aussi d’un seuil choisi. Une zone colorée dès −3 dBFS n’est pas une preuve d’écrêtage : c’est une convention de présentation. Un indicateur doit annoncer la grandeur détectée, le seuil et le comportement temporel.
7. Exercice : crêtes proches, niveau moyen différent
| Passage | Crête G / D | RMS G / D |
|---|---|---|
| 0:00–0:20 | −0,969 / −1,340 dBFS | −9,675 / −9,755 dBFS |
| 2:00–2:20 | −1,354 / −1,109 dBFS | −8,944 / −9,004 dBFS |
Le deuxième passage possède un RMS plus élevé sur les deux canaux, alors que sa crête gauche est plus basse. C’est un exemple concret de la différence entre maximum et énergie moyenne. Le RMS est calculé ici par √[Σx[n]² / N], puis converti en dB par rapport à l’amplitude de référence 1, sans pondération ni correction de référence sinusoïdale.
À l’écoute, cherchez comment la continuité et la densité du passage changent. Un crête-mètre seul ne mesure pas la sonie ; on ne peut pas transformer directement les valeurs de ce tableau en LUFS.
8. Reproduire la mesure avec FFmpeg
Les commandes suivantes utilisent une copie locale nommée lonely-storm.mp3. Elles sélectionnent explicitement l’audio afin d’écarter la pochette intégrée.
Vérifier le flux
ffprobe -v warning -select_streams a:0 -show_entries stream=codec_name,sample_rate,channels,channel_layout -of json lonely-storm.mp3
Mesurer les maxima sans modifier le MP3
ffmpeg -hide_banner -i lonely-storm.mp3 -map 0:a:0 -af astats=metadata=0:reset=0 -c:a pcm_f32le -f null -
Recherchez les lignes Peak level dB pour chaque canal. reset=0 conserve l’accumulation sur le morceau entier. La sortie est jetée ; les informations de mesure sont imprimées dans le journal. La sortie flottante explicite conserve la cohérence de la chaîne de calcul.
Créer une démonstration vidéo du crête-mètre sur vingt secondes
ffmpeg -i lonely-storm.mp3 -filter_complex "[0:a:0]atrim=start=0:end=20,asetpts=PTS-STARTPTS,asplit=2[a][meter];[meter]showvolume=r=25:w=800:h=60:m=p:ds=log:dm=1,pad=ceil(iw/2)*2:ceil(ih/2)*2[v]" -map "[v]" -map "[a]" -c:v libx264 -pix_fmt yuv420p -c:a aac -b:a 192k -shortest crete-metre-demo.mp4
Ce petit fichier vidéo associe le son aux barres générées par showvolume. Le mode m=p sélectionne les crêtes ; l’échelle ds=log les rend plus lisibles, et dm=1 ajoute un maintien du maximum sur la seconde précédente. L’affichage est pédagogique : ses couleurs et son retour ne constituent pas une certification de mesure normalisée. Le son de la vidéo est réencodé en AAC ; les chiffres de cet article proviennent bien du MP3 décodé avant cette conversion.
Conserver les échantillons flottants pour une vérification indépendante
ffmpeg -v warning -i lonely-storm.mp3 -map 0:a:0 -c:a pcm_f32le -f f32le lonely-storm.f32
Dans cette sortie brute stéréo, une paire gauche/droite occupe 8 octets. Pour chaque canal, on recherche le maximum absolu puis on applique le logarithme. Le fichier brut ne contient pas d’en-tête ; il faut conserver la fréquence, le nombre de canaux et le format des valeurs.
9. Marge numérique, gain et limites du diagnostic
Sur cette copie, ajouter exactement 0,832 dB placerait théoriquement la plus grande crête échantillon près de 0 dBFS. Ce calcul n’est pas une recommandation de traitement : il ne prévoit ni les crêtes entre échantillons, ni les effets d’un futur encodage avec pertes. À l’inverse, une réduction linéaire de 1 dB décalerait toutes les crêtes mesurées de −1 dB.
Un signal déjà écrêté puis atténué peut afficher des crêtes sous 0 dBFS. Une crête-mesure ne reconstruit donc pas l’historique du master. Dans une chaîne flottante, des valeurs supérieures à 1 peuvent être conservées temporairement ; elles deviennent problématiques si une étape les limite ou les convertit sans marge suffisante.
Enfin, la crête échantillon en dBFS est différente du True Peak en dBTP. Le second cherche à estimer les maxima du signal reconstruit entre les points disponibles. Nous ne publions pas de valeur True Peak pour ce fichier dans cet épisode.
Sources et méthode
Les valeurs et la figure ont été calculées sur le fichier fourni, sans normalisation. Les maxima ont été contrôlés avec astats et par lecture indépendante du PCM flottant. La couverture est une illustration éditoriale.
- FFmpeg : documentation du filtre astats.
- FFmpeg : documentation du filtre showvolume.
- FFprobe : identification des flux audio.
Prochain épisode : le VU-mètre à aiguille, son inertie, sa référence et son étalonnage numérique.