Normaliser le son sous linux

J’écoute régulièrement de la musique avec différents lecteurs audio présentés dans cette page, mais ils présentent tous l’inconvénient de ne pas normaliser le son. La normalisation du son consiste à abaisser le volume de certaines musiques et d’augmenter le volume pour d’autres de manière à ce qu’à l’oreille le volume du son soit identique. Cela dépend donc beaucoup du niveau sonore d’enregistrement du fichier audio d’origine, alors certes il existe des commandes qui permettent une fois intégrées dans un script bash de normaliser par lot des mp3. On peut citer par exemple mp3gain. Mais je préfèrerais autant ne pas toucher à mes fichiers audio pour ne pas risquer de les dégrader et que ça se fasse au niveau de la sortie audio pilotée par pulseaudio.

J’ai vainement essayé de configurer pulseaudio pour normaliser en temps réel. Pour cela, sur ma Mageia 7.1 j’ai installé le package ladspa-plugins-swh et rajouté les lignes suivantes dans le fichier /etc/pulse/default.pa

load-module module-ladspa-sink  sink_name=ladspa_sink  master=combined plugin=dyson_compress_1403  label=dysonCompress  control=0,1,0.5,0.99

# Create normalized sink that outputs to the compressed sink
load-module module-ladspa-sink  sink_name=ladspa_normalized  master=ladspa_sink  plugin=fast_lookahead_limiter_1913  label=fastLookaheadLimiter  control=10,0,0.8

# Comment out the line below to disable setting the normalized output by default:
set-default-sink ladspa_normalized

Mais rien n’y fait, il n’arrive pas à charger le module et je bute sur cette erreur

pulseaudio[5186]: Failed to load module "module-ladspa-sink" (argument: ""): initialization failed.

Sur internet on trouve bien comme astuce qu’il faut que la variable LADSPA_PATH pointe vers les bibliothèques LADSPA qui se trouve dans la pratique sous /usr/lib64/ladpsa. Mais ce n’est pas suffisant, je soupçonne que ça ne fonctionne pas car pulseaudio est lancée en mode system et que c’est pulse le propriétaire du processus.

Du coup j’ai changé mon fusil d’épaule et j’ai installé PulseEffects. C’est un logiciel qui s’interface entre les lecteurs vidéo et le serveur de son pulseaudio et qui permet d’appliquer des traitements et des effets en temps réel au son qui est envoyé vers la sortie audio de pulseaudio. Il permet notamment de normaliser le son.

Dans le screenshot ci-dessous, j’ai appliqué les effets Maximiser et Auto Gain qui me permettent d’avoir un volume à peu près constant entre les différents titres audio. La configuration est très simple, on lance son lecteur multimédia puis PulseEffects et par défaut le son du lecteur multimédia est filtré par les effets de PulsefEffects avant d’être renvoyé vers la sortie audio de pulseaudio. Plus besoin d’avoir à jouer manuellement sans cesse sur le niveau du volume.

Laisser un commentaire