Files
bin/mp32wav
2012-12-16 18:46:30 +01:00

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