Je cherche un moyen de normaliser le son dans de nombreux fichiers MP3 que j'ai. Certains ont un son faible, alors que d'autres sont plus forts, je dois donc augmenter ou diminuer le volume en fonction de la chanson. Quels sont les moyens de le faire pour tous les fichiers. Je voudrais spécialement le faire via le terminal mais les interfaces graphiques sont également acceptées.
39
Réponses:
Audace
Avec Audacity, nous pouvons facilement traiter par lots des fichiers pour appliquer des conversions ou des effets à de nombreux fichiers d'une liste. Pour ce faire, nous devons d’abord définir une "chaîne" contenant les effets que nous voulons appliquer.
Ceci est fait avec "Fichier -> Editer les chaînes ..." . Dans la fenêtre qui s'ouvre maintenant, appuyez sur le bouton Ajouter en bas à gauche pour insérer une nouvelle chaîne (donnez-lui un nom raisonnable):
Ensuite, choisissez l’effet et ses paramètres à insérer dans la chaîne (les valeurs par défaut et l’effet Normaliser apparaissent ici).
Une fois terminé, quittez cette fenêtre en cliquant sur 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 d'origine.
SoX
A partir de la version> 14.3, nous pouvons utiliser le filtre sox
--norm
pour normaliser l'audio en ligne de commande ou pour le traitement par lots:Le support MP3 est ajouté à Sox avec libsox-fmt-all:
la source
for f in *.mp3; do sox --norm "$f" /tmp/sox.mp3; mv -v /tmp/sox.mp3 "$f"; done
Jetez un oeil à @ mp3gain, ce qui pour moi est encore meilleur que normaliser-audio
Une autre version utile pourrait être -c, qui empêche de vous demander si vous souhaitez effectuer les modifications pour de nombreux fichiers:
comme indiqué dans la page de manuel:
mp3gain ne fait pas que normaliser les pics, comme le font de nombreux normalisateurs. Au lieu de cela, il procède à une analyse statistique pour déterminer le niveau sonore du fichier pour l’oreille humaine. En outre, les modifications apportées par mp3gain sont totalement sans perte. La qualité n’est pas perdue lors de la modification car le programme ajuste le fichier mp3 directement, sans décodage ni réencodage.
Remarque : Ce paquet a été supprimé volontairement sur Ubuntu 15.04.
Debian propose le
python-rgain
paquet en remplacement (l’avantage est que 'replaygain' supporte plusieurs formats de fichiers, à savoir Ogg Vorbis, Flac, WavPack et MP3. En outre, il vous permet d’afficher des informations sur le gain de rejeu existant dans l’un de ces types de fichiers). Après l'avoir installé, lancezreplaygain
.Pour installer python-rgain à partir du terminal, exécutez la commande
Vous pouvez également obtenir le
.deb
fichier 14.04 (le plus récent) à partir d’ ici . Installez comme d'habitude. Après cela, vous devez exécutersudo apt-get -f install
pour corriger certains problèmes de dépendance.la source
mkdir mp3gain; cd mp3gain; wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/mp3gain/1.5.2-r2-6/mp3gain_1.5.2-r2.orig.tar.gz; tar -xvzf mp3gain_1.5.2-r2.orig.tar.gz; make; sudo make install
Je voudrais utiliser ce projet Normaliser , c'est un outil de ligne de commande pour normaliser les fichiers audio. Semble être exactement ce dont vous avez besoin. Peut traiter par lots et ne nécessite pas de ré-échantillonnage vers des formats intermédiaires.
Il est dans les prises en pension de paquet comme Normaliser audio,
sudo apt-get install normalize-audio
. Ceci est une construction maintenue en amont par Debian, elle devrait donc figurer dans n'importe quel LTS ou plus récent et est construite avec la compatibilité mp3 (testée). Il existe une bonne pageman normalize-audio
de manuel pour explorer les options, mais les commandes par défaut semblent bien fonctionner. Pour le traitement par lots (normaliser le volume sur plusieurs fichiers)normalize-audio -b *.mp3
ou spécifier des noms de fichiers individuels au lieu d'utiliser des caractères génériques.la source
libsox-fmt-mp3
,libavcodec-extra
.-b *.mp3
faire quelque chose avec un seul fichier (aléatoire?).rejouer
Plus rapide et facile
replaygain
:Installer:
sudo apt install python-rgain
.-f, --force
Recalculer le gain de relecture même si le fichier contient déjà des informations sur le gain.Étant donné que seul le calcul / la modification de la valeur de répétition est également plus rapide: avec un PC moyen (Intel i7-6500U, 8 Go de RAM), le débit était d'environ 20 fichiers / minute.
Référence
la source
Pour le plaisir, je vais jeter mes 2 centimes. Je cherchais exactement la même chose (uniquement pour les fichiers ogg) et j'ai lancé un fil de discussion sur Crunchbang Forum. Vous pouvez le voir ici: Normalize-audio ne trouve pas de décodeur mp3
Fondamentalement, ma solution était le script de l'article n ° 8. Cela fonctionne pour les fichiers d’entrée mp3, flac et ogg, éventuellement d’autres fichiers, mais certainement pas avec wav.
Créez simplement un fichier (nommez-le comme vous voulez, j'ai appelé le mien db_adjust_mp3), chmod + x et collez-le dans votre dossier ~ / bin. Il remplit également les données de codec manquantes. Exemple:
Fichier original:
16._This_Protector.mp3: Audio file with ID3 version 2.3.0, contains:
contre.
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 qu'il utilise normalize-mp3 afin que vous puissiez l'utiliser si vous le souhaitez:
Ce script calcule la différence entre le niveau actuel de la base de données et -12 dB, puis applique un ajustement du gain pour que le gain soit exactement à -12 dB, ce qui, selon moi, fonctionne le mieux pour moi. Il est également récursif, ce qui le rend idéal pour créer des collections de musique entières ou des fichiers dans de nombreux sous-dossiers. Si vous souhaitez définir un niveau de base de données différent, remplacez simplement les deux instances du nombre "12" par le niveau de base de données que vous souhaitez utiliser. Comme je l'ai posté dans mon fil de discussion Crunchbang, l'utilisation est la suivante:
Cependant, lorsque je conservais ma bibliothèque musicale au format mp3, j’utilisais aussi mp3gain, comme l’a suggéré Philippe. La simplicité morte de celui-ci est grande et j'ai vraiment aimé. Le problème avec Normalize-Audio est qu’il décode les codes de nouveau code, ce qui entraîne une dégradation du son. Mais à moins que vous ne soyez un audiophile et que vos fichiers MP3 soient codés à un débit binaire élevé, vous ne devriez pas remarquer beaucoup de différence.
Ce que j’ai remarqué avec mp3gain, c’est que quelles que soient les options que j’ai essayées, je ne pouvais pas obtenir le même niveau de base de données dans ma collection. C’est ce que je veux pour ne jamais avoir à ajuster le volume d’une piste à l’autre le suivant. Ce script fait exactement cela. Désolé d'être si long. J'espère que cela t'aides.
la source
J'aime beaucoup la réponse de Neil, car elle n'introduit pas de corrélation entre les fichiers audio: il suffit de choisir un niveau de gain et de tout ajuster en conséquence.
Cependant, j'ai eu quelques problèmes pour analyser la sortie de
normalize-ogg
certains fichiers que j'ai. Il y a aussi un problème avecbc
: il ne fait pas l'arrondissement, il ne fait que tronquer.Donc, finalement, j'ai abandonné le script shell et je suis passé à Python.
Note1: la partie exiftool est peut-être excessive, mais je voulais être sûr à 100% que le débit binaire d'origine serait préservé.
Note2: ceci écrasera les originaux, si vous voulez les conserver, utilisez --backup lors du dernier appel à normalize-ogg. Mais j’ai trouvé plus pratique de conserver une copie dans un répertoire séparé, plus sûr.
Note3: cette solution traite les fichiers ogg, mais il est trivial de l’adapter au format mp3, il suffit de remplacer les occurrences de "ogg" par "mp3".
Voici mon point de vue sur le problème. La dernière version peut être trouvée ici: regain.py
la source