Die im
ersten Teil gewonnenen OGG Dateien machen sich gut auf dem heimischen Rechner und eignen sich auch hervorragend für die Veröffentlichung im Netz. Vor kurzem habe ich mir nun aber einen CD-RW Player für's Auto gekauft, habe aber keine MP3s mehr. OGG versteht der japanische Player nicht.
Nichts einfacher als das, denke ich und kopiere mir gute Autofahrmusik in den neuen Ordner
carmusic.
cd ~; mkdir carmusic; cd carmusic
cp /pfad/zur/automusik/*.ogg .
Die beiden folgenden Zeilen erzeugen eine Wave Datei, die in Zeile 2 nach Mp3 gewandelt wird.
for i in *.ogg; do DATEINAME=`basename"$i".ogg`; ogg123 -d wav -f "$DATEINAME"".wav" "$DATEINAME"".ogg";done
for i in *.wav; do DATEINAME=`basename "$i".wav`;lame "$DATEINAME"".wav" "$DATEINAME"".mp3";done
Die Manual Seite von Lame ist besonders wegen der zahlreichen Beispiele am Ende eine empfehlenswerte Lektüre:
man lame
Diese Vorgehensweise ist allerdings sehr umständlich, wenn die Stücke z.B. nach Alben sortiert in vielen Ordnern verteilt sind. Für diesen Fall habe ich ein kleines Skript geschrieben, dass beliebig tief verschachtelte Ordnerstrukturen nach OGG und WAV Dateien durchforstet und sie automagisch in MP3s verwandelt.
Die Qualität der MP3s kann man in Zeile 4 des Skripts einstellen. (siehe auch 'man lame')
Preset standard ist die Grundeinstellung.
Das Skript benötigt
ogg123 als OGG Player und den Codeengine
Lame.
Ogg123 findet sich bei Debian im Paket
ogg-vorbis.
Installation: Kopiere den folgenden Text mit Kopieren und Einfügen in eine leere Textdatei, speichere sie unter ~/bin/soundconvert und mache sie ausführbar. Damit du das Skript wie einen normalen Befehl verwenden kannst ohne den Pfad mit angeben zu müssen, erweitere die Umgebungsvariable PATH
set PATH=$PATH:~/bin
cut here ------------------------------------
#!/bin/sh
# This tiny script converts WAV and OGG Files to MP3 in any directories located in current path.
# It omits files in the current path.
# by Nicolai Beuermann
LAME_OPTS="--preset standard"
# are necessary programs on board?
if [ ! -x `which ogg123` ] && [ ! -x `which lame` ]; then
echo "Please install 'ogg123' and 'lame'"
fi;
# to remember the starting point
WORKDIR=$PWD
# find directories to work on
DIRS=`find $PWD -type d -mindepth 1`
# first loop converts ogg to wav, second one does wav to mp3 if it's not there already.
for verz in $DIRS
do
cd $verz
for i in *.ogg
do
DATEINAME=`basename "$i" .ogg`
if [ ! -e $DATEINAME".mp3" ]; then
ogg123 -d wav -f "$DATEINAME"".wav" "$DATEINAME"".ogg"
fi;
done
for i in *.wav
do
DATEINAME=`basename "$i" .wav`
if [ ! -e $DATEINAME".mp3" ]; then
lame $LAME_OPTS "$DATEINAME"".wav" "$DATEINAME"".mp3"
fi;
done
cd ..
done;
# Uncomment following line to remove absolet files
# rm -f `find $WORKDIR -type f |grep -e '.*\(\.wav\|\.ogg\)'`
echo "job done"
exit 0
cut here ------------------------------------
Nachdem dieses Skript durchgelaufen ist, sollte man alle OGG und WAV Dateien löschen:
rm `find . -type f |grep -e '.*\(\.wav\|\.ogg\)'`
oder das
#am Anfang der Zeile unter
Uncomment following line einfach entfernen, um dem Skript auch das Löschen zu übertragen.
Im ersten und zweiten Teil habe ich ein kleines bash Skript vorgestellt, dass OGG Vorbis Dateien in MP3 Dateien umwandelt. Dieses Skript habe ich heute um die Integration in KDE erweitert. Ausserdem kann das Skript jetzt mit Leerzeichen in Pfadangaben um
Tracked: Apr 14, 10:24