Je cherche un moyen de normaliser le son dans de NOMBREUX fichiers MP3 que je possède. Certains ont un son faible, tandis que d'autres sont plus forts, de sorte que je dois augmenter ou diminuer le volume en fonction de la chanson. Quels sont les moyens de le faire pour tous les fichiers ? J'aimerais surtout le faire via le terminal, mais les interfaces graphiques sont également acceptées.
Réponses
Trop de publicités?Jetez un coup d'oeil à mp3gain qui, pour moi, est encore meilleur que normalize-audio
mp3gain -r *.mp3
une autre version utile pourrait être le -c qui empêche de demander si l'on veut faire les changements pour plusieurs fichiers :
mp3gain -c -r *.mp3
comme indiqué dans la page de manuel :
mp3gain ne se contente pas de normaliser les pics, comme le font de nombreux normalisateurs. Il effectue plutôt une analyse statistique pour déterminer le niveau sonore réel du fichier pour l'oreille humaine. De plus, les changements mp3gain sont totalement sans perte. Il n'y a pas de perte de qualité car le programme ajuste le fichier mp3 directement, sans décodage ni réencodage.
Hinweis : Ce paquet était supprimée volontairement sur ubuntu 15.04.
Debian propose l'option python-rgain
(L'avantage est que 'replaygain' prend en charge plusieurs formats de fichiers, à savoir Ogg Vorbis , Flac, WavPack et MP3. Il vous permet également d'afficher les informations de gain de lecture existantes dans n'importe lequel de ces types de fichiers). Après l'avoir installé, exécutez replaygain
.
Pour installer Python-rgain depuis le terminal, exécutez la commande
sudo apt-get install python-rgain
Noté dernièrement le fichier binaire est replaygain
Il est également possible d'obtenir le .deb
pour la version 14.04 (la plus récente) à partir de aquí . Installer comme d'habitude. Ensuite, vous devez exécuter sudo apt-get -f install
pour corriger certains problèmes de dépendances.
Audacity
Avec Audacity, nous pouvons facilement processus par lots pour appliquer des conversions ou des effets à plusieurs fichiers d'une liste. Pour ce faire, nous devons d'abord définir un élément "Chaîne contenant les effets que nous voulons appliquer.
Pour ce faire, il faut "Fichier --> Modifier les chaînes..." . Dans la fenêtre qui s'ouvre alors, appuyez sur la touche Ajouter en bas à gauche pour insérer une nouvelle chaîne (donnez-lui un nom judicieux) :
Choisissez ensuite l'effet et ses paramètres à insérer dans la chaîne (ici les valeurs par défaut et l'effet Normalize).
Important : il faut toujours ajouter l'effet "Exporter MP3" (ou tout autre format d'exportation) pour enregistrer le résultat de la conversion sur le disque.
Lorsque vous avez terminé, laissez cette fenêtre avec OK pour ouvrir "Fichier --> Appliquer la chaîne..." . Sélectionnez la chaîne que nous venons de créer et chargez tous les fichiers dont vous avez besoin avec "Appliquer aux fichiers..." . Plusieurs fichiers peuvent être sélectionnés dans le sélecteur de fichiers qui s'ouvre.
Les fichiers traités seront enregistrés dans un nouveau sous-répertoire "nettoyé" dans le chemin de l'original.
SoX
A partir de la version > 14.3, on peut utiliser le filtre sox --norm
pour normaliser l'audio sur la ligne de commande ou pour le traitement par lots :
sox --norm infile outfile
La prise en charge des MP3 est ajoutée à Sox avec libsox-fmt-all :
sudo apt install sox libsox-fmt-all
J'utiliserais ce projet Normaliser Il s'agit d'un outil en ligne de commande pour normaliser les fichiers audio. Il semble être exactement ce dont vous avez besoin. Il peut effectuer des traitements par lots et ne nécessite pas de rééchantillonnage dans des formats intermédiaires.
Il se trouve dans les dépôts de paquets sous le nom de normalize-audio, sudo apt-get install normalize-audio
. Il s'agit d'une version maintenue en amont par Debian, donc elle devrait être dans n'importe quelle version LTS ou plus récente, et elle est compatible avec le format mp3 (testé). Il y a une bonne page de manuel man normalize-audio
pour explorer les options, mais les commandes par défaut semblent bien fonctionner. Pour le traitement par lots (normaliser le volume de plusieurs fichiers), normalize-audio -b *.mp3
ou spécifier des noms de fichiers individuels au lieu d'utiliser des caractères génériques.
Rgain3 (anciennement replaygain/rgain )
Mise à jour 2020 replaygain/rgain n'est actuellement pas développé, essayez rgain3, une fourche moderne . Ici sur pip.
Installer : pip install rgain3
puis exécutez replaygain
comme d'habitude.
replaygain
est plus rapide et plus facile :
Ce paquetage fournit un paquetage Python permettant de calculer le Gain de relecture des fichiers audio et normaliser le volume de ces fichiers en fonction de ces valeurs. Deux scripts de base exploitant ces capacités sont également fournis.
Replay Gain est une proposition de norme conçue pour résoudre le problème de la variation des volumes dans les fichiers audio.
Installer : sudo apt install python-rgain
.
replaygain --force *.mp3
-
-f, --force
Recalculer le gain de lecture même si le fichier contient déjà des informations sur le gain.
Comme il ne s'agit que de calculer/modifier la valeur du gain de relecture, c'est aussi plus rapide : Avec un PC moyen (Intel i7-6500U, 8GB RAM) le taux était de ~20 fichiers/minute.
Référence
- Article ReplayGain sur Wikipédia
- Python-rgain au Launchpad
Pour l'anecdote, je me permets d'ajouter mon grain de sel. Je cherchais exactement la même chose (seulement pour les fichiers ogg) et j'ai lancé un fil de discussion sur le forum Crunchbang. Vous pouvez le consulter ici : Normalize-audio ne trouve pas de décodeur mp3
En fait, ma solution était le script du post #8. Il fonctionne pour les fichiers d'entrée mp3, flac, et ogg, peut-être d'autres mais certainement pas wav.
Il suffit de créer un fichier (nommez-le comme vous voulez, j'ai appelé le mien db_adjust_mp3), chmod +x, et de le placer dans votre dossier ~/bin. Il remplit également toutes les données manquantes du codec. Exemple :
Dossier original : 16._This_Protector.mp3: Audio file with ID3 version 2.3.0, contains:
vs.
Fichier normalisé : 16._This_Protector.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, JntStereo
J'ai modifié le script pour utiliser normalize-mp3 ici afin que vous puissiez l'utiliser si vous le souhaitez :
#!/bin/bash
find "$1" -iname "*.""$2" > $HOME/file_list
cat $HOME/file_list | while read line; do
# echo "$line"
orig_gain="$(normalize-mp3 -n "$line" | cut -d 'd' -f1)"
larger=$(echo "$orig_gain"'>'-12 | bc)
if [[ larger ]]
then
gain_difference=$(echo "$orig_gain"*-1-12 | bc)
else
gain_difference=$(echo "$orig_gain"-12 | bc)
fi
echo "Gain Difference will be: $gain_difference""db"
normalize-ogg --mp3 --bitrate "$3" -g "$gain_difference""db" -v "$line"
done
Ce script calcule la différence entre le niveau actuel en db et -12db, puis applique un ajustement de gain pour placer le gain à exactement -12db, ce qui est ce qui fonctionne le mieux pour moi. Il est également récursif, ce qui le rend idéal pour traiter des collections musicales entières ou des fichiers dans de nombreux sous-dossiers. Si vous souhaitez définir un niveau de db différent, il vous suffit de remplacer les deux occurrences du nombre "12" par le niveau de db que vous souhaitez utiliser. Comme je l'ai indiqué dans mon fil Crunchbang, l'utilisation est la suivante :
normalize-mp3 <directory> <file extenstion(with no leading dot)> <bitrate>
Cependant, lorsque je conservais ma bibliothèque musicale au format mp3, j'utilisais également mp3gain, comme le suggérait Philippe. La simplicité morte de ce logiciel est géniale et je l'ai vraiment apprécié. Le problème avec normalize-audio est qu'il décode et recode les fichiers, ce qui entraîne une certaine dégradation du son. Mais à moins que vous ne soyez un audiophile et que vos mp3 soient encodés à un débit élevé, vous ne devriez pas remarquer une grande différence.
Ce que j'ai remarqué avec mp3gain, c'est que quelles que soient les options que j'ai essayées, je n'ai pas pu faire en sorte que tous les titres de ma collection soient exactement au même niveau de db, ce qui est ce que je veux pour ne jamais avoir à ajuster le volume d'une piste à l'autre. Ce script fait exactement cela. Désolé d'avoir été si long. J'espère que cela vous aidera.
- Réponses précédentes
- Plus de réponses