86 lines
1.7 KiB
Bash
Executable File
86 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# /usr/local/bin/mp3tocd -- mp3-Files nach wav oder au umwandeln
|
|
# und brennen.
|
|
# Das Format 44100 Hz, 16Bit Stereo ist notwendig, siehe Text
|
|
#
|
|
# mp32wav mp3dir wavdir
|
|
|
|
set -x
|
|
|
|
function usage ()
|
|
{
|
|
echo "
|
|
mp32wav mp3dir wavdir
|
|
mp3dir: Verzeichnis, in dem die mp3-Dateien gepseichert sind.
|
|
wavdir: Verzeichnis, in das die erzeugten wave-Dateien geschrieben werden"
|
|
}
|
|
|
|
function yesno ()
|
|
{
|
|
while true; do
|
|
read ans
|
|
case "$ans" in
|
|
y|Y|j|J|[yY]es|[jJ]a)
|
|
return 1
|
|
;;
|
|
n|N|[nN]o|[nN]ein)
|
|
return 0
|
|
;;
|
|
*)
|
|
echo -e '\a\nVertipper. (j,ja,y,yes/n,nein,no)'
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
if ! test -d "$1"; then
|
|
usage
|
|
fi
|
|
if ! test -d "$2"; then
|
|
usage
|
|
fi
|
|
|
|
mp3dir="$1"
|
|
wavdir="$2"
|
|
|
|
#pushd $destdir > /dev/null
|
|
let count=0
|
|
|
|
for i in "$mp3dir"/*.mp3; do
|
|
echo "$i wird decodiert"
|
|
|
|
## Der Umstand mit der fuehrenden Null in der 'if'-Abfrage bewirkt,
|
|
## dass (maximal) 100 Tracks in der richtigen Reihenfolge gebrannt
|
|
## werden
|
|
|
|
if test "$count" -le 9; then
|
|
track=""0$count"track.wav"
|
|
else
|
|
track=""$count"track.wav"
|
|
fi
|
|
trakfile="$i"
|
|
echo Datei1 "$trakfile"
|
|
track=$(basename "$i" .mp3).wav
|
|
echo Datei2 "$track"
|
|
|
|
mpg123 -v -s -r 44100 --stereo --wav "$wavdir"/"$track" "$i"
|
|
|
|
let count=$(expr $count + 1)
|
|
done
|
|
|
|
echo -e "\n erzeugte Tracks:"
|
|
ls -l "$wavdir"/[0-9][0-9]*.wav
|
|
echo "KByte insgesamt: $(du -kc "$wavdir"/[0-9][0-9]*.wav | tail -n 1 | awk '{print $1}')"
|
|
#echo "
|
|
#Brennen durchfuehren (j,y,ja,yes/n,nein,no)?"
|
|
|
|
#if ! yesno; then
|
|
#cdrecord -v -speed=$speed $blank -pad dev=$wdev -audio [0-9][0-9]track.$format
|
|
# popd > /dev/null
|
|
# rm -R $destdir
|
|
#else
|
|
# echo "Die Tracks in $destdir wurden nicht geloescht"
|
|
#fi
|
|
|