Voir et mesurer le son — épisode 10/10. Deux canaux ne garantissent ni une image large ni une bonne restitution en mono. Avec Cosmic pulse dreams dnb mix, de Dmc Mystic, nous allons examiner la corrélation, lire un vectorscope et calculer une sommation mono. L’objectif est de comprendre ce qui change, sans réduire la compatibilité d’un mix à un seul chiffre.
Écouter le morceau et choisir les passages
Ouvrir le MP3 original. Commencez par 2:00–2:20, passage utilisé pour le vectorscope, puis écoutez la fin vers 5:24–5:40, où plusieurs fenêtres présentent une corrélation négative. Le lecteur diffuse l’original stéréo ; les commandes plus bas permettent de créer une version mono distincte pour comparaison.
1. Deux canaux, plusieurs relations possibles
Si L et R sont identiques, le signal est dual mono. Si l’un est une copie atténuée de l’autre, leur relation reste très forte même si la balance penche d’un côté. Une inversion de polarité change le signe d’un canal. Un retard, lui, décale les événements dans le temps et produit un déphasage qui dépend de la fréquence. Ces opérations ne sont pas interchangeables.
Une réverbération ou un traitement de largeur peut rendre les canaux moins semblables. Cela peut être un choix artistique. L’enjeu est de vérifier ce que devient le contenu quand les canaux sont combinés, et non de rechercher systématiquement la corrélation la plus élevée possible.
2. Définir le corrélomètre utilisé
Dans cet article, nous calculons la corrélation de Pearson à retard nul, après retrait de la moyenne de chaque canal dans l’intervalle considéré :
ρ = Σ[(L−μL)(R−μR)] / √{Σ(L−μL)² × Σ(R−μR)²}.
| Valeur | Interprétation |
|---|---|
| +1 | Relation linéaire positive parfaite, pas nécessairement niveaux identiques |
| 0 | Absence de corrélation linéaire dans cette fenêtre ; pas une preuve d’indépendance statistique |
| −1 | Relation linéaire négative parfaite ; une annulation mono complète exige aussi des amplitudes adaptées |
Sur une musique complexe, on ne doit pas convertir ce coefficient en un unique « angle de phase du morceau ». Les relations peuvent varier avec le temps et la fréquence. Un corrélomètre commercial peut employer un autre lissage ou une autre définition ; sa réponse doit être documentée avant comparaison.
3. Méthode du cas pratique
Le fichier est un MP3 stéréo à 48 000 Hz, avec un débit audio indiqué par FFprobe d’environ 280,9 kbit/s. Les tags identifient l’album Groove galaxy et la piste 8/15.
Le décodage flottant 32 bits, effectué avec FFmpeg 6.1.1, contient 16 548 885 échantillons par canal, soit 344,768438 secondes. Il n’ajoute ni gain, ni normalisation, ni rééchantillonnage. Les mesures concernent la sortie décodée du MP3.
Pour la courbe locale, nous utilisons des blocs non chevauchants de 400 ms. Les fenêtres dont le RMS moyen des deux canaux est inférieur ou égal à −70 dBFS sont laissées sans valeur de corrélation. Ce seuil sert à éviter une lecture instable près du silence ; il ne s’agit pas du gating d’une mesure LUFS. Une fenêtre constante sur un canal aurait également une corrélation indéfinie.
4. Résultat global et évolutions locales
| Grandeur | Valeur |
|---|---|
| Corrélation globale de Pearson | +0,7984 |
| RMS gauche / droite | −11,292 / −11,148 dBFS |
| RMS de (L+R)/2 | −11,681 dBFS |
| RMS de (L−R)/2 | −21,183 dBFS |
| Variation de puissance moyenne en mono, référence définie ci-dessous | −0,462 dB |
La corrélation globale est positive et élevée. Pourtant, parmi 852 fenêtres locales retenues, 32 ont un coefficient négatif. Le minimum observé est d’environ −0,502 dans le bloc centré vers 333,8 s, soit 5:33,8. Une moyenne globale ne suffit donc pas à décrire la fin du morceau.
Une corrélation négative sur certains blocs invite à examiner et écouter ces régions en mono. Elle ne prouve pas qu’un instrument précis disparaît ; une analyse par bandes et une écoute sont nécessaires pour localiser un éventuel problème perceptif.
5. Mid/Side : une décomposition dont il faut annoncer l’échelle
Nous choisissons M = (L+R)/2 et S = (L−R)/2. La reconstruction vaut alors L = M+S et R = M−S. D’autres outils emploient un facteur 1/√2 : les valeurs numériques changent, même si le principe somme/différence reste le même.
Le signal mono de cet article est exactement M. Le Side ne constitue pas une piste contenant uniquement les instruments physiquement placés sur les côtés : c’est une différence entre canaux. Une source excentrée peut contribuer à la fois au Mid et au Side.
Dans cette convention, l’identité de puissance est E[M²] + E[S²] = (E[L²] + E[R²])/2. Elle permet de contrôler les calculs. Pour quantifier la variation mono, nous comparons E[M²] à la moyenne des puissances des deux canaux, puis appliquons 10 log10. Ce n’est pas une différence de LUFS ni une prédiction de volume acoustique.
6. Vectorscope et courbe de corrélation
Avec cette orientation, L = R forme une ligne verticale puisque S = 0. L = −R forme une ligne horizontale puisque M = 0. Un nuage plus large indique davantage de contenu différentiel, mais ne constitue pas une mesure complète de largeur perçue. La représentation peut varier selon l’orientation, le gain, la persistance et les axes choisis dans l’instrument.
Le nuage présenté cumule vingt secondes : il ne montre pas l’ordre temporel des points. La courbe supérieure complète donc la vue en situant les variations dans le temps.
7. Comparer deux passages en mono
| Passage | Corrélation | RMS Mid | RMS Side | Écart mono / puissance stéréo moyenne |
|---|---|---|---|---|
| 1:00–1:20 | +0,8513 | −11,667 dBFS | −22,606 dBFS | −0,336 dB |
| 2:00–2:20 | +0,6647 | −11,491 dBFS | −18,450 dBFS | −0,797 dB |
Dans le deuxième extrait, le Side est relativement plus présent et la variation du niveau quadratique moyen lors de la sommation est plus importante. Ce constat est cohérent avec la corrélation plus basse. Il ne permet pas de conclure que ce passage est moins bon ou qu’il doit être rétréci.
Pour comparer à l’écoute, utilisez le même passage et une restitution connue. Distinguez la disparition de l’image spatiale, attendue en mono, d’un changement de timbre ou de la perte d’un élément. Une compensation de volume peut aider une seconde comparaison, mais doit être annoncée : elle modifie l’évaluation du niveau brut.
8. Reproduire les mesures et les écoutes
Placez une copie locale sous le nom cosmic-pulse.mp3.
Décoder le signal
ffmpeg -v warning -i cosmic-pulse.mp3 -map 0:a:0 -c:a pcm_f32le -f f32le cosmic-pulse.f32
Créer un extrait mono explicite
ffmpeg -i cosmic-pulse.mp3 -map 0:a:0 -af "atrim=start=60:end=80,asetpts=PTS-STARTPTS,pan=mono|c0=0.5*c0+0.5*c1" -c:a pcm_f32le cosmic-pulse-mono-test.wav
Le résultat est un WAV mono flottant de vingt secondes. Le facteur 0,5 sur chaque canal définit une moyenne ; il ne faut pas le confondre avec L+R, qui est 6,02 dB plus élevé. Le lecteur de l’article reste l’original stéréo.
Créer une courte vidéo de vectorscope
ffmpeg -i cosmic-pulse.mp3 -filter_complex "[0:a:0]atrim=start=60:end=65,asetpts=PTS-STARTPTS,asplit=2[a][scope];[scope]avectorscope=s=600x600:mode=lissajous:draw=dot:scale=lin[v]" -map "[v]" -map "[a]" -c:v libx264 -pix_fmt yuv420p -c:a aac -shortest vectorscope-demo.mp4
La vidéo montre cinq secondes du passage. Elle réencode le son en AAC pour la démonstration ; les mesures chiffrées proviennent du MP3 décodé avant cette conversion. Les axes du rendu FFmpeg peuvent différer du graphique Mid/Side légendé ci-dessus.
Calcul indépendant des niveaux et de la corrélation
import numpy as np
fs = 48000
x = np.fromfile("cosmic-pulse.f32", dtype="<f4").reshape(-1, 2)
z = x[120*fs:140*fs].astype(np.float64)
l, r = z[:, 0], z[:, 1]
mid, side = (l+r)/2, (l-r)/2
rho = np.corrcoef(l, r)[0, 1]
energie_stereo = np.mean(z*z)
energie_mono = np.mean(mid*mid)
print("Corrélation", rho)
print("RMS G/D dBFS", 10*np.log10(np.mean(z*z, axis=0)))
print("RMS Mid dBFS", 10*np.log10(energie_mono))
print("RMS Side dBFS", 10*np.log10(np.mean(side*side)))
print("Écart mono dB", 10*np.log10(energie_mono/energie_stereo))
Ce script utilise NumPy et calcule un intervalle précis. Les niveaux RMS utilisent l’amplitude numérique 1 comme référence, sans correction sinusoïdale. Le fichier brut est stéréo entrelacé et sans en-tête ; sa fréquence doit être connue.
9. Les limites d’un indicateur unique
- Une bonne corrélation globale peut masquer des problèmes localisés dans le temps ou dans une bande de fréquences.
- Une corrélation proche de zéro ne prouve pas une largeur idéale ; elle décrit seulement la relation linéaire mesurée.
- Un canal très faible peut donner une forte corrélation sans bon équilibre gauche/droite.
- Une inversion de polarité n’est pas une réparation universelle : elle échange les renforcements et annulations.
Le contrôle utile associe écoute stéréo/mono, suivi temporel, niveaux et examen fréquentiel lorsque nécessaire. Il respecte aussi l’intention du mix : un effet large peut être volontaire, mais son comportement sur d’autres systèmes mérite d’être connu.
Sources et validation
- RTW : corrélomètre et contrôle des relations entre canaux.
- RTW : lecture du vectorscope et orientation des figures.
- FFmpeg : combinaison explicite des canaux avec pan.
- FFmpeg : filtre avectorscope.
Les mesures et graphiques proviennent du MP3 fourni. La sommation mono et la commande de vectorscope ont été exécutées. L’identité Mid/Side et les cas dual mono / polarité inversée ont été vérifiés sur des signaux de contrôle. La couverture est illustrative.
Les dix instruments de lecture du son
Cette série a parcouru waveform, inspection FFprobe, crêtes numériques, VU, RMS, quasi-PPM, sonie LUFS, True Peak, fréquences et stéréo. Chaque outil répond à une question précise. Les associer permet de documenter un fichier et ses transformations, tout en gardant l’écoute au cœur des décisions musicales.