abcde – A Better CD Encoder

Aus LinuxUser 04/2003

abcde – A Better CD Encoder

Music was my first love…

Mit abcde [1] kommt ein kleines aber feines Shell-Skript, das auf der Kommandozeile Ihre Lieblings-CDs einliest, die Tracks in MP3s oder Oggs wandelt und auf Wunsch Kommentare oder ID3-Tags hinzufügt – und das alles mit nur einem Befehl.

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.

Da das Skript auf andere Programme zurückgreift, sollten auf Ihrem System folgende Tools installiert sein:

  • ein Ogg-Encoder, z. B. oggenc oder vorbize
  • alternativ ein MP3-Encoder, z. B. lame oder bladeenc
  • cdparanoia oder cdda2wav, so genannte Audio-Extraktions-Tools zum Erzeugen von WAV-Dateien von Audio-CDs
  • cd-discid, ein CDDB-Tool
  • wget, ein Programm zum Spiegeln von Daten aus dem WWW
  • optional: ein ID3-Tag-Editor wie z. B. ide3 oder ide3v2

Installation

Debian-Benutzer finden das Programm als Paket für woody (“stable”), sarge (“testing”) und sid (“unstable”) in der Version 2.0.3. Sie können abcde mit dem Aufruf apt-get install abcde installieren.

Eventuell fehlende Tools werden gleich mitinstalliert. Das Paket abcde_2.0.3-1_all.deb finden Sie auch auf der Heft-CD im Verzeichnis /LinuxUser/abcde/. Nach dem Mounten der CD installieren Sie es mit dem Aufruf dpkg -i abcde_2.0.3-1_all.deb. Sollte hier eine Beschwerde vom System über nicht aufgelöste Paketabhängigkeiten kommen, werfen Sie einen Blick auf [4] und installieren die fehlenden Programme von Hand nach.

Benutzer anderer Distributionen finden auf der Heft-CD auch die Sourcen des Programms im Verzeichnis /LinuxUser/abcde/. Um diese zu installieren, gehen Sie nach dem Mounten der CD wie folgt vor:

asteroid:~# cd /usr/local/bin/
asteroid:/usr/local/bin# tar xzvf /cdrom/LinuxUser/abcde/abcde_2.0.3.orig.tar.gz

Im neuen Verzeichnis abcde-2.0.3 befindet sich die ausführbare Datei abcde. Sofern Sie /usr/local/bin im Pfadhaben, können Sie das Programm nun auf der Kommandozeile mit abcde starten (alternativ mit der kompletten Pfadangabe: /usr/local/bin/abcde).

An die Arbeit

Mit abcde -h gibt es Hilfestellung zu den verfügbaren Optionen des Programms. Ohne Parameter starten Sie das Programm in einem interaktiven Modus:

huhn@asteroid:~$ abcde
Getting CD track info… Grabbing entire CD - tracks: 1 2 3 4 5 6 7 8 9 10 11 12
Retrieving 1 CDDB match…done.
—- Christy Moore / Traveller —-
1: Urgency Culture
2: Raggle Taggle Gypsy
3: I loved Her
4: Tell it unto me
5: Rocky Road
6: Last Cold Kiss
[…]
Edit selected CDDB data? [y/n] (n):

Standardmäßig erscheinen die Titel nach dem Rippen in einem neuen Verzeichnis (Künstler/Titel.(mp3/ogg)), also z. B. Christy_Moore/Raggle_Taggle_Gypsy.ogg – Leerzeichen werden in Unterstriche umgewandelt, Sonderzeichen (z. B. Apostrophen) herausgefiltert. Die Liste der CDDB darf angepasst werden: Tippen Sie y, um die Titelnamen zu editieren. Das Programm versucht dabei zunächst, eine mögliche Umgebungsvariable $EDITOR auszuwerten; ist diese nicht gesetzt, wird der vi gestartet. Ist der Lieblings-Editor der Emacs, hilft der Aufruf export EDITOR=emacs weiter. Für eine CD mit verschiedenen Interpreten kann nach Bestätigen der nächsten Frage (Is the CD multi-artist? [y/n] (n):) ausgewählt werden, wie die Informationen Interpret und Titel aus den CDDB-Einträgen erzeugt werden.

Danach macht sich abcde an die Arbeit, eine ASCII-Anzeige verrät den Fortschritt (Kasten 1). Im Output zu sehen: abcde legt ein temporäres Verzeichnis (abcde.[discID]) an. In diesem befinden sich Informationen zur CD; sollte ein Rip-Vorgang einmal unterbrochen werden, nimmt ein erneuter Start von abcde die Arbeit einfach wieder auf.

Kasten 1:

abcde

bei der Arbeit

Ripping from sector       0 (track  1 [0:00.00])
          to sector    9443 (track  1 [2:05.68])
outputting to /home/huhn/abcde.a40c120c/track1.wav
(== PROGRESS == [                    | 009443 00 ] == :^D @L: * ==)
Done.
Grabbing track 2: Raggle Taggle Gypsy…
[…]
Encoding "/home/huhn/abcde.a40c120c/track6.wav" to
         "/home/huhn/abcde.a40c120c/track6.ogg" at quality 3.00
Encoding with VBR
        [ 28.9%] [ 1m04s remaining] \

Einzelne Tracks lassen sich durch Angabe der jeweiligen Nummern im Programmaufruf rippen: abcde 1 3. Weitere nützliche Optionen sind -a [aktion], um einzelne Features des Programms (cddb, read, encode) auszuführen, -d [device], um das CD-ROM-Device zu bestimmen (-d /dev/cdrom) oder -o [format] für das Ausgabeformat (-o mp3, -o ogg).

Selbst gestrickt

Das Verhalten von abcde wird von einer systemweiten Konfigurationsdatei (/etc/abcde.conf) beeinflusst. Diese können Sie in Ihr eigenes Home-Verzeichnis kopieren (cp /etc/abcde.conf ~/.abcde.conf) und editieren. Hier wird festgelegt, welcher CDDB-Server kontaktiert wird, wie das eigene CD-ROM-Laufwerk heißt, wo fertige MP3s/Oggs abgelegt werden und wie sie heißen sollen. Gefällt Ihnen die Voreinstellung (Interpret/Titel.(mp3/ogg)) nicht, ändern Sie den Eintrag nach # Output filename format... in der Datei. So sorgt beispielsweise

OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}_-_${TRACKFILE}.${OUTPUTTYPE}'

dafür, dass der Titel des Albums ebenfalls im Namen auftaucht (Christy_Moore/Traveller_-_Last_Cold_Kiss.ogg).

Glossar

ID3

In MP3-Dateien können zusätzlich Informationen über den Song mit abgelegt werden, z. B. Name des Künstlers oder der Band, das Genre oder der Name des Titels. Die meisten Abspielprogramme sind in der Lage, diese Informationen beim Abspielen der Lieder anzuzeigen. In der Version 1 (ID3v1) sind die letzten 128 Byte der Datei für diese Titel-Informationen reserviert; ID3v2-Tags befinden sich hingegen am Anfang der Datei, sind wesentlich komplexer und dürfen bis zu 256 MB groß sein (siehe auch [2]). Damit nicht jeder diese Tags von Hand eingeben muss, gibt es im Internet diverse Datenbanken mit ID3-Informationen, die CDDBs.

CDDB

Steht für Compact Disc DataBase, eine Datenbank im Internet, die Titelinformationen zu Audio-CDs enthält. Viele Programme zum Abspielen oder Rippen von CDs greifen auf die Online-Quelle FreeDB [3] zurück.

Pfad

Die Umgebungsvariable $PATH enthält eine Reihe von Verzeichnispfaden, die durch Doppelpunkte voneinander getrennt sind. In diesen sucht die Shell nach Programmen oder Kommandos, die ohne vollständigen Pfad, z. B. “abcde” statt “/usr/local/bin/abcde”, aufgerufen werden. Mit dem Befehl “echo $PATH” können Sie anzeigen lassen, welche Verzeichnisse von der Shell durchsucht werden. Erweitern lässt sich $PATH entweder kurzfristig in der aktuellen Shell mit dem Kommando “export PATH=$PATH:/usr/local/bin/” oder langfristig mit einem entsprechenden Eintrag in die eigene “.bashrc”.

LinuxUser 04/2003 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben