FFmpeg – Comment normaliser le volume audio proprement avec loudnorm – Korben

Vous avez probablement déjà observé que le volume d’une vidéo peut varier considérablement d’une vidéo à l’autre sur YouTube, ou que certaines publicités sont souvent beaucoup plus fortes que le contenu principal. Cette disparité n’est pas un hasard : cela provient du fait que tout le monde n’utilise pas la même norme de volume. Pour les créateurs de contenu audio ou vidéo, maîtriser cette différence peut faire toute la différence entre un rendu amateur et un résultat professionnel.

La bonne nouvelle, c’est que FFmpeg dispose déjà d’un filtre nommé loudnorm qui permet d’automatiser cette gestion du volume. Ce filtre s’appuie sur la norme LUFS (Loudness Units Full Scale), devenue la référence de l’industrie. Aujourd’hui, YouTube, Spotify, la télévision et beaucoup d’autres utilisent cette unité pour mesurer et normaliser le volume audio, garantissant ainsi une expérience audio cohérente pour l’utilisateur.

En maîtrisant la normalisation avec loudnorm, on garantit à ses auditeurs une écoute sans surprise et d’un rendu professionnel.

Avant de se lancer dans la manipulation de ces commandes, il est recommandé de bien comprendre les principaux paramètres utilisés par le filtre loudnorm. Parmi eux, I (Integrated loudness) désigne le volume moyen global en LUFS, avec une valeur standard de -16 LUFS pour YouTube et Spotify, ou -23 LUFS en diffusion broadcast. TP (True Peak) indique le niveau maximal que le signal ne doit pas dépasser, généralement fixé à -1,5 dB pour laisser une marge de sécurité. Enfin, LRA (Loudness Range) définit la plage dynamique autorisée, habituellement autour de 11 dB, pour préserver un son naturel.

Il existe deux méthodes principales pour normaliser le volume avec FFmpeg. La première, dite simple ou en une seule passe, est idéale pour un traitement rapide :

ffmpeg -i entree.wav -af loudnorm=I=-16:TP=-1.5:LRA=11 -ar 48000 sortie.wav

Cette méthode ajuste en temps réel le volume en fonction des paramètres définis, ce qui est pratique pour un traitement à la volée. Toutefois, pour une précision optimale, la méthode en deux passes est recommandée, puisqu’elle analyse d’abord le fichier complet pour ensuite appliquer les corrections avec une grande précision.

Pour cela, la première étape consiste à analyser le fichier et obtenir ses mesures via cette commande :

ffmpeg -i entree.wav -af loudnorm=I=-16:TP=-1.5:LRA=11:print_format=json -f null -

FFmpeg générera un JSON contenant des valeurs mesurées que vous devrez enregistrer. Ensuite, vous utilisez ces valeurs pour la seconde étape, en appliquant la normalisation précise grâce à la commande suivante en remplaçant les valeurs par celles extraites :

ffmpeg -i entree.wav -af loudnorm=I=-16:TP=-1.5:LRA=11:measured_I=-24.35:measured_TP=-2.15:measured_LRA=8.54:measured_thresh=-35.21:offset=0:linear=true -ar 48000 sortie.wav

Ce procédé permet à FFmpeg d’ajuster le fichier de façon très précise en utilisant les mesures obtenues lors de la première étape, tout en préservant la dynamique grâce à l’option linear=true. Cette technique est également transmissible aux fichiers vidéo en ajoutant simplement l’option -c:v copy pour éviter la ré-encodage de la vidéo, comme dans cet exemple :

ffmpeg -i video.mp4 -c:v copy -af loudnorm=I=-16:TP=-1.5:LRA=11 -ar 48000 video_normalise.mp4

Pour les utilisateurs traitant de nombreux fichiers, un outil nommé ffmpeg-normalize simplifie considérablement le processus en automatisant la méthode en deux passes, prenant en charge le traitement en batch et piloté via Python. Une commande typique pourrait ressembler à ceci :

pip install ffmpeg-normalize
ffmpeg-normalize *.wav -o output_folder/ -c:a pcm_s16le

Pour éviter certains problèmes courants comme l’affichage de l’erreur “No such filter: loudnorm”, il faut vérifier que votre version de FFmpeg est à jour, au moins la version 3.1. Si le son est distordu après normalisation, cela indique probablement que votre fichier source était déjà saturé ; dans ce cas, ajustez les paramètres, par exemple en baissant la cible LUFS ou en augmentant le headroom du True Peak.

En définitive, maîtriser la normalisation du volume avec FFmpeg et loudnorm ne demande que quelques secondes, mais offre un résultat à la hauteur des standards professionnels. Vos auditeurs vous remercieront pour une expérience sonore homogène et agréable, sans niveaux déroutants ou agressifs. Le LUFS est devenu la norme incontournable, et FFmpeg l’intègre nativement, ce qui en fait un outil indispensable pour tout créateur soucieux de la qualité de son rendu sonore.

Partagez cet article
article précédent

Lancement par Cohere d’une famille de modèles multilingues open source

article suivant

Adani s’engage à investir 100 milliards de dollars pour construire des centres de données IA alors que l’Inde vise un rôle plus important dans la course mondiale à l’IA

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire plus d'articles