Zu Befehl
Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, in denen es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
Um Audio-Dateien in andere Sound-Formate zu konvertieren, muss man nicht zu einem grafischen Tool greifen: Auf der Kommandozeile wandeln Sie mit wenigen Befehlen Wav-Dateien ins MP3- oder Ogg-Vorbis-Format und wieder zurück. Auch zum Auslesen von Audio-CDs müssen Sie nicht extra ein grafisches Programm bemühen.
Wir stellen zunächst zwei Kommandozeilenprogramme vor, mit denen Sie Musikstücke im Wav-Format aus Audio-CDs auslesen. Die beiden Grabber cdda2wav und cdparanoia stehen hier hilfreich zur Seite. Danach zeigen wir Tricks und Kniffe zur Umwandlung verschiedener Audio-Formate und beschreiben, wie Sie mit Bash-Features Schwung in die Sache bringen.
Wav-Dateien mit cdda2wav grabben
Das Programm cdda2wav [1] ("compact disc digital audio to Wav") ist bei den meisten Distributionen auf den Installationsmedien zu finden; auf Debian-Systemen können Sie das Tool auch mit dem Aufruf
apt-get install cdda2wav
installieren. Überprüfen Sie vor dem ersten Aufruf, ob Sie auf das CD-ROM-Laufwerk als normaler Benutzer zugreifen können (Kasten 1).
Kasten 1: Zugriffsrechte für das CD-ROM-Device anpassen
Wer auf das CD-ROM-Laufwerk zugreifen darf, ist bei den verschiedenen Distributionen unterschiedlich geregelt. Die Rechte für das entsprechende Device lesen Sie mit dem Kommando ls -l aus:
$ ls -l /dev/cdrom lrwxrwxrwx 1 root root 3 Jun 7 00:41 /dev/cdrom -> hdc
Wie zu erwarten ist /dev/cdrom ein symbolischer Link und zeigt in diesem Fall auf die Gerätedatei hdc. Ein erneuter ls-Aufruf zeigt deren Zugriffsrechte an:
$ ls -l /dev/hdc brw-rw—- 1 root disk 22, 0 Mar 14 2002 /dev/hdc
Debian-spezifisches
Während die meisten Distributionen einfach den Besitzer des Laufwerks ändern, wenn Sie sich am System anmelden, verfolgt Debian ein anderes Konzept: Das Gerät gehört standardmäßig zur Gruppe disk. Da es aus Sicherheitsgründen aber nicht ratsam ist, Benutzer der Gruppe disk hinzuzufügen (Schreibrechte auf Festplattenpartitionen), ändern Sie hier zunächst als Administrator root die Gruppenzugehörigkeit auf cdrom:
chown root.cdrom /dev/hdc
Anschließend bearbeiten Sie (wiederum als Administrator) die Datei /etc/group und fügen die Benutzer, die auf das Laufwerk zugreifen sollen, der Gruppe cdrom hinzu. Mehrere Accounts hängen Sie einfach durch Kommata getrennt (ohne Leerzeichen) hintereinander, z. B.:
cdrom:x:24:huhn,petronella
Damit die Änderungen wirksam werden, muss sich der Benutzer neu am System anmelden. Mit dem Kommando groups überprüfen Sie, ob alles geklappt hat – es zeigt die Gruppenzugehörigkeit des Benutzers auf das Kommandozeile an:
$ groups audio cdrom video
Um einen Titel auszulesen, verwenden Sie cdda2wav mit dem Parameter -t und der Track-Nummer. Zusätzlich möchte das Programm den Device-Namen des CD-ROM-Laufwerks wissen. Sie geben diesen hinter der Option -D an:
$ cdda2wav -D /dev/hdc -t 1 … recording 276.6666 seconds stereo with 16 bits @ 44100.0 Hz ->'audio'… 0/ 0/ 1/ 0 11%
Die Programmausgabe zeigt neben Informationen zu den einzelnen Titeln auch die CDDB-Disk-ID und eine Fortschrittsanzeige am unteren Rand an. Die fertige Wav-Datei trägt anschließend den Namen audio.wav und landet im aktuellen Verzeichnis. Tipp: Wer den Device-Namen nicht immer wieder eingeben will, setzt die Umgebungsvariable CDDA_DEVICE temporär durch Eingabe von
export CDDA_DEVICE=/dev/hdc
in der aktuellen Shell oder schreibt diesen Befehl in die eigene .bashrc und speichert ihn damit dauerhaft. Vergessen Sie nicht, die geänderte Bash-Konfigurationsdatei mit dem Aufruf
source ~/.bashrc
neu einzulesen. Alternativ greifen die Änderungen beim nächsten Login auch automatisch.
Um mehrere (oder alle) Tracks auszulesen, hängen Sie an den Parameter -t durch ein Pluszeichen voneinander getrennt die Nummern des ersten und des letzten Tracks an, also z. B.
cdda2wav -t 1+3
für die ersten drei Stücke. Damit die Ausgabe nicht in einer einzigen Wav-Datei, sondern in einzelnen Dateien landet, geben Sie dem Programm zusätzlich die Option -B mit (Abbildung 1). Die einzelnen Tracks heißen anschließend audio_01.wav, audio_02.wav usw.
Paranoid? Wav-Dateien mit "cdparanoia" auslesen
Das Programm cdparanoia [2] kann als Alternative zu cdda2wav zum Auslesen von Musik-CDs verwendet werden. Auch dieses Tool liefern die meisten Distributionen mit. Einen ersten Test starten Sie auf der Kommandozeile mit dem Parameter -Q. Sollten Sie keine Ausgabe wie in Listing 1 sehen, sondern eine Fehlermeldung wie z. B.
/dev/cdrom exists but isn't accessible.
erhalten, überprüfen Sie die Rechte für die Gerätedatei. Wie in Kasten 1 beschrieben, ist es sinnvoll, die Gerätedatei der Gruppe cdrom zuzuweisen und Benutzer für den CD-Zugriff in die Gruppe aufzunehmen.
Listing 1
Ausgabe von "cdparanoia -Q"
$ cdparanoia -Q cdparanoia III release 9.8 (March 23, 2001) (C) 2001 Monty <monty@xiph.org> and Xiphophorus Report bugs to paranoia@xiph.org http://www.xiph.org/paranoia/ Table of contents (audio tracks only): track length begin copy pre ch =========================================================== 1. 8515 [01:53.40] 33 [00:00.33] no no 2 2. 20750 [04:36.50] 8548 [01:53.73] no no 2 3. 21827 [04:51.02] 29298 [06:30.48] no no 2 4. 9848 [02:11.23] 51125 [11:21.50] no no 2 5. 33262 [07:23.37] 60973 [13:32.73] no no 2 6. 19750 [04:23.25] 94235 [20:56.35] no no 2 7. 21835 [04:51.10] 113985 [25:19.60] no no 2 8. 16148 [03:35.23] 135820 [30:10.70] no no 2 9. 17562 [03:54.12] 151968 [33:46.18] no no 2 10. 22103 [04:54.53] 169530 [37:40.30] no no 2 TOTAL 191600 [42:34.50] (audio only)
Einen Track lesen Sie mit cdparanoia aus, indem Sie ganz einfach die Nummer des Stückes angeben, z. B.
cdparanoia 1
Ebenso definieren Sie eine Liste von Tracks: Wenn Sie beispielsweise die ersten fünf Titel grabben wollen, geben Sie diese durch 1-5 an. Sobald Sie mehr als einen Track auslesen, müssen Sie dem Programm zusätzlich den Parameter -B übergeben, damit nicht alles in einer Wav-Datei landet, also
$ cdparanoia -B 1-2 … outputting to track01.cdda.wav
Eine ASCII-Anzeige informiert über den Fortschritt – außerdem sehen Sie, dass cdparanoia die Wav-Dateien track01.cdda.wav, track02.cdda.wav usw. nennt.



