Wer keine endlosen Stunden zwischen Stereoanlage und PC verbringen möchte, um rechtzeitig auf Stop zu drücken, dem nehmen zwei einfache Skripte diese Arbeit ab. Das Überspielen von Audio-CDs oder MP3-Dateien auf eine Kassette ist ohne Hilfsmittel ein großer Aufwand.
Damit der PC die Daten von einer Audio-CD handhabt, digitalisieren Sie sie zunächst und wandeln sie in MP3-Dateien um. Das erledigt das Werkzeug lame von [1] (RPM-Quellpaket) oder [2].
Neben dem Perl-Basispaket – das jede größere Distribution automatisch installiert – benötigen Sie das Perl-Modul MP3-Infoperl-MP3-Infolibmp3-info-perl.
Auf die Platte, …
Legen Sie sich eine Verzeichnisstruktur an, in der Sie die MP3-Dateien unterbringen. Sie brauchen ein Verzeichnis hoerbuch und darunter pro CD des Hörbuchs je ein Verzeichnis, beispielsweise mit den Namen hoerbuch/CD01/, hoerbuch/CD02/ usw. Diese Struktur ist wichtig, damit die einzelnen Dateien in der richtigen Reihenfolge auf den Kassetten landen.
Unter SuSE ist der Datei-Browser Konqueror bereits so vorkonfiguriert, dass er nach der Installation von lame (und anschließendem Konqueror-Neustart) Audio-CDs automatisch ausliest: Geben Sie als Zieladresse audiocd:/ ein, und schieben Sie die Dateien aus dem Verzeichnis MP3 per Drag & Drop auf die Festplatte; dabei konvertiert Konqueror die Audio-Tracks ins MP3-Format. Alternativ lesen und kodieren Sie die Audio-Tracks mit einem lame-Interface Ihrer Wahl, beispielsweise ripperX [4].
… fertig, …
Das Perl-Skript mp3ls.pl (Listing 1, Heft-CD) ermittelt die Spieldauer der Audiodateien.
Listing 1
mp3ls.pl ermittelt die Spieldauer
#!/usr/bin/perl -w
use MPEG::MP3Info;
$mp3 = shift;
while ($mp3) {
print $mp3.":";
$info = get_mp3info $mp3;
die "Keine MP3-Datei?\n" unless $info->{VERSION};
$hh = int $info->{MM} / 60;
$mm = $info->{MM} % 60;
printf "%2.2d:%2.2d:%2.2d\n", $hh, $mm, $info->{SS};
$mp3 = shift;
}
exit 0;
./mp3ls.pl `find /pfad/zum/hoerbuch -name *.mp3` >filelist
erstellt in der Datei filelist eine Liste der MP3-Dateien, die auf Kassette zu kopieren sind.
Das Perl-Skript mplaylist.pl von der Heft-CD erzeugt ein Shell-Skript zum Abspielen der Dateien.
mplaylist.pl benötigt vier Parameter: Zuerst geben Sie die Datei an, in die mp3ls.pl die zu überspielenden Dateien geschrieben hat. Anschließend folgt die Länge einer Kassettenseite in Minuten und danach die Länge der Überlappung in Sekunden: Muss das Skript eine Datei auf zwei Kassettenseiten verteilen, wiederholt es auf der zweiten die hier angegebene Zeit.
Der vierte Parameter bestimmt die Toleranzgrenze in Minuten: Wenn auf der Kassette weniger Platz bleibt als hier angegeben, bricht das Skript keine neue Datei an.
Dann leiten Sie die Standardausgabe in eine beliebige Datei um, in der Sie anschließend das Shell-Skript finden.
Mit den Befehlen
./mplaylist.pl filelist 45 30 5 >aufnahme.sh chmod u+x aufnahme.sh
erzeugen Sie ein Shell-Skript aufnahme.sh und machen es ausführbar. Der anschließende Aufruf von ./aufnahme.sh überspielt die Dateien aus der Liste in filelist auf Kassetten mit 45 Minuten pro Seite. Von Stücken, die nicht mehr auf eine Seite passen, wiederholt es auf der nächsten Seite 30 Sekunden. Eine neue Datei bricht es nur dann an, wenn noch mindestens fünf Minuten auf der Kassette verbleiben; so wird die Erzählung nicht in allzu kurze Teile zerrissen.



