Möchte man die Lautstärke von vielen Audiodateien anpassen, geben die folgenden Skripte Hinweise, wie Sie dies automatisieren können. Die Gesamtlautstärke zu verringern ist hierbei noch trivial. Komplizierter wird es, wenn nur ein Kanal eines Joint Stereo-MP3s abgesenkt oder die Stereodifferenz und der Dynamikumfang verringert werden sollen.
Für alle Skripte gilt, daß die Änderungen auf alle MP3-Dateien in allen Unterverzeichnissen angewendet und die Originaldateien überschrieben werden. Zudem sorgen Statusdateien dafür, daß – auch bei mehrmaligem Ausführen der Skripte – die Änderungen nur jeweils einmalig angewendet werden.
#!/bin/bash
find "`pwd`" -type d | while read dir
do
cd "$dir"
if [ -f 'leiser.done' ]
then
continue
fi
mp3gain -g -6 *.mp3
touch 'leiser.done'
done
#!/bin/bash
find "`pwd`" -type d | while read dir
do
cd "$dir"
if [ -f 'rechtsLeiser.done' ]
then
continue
fi
ls *.mp3 | while read in
do
mpg123 -w "/tmp/infile.wav" "$in"
# Stereo-Kanäle in zwei Mono-Spuren exportieren
sox /tmp/infile.wav /tmp/outfile.l.wav remix 1
sox /tmp/infile.wav /tmp/outfile.r.wav remix 2
# Rechten Kanal leiser machen
sox -v 0.25 /tmp/outfile.r.wav /tmp/outfile.r2.wav
mv /tmp/outfile.r2.wav /tmp/outfile.r.wav
# Mono-Spuren zu Stereo-Datei zusammenfügen
sox -M /tmp/outfile.l.wav /tmp/outfile.r.wav /tmp/output.wav
# Neu komprimieren
lame -V 2 /tmp/output.wav "$in"
rm /tmp/outfile.l.wav /tmp/outfile.r.wav /tmp/infile.wav /tmp/output.wav
done
touch 'rechtsLeiser.done'
done
#!/bin/bash
find "`pwd`" -type d | while read dir
do
cd "$dir"
if [ -f 'stereoVerringern.done' ]
then
continue
fi
ls *.mp3 | while read in
do
mpg123 -w "/tmp/infile.wav" "$in"
# Stereo-Kanäle in zwei Mono-Spuren exportieren
sox "/tmp/infile.wav" /tmp/outfile.l.wav remix 1
sox "/tmp/infile.wav" /tmp/outfile.r.wav remix 2
# Beide Kanäle zu mono mischen => Mitte
sox /tmp/infile.wav /tmp/outfile.m.wav remix 1,2
# Kompressor anwenden
sox /tmp/outfile.m.wav /tmp/outfile.m2.wav compand 0.3,1 6:-70,-60,-20 -5 -90 0.2
# auf 75% Lautstärke bringen
sox -v 0.75 /tmp/outfile.m2.wav /tmp/outfile.mleise.wav
# Linke-Mono-Datei mit Mitte zu Mono mischen
sox -m /tmp/outfile.l.wav /tmp/outfile.mleise.wav /tmp/outfile.l2.wav
# Rechte-Mono-Datei mit Mitte zu Mono mischen
sox -m /tmp/outfile.r.wav /tmp/outfile.mleise.wav /tmp/outfile.r2.wav
# Mono-Spuren zu Stereo-Datei zusammenfügen
sox -M /tmp/outfile.l2.wav /tmp/outfile.r2.wav /tmp/output.wav
# Neu komprimieren
lame -V 2 /tmp/output.wav "$in"
rm /tmp/outfile.l2.wav /tmp/outfile.mleise.wav /tmp/outfile.r2.wav /tmp/outfile.wav\
/tmp/outfile.l.wav /tmp/outfile.m.wav /tmp/outfile.m2.wav /tmp/outfile.r.wav /tmp/output.wav
done
touch 'stereoVerringern.done'
done