un petit script pour les audiophiles qui en on marre de titiller le volume a chaque changement de chanson.
Ce script applique replaygain sur pratiquement tout type de fichiers.
Vous avez remarqué que le niveau du son n’est pas le même sur deux albums différent? Vous avez remarqué que même en “normalisant” les pistes, vous devez encore jouer avec le son pour éviter de vous crever les tympans à chaque changement de piste?
L’outil “normaliser” se base en effet sur les “pics”, c’est a dire sur le son le plus fort, grave ou aigu, court ou long. Comme le cerveau ne perçoit pas les graves est les aigus de la même manière, le résultat est facilement faussé.
ReplayGain effectue au contraire une analyse psycho-acoustique du signal: il prends en compte la manière dont le cerveau perçoit certaines fréquences et agit en conséquence. Comme il écrit les résultats dans les méta-données (id3tags), l’opération s’effectue sans pertes (lossless) et de manière optimale. Vos fichiers ne sont pas altérés et le changement est réversible. ReplayGain est supporté par la majorité des lecteurs, mais est malheureusement peu connu.
Utilisation
Ce script dépend de flac, vorbisgain et mp3gain, Accessoirement de mppdec et replaygain, téléchargeables sur le site de musepack(
http://www.musepack.net/index.php?pg=lin)
Pour les connaisseurs, il applique replaygain en mode "track", c'est a dire que toutes les pistes auront le même volume.
La meilleure utilisation possible de ce script est de créer un dossier temporaire ou vous analyserez vos fichier avant de les insérer définitivement dans votre collection, définissez ce dossier dans le script ($zictemp).
Vous pouvez aussi analyser tout votre collection d'un seul coup (mais soyez prudents!), au démarage, le script demande quel dossier analyser, inscrivez le chemin complet (exemple: /home/fluo/Music/Asian Dub Foundation/Community Music), si vous n'inscrivez rien, le dossier temporaire sera analysé.
Notez que je code comme un moineau unijambiste, libre a vous d'améliorer ce script.
#!/bin/bash
# Ce script analyse flac, mp3, ogg et mpc et applique les tags replaygain
# consequent. Nettoie optionellement les dossiers vides.
#
# Ce script dépend de flac, vorbisgain, mp3gain
# Accéssoirement de mppdec and replaygain, téléchargeables
# sur le site de musepack http://www.musepack.net/index.php?pg=lin
#
# Made by fluo
### Définis le dossier de traitement, chemin utilisé par défaut
### si aucun autre n'a été défini
$zictemp=/home/fluo/Music/temp
### Définis le dossier racine de la collection musicale
### utilisé pour un nettoyage rapide des dossier vides (optionel)
$zicroot=/home/fluo/Music
### Demande le chemin d'un dossier particulier à traiter
### si aucun dossier n'est spécifié, $zictemp sera utilisé
echo "Chemin du dossier à traiter? (tapez entrée pour analyser $zictemp)";
read directory
if [ "$directory" = "" ];
then where="$zictemp";
elif [ "$directory" != "" ];
then where=$directory;
fi
### nettoyage des dossiers vides de toute la collection musicale (optionel)
# find $zicroot -type d -empty -exec rmdir -v {} \;
### analyse et applique les tags replaygain
echo "Analyse des fichiers mp3";
find "$where" -iname \*.mp3 -exec mp3gain -r -k {} \;
echo "Analyse des fichiers ogg vorbis";
find "$where" -iname \*.ogg -exec vorbisgain -s -f -r {} \;
echo "Analyse des fichiers flac, veuillez patienter";
find "$where" -iname \*.flac -exec metaflac --add-replay-gain {} \;
### les lignes suivantes ne peuvent etre utilisées que si
### replaygain and mppdec son installés dans ~/.bin/ par ex.
### (http://www.musepack.net/index.php?pg=lin)
echo "Analyse des fichiers mpc";
find "$where" -iname \*.mpc -exec ~/.bin/replaygain --auto {} \;
echo "all done!";