Die Kommandozeile swingt: Es muss nicht immer ein grafisches Tool zum Abspielen der MP3- oder Ogg-Vorbis-Sammlung sein. Wir stellen alternative Programme vor, mit denen Sie es auf der Shell so richtig rocken lassen.
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.
Wer einen schnellen Rechner hat, findet in Playern wie amaroK oder JuK (Artikel auf S. 56) nicht nur etwas für die Ohren, sondern auch jede Menge Eyecandy. Auch ein schon etwas betagter Computer ist noch lange kein Grund, auf den Ohrenschmaus zu verzichten. Dank schlanker Kommandozeilen-Player für MP3- und Ogg-Vorbis reicht die Textkonsole aus, um Musik zu machen.
Einen weiteren Vorteil dieser Programme stellt dar, dass sie mit anderen Shell-Befehlen zusammenarbeiten: Lassen Sie automatisch nach allen Sound-Dateien auf der Platte suchen und übergeben Sie das Ergebnis direkt als Playliste. Auch beim Umwandeln in WAV-Dateien – etwa um die Musiksammlung auf eine Audio-CD zu brennen – hat die Kommandozeile die Nase vorn: Wir zeigen, wie Sie das Konvertieren automatisieren.
Musik machen mit “mpg123/mpg321”
Das Kommandozeilen-Tool mpg123[1] hat schon einige Jährchen auf dem Buckel und macht nicht nur unter Linux Musik, sondern funktioniert auf vielen anderen Unix-Plattformen. Weil mpg123 nicht unter der GPL veröffentlicht wurde, entwickelte Joe Drew die vollständig freie Alternative – den Player mpg321[2]. Die wesentlichen Funktionen beider Tools unterscheiden sich nicht voneinander, daher gelten alle hier vorgestellten Optionen für beide Programme gleichermaßen.
Der einfache Aufruf lautet mpg123 datei.mp3 bzw. mpg321 datei.mp3. Während der Sound aus den Boxen schallt, schreibt das Programm weitere Infos direkt in die Konsole (Listing 1). Neben Informationen über die Programmversion finden Sie hier auch Angaben zu Titel, Künstler, Album usw. (falls die ID3-Tags richtig gesetzt sind) und der Qualität der vorliegenden MP3-Datei. Wem das zuviel Information auf einmal ist, kann diese Ausgabe mit dem Parameter -q unterdrücken.
Sie unterbrechen das Abspielen, indem Sie den Prozess mit [Strg-Z] in den Hintergrund schieben. Weiter geht es, sobald Sie fg (“foreground”) tippen. Um den Kommandozeilen-Player ganz zu beenden, dient die Tastenkombination [Strg]+[C].
Listing 1
Ausgabe von mpg123
$ mpg321 01_Keep_Yourself_Alive.mp3 High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3. Version 0.59q (2002/03/23). Written and copyrights by Joe Drew. Uses code from various people. See 'README' for more! THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK! Title : Keep Yourself Alive Artist: Queen Album : Queen Year : 1973 Comment: Genre : Rock Playing MPEG stream from 01_Keep_Yourself_Alive.mp3 … MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Alles Ogg, oder was?
Als Alternative zum MP3-Format präsentiert sich Ogg. Als vollständig offengelegtes, nicht patentiertes Format für Streaming-Anwendungen ist es ein Container für Codecs, wie etwa Vorbis und FLAC. Der Ogg-Vorbis-Codec zur verlustbehafteten Audiokompression [3] bietet darüber hinaus eine bessere Qualität als MP3. Das Programmpaket vorbis-tools, bei fast allen Distributionen standardmäßig enthalten, umfaßt gleich mehrere Tools:
ogg123: Ein Kommandozeilen-Player, der ähnlich wiempg123bzw.mpg321arbeitet.oggdec: Der einfache Dekoder wandelt Ogg-Vorbis-Dateien in WAV um.oggenc: Wandelt WAV- und AIFF-Dateien in Ogg-Vorbis-Stream.ogginfo: Präsentiert Informationen über Ogg-Dateien auf der Kommandozeile.vcut: Schneidet Ogg-Vorbis-Dateien.vorbiscomment: Erlaubt das Bearbeiten der Vorbiscomment-Tags.
Um eine Ogg-Vorbis-Datei abzuspielen, setzen Sie den Player ogg123 ein. Listing 2 zeigt ein Beispiel seiner Ausgabe. Auch hier helfen die üblichen Kommandos zur Prozesskontrolle bei der Steuerung: [Strg]+[Z] dient als Pausentaste, mit fg geht es weiter, und [Strg]+[C] beendet den Player. Wie bei mpg123 und mpg321 gilt auch hier: Wollen Sie auf die informative Ausgabe verzichten, hängen Sie einfach den Parameter -q an den Aufruf an.
Listing 2
Ausgabe von ogg123
$ ogg123 01_Barenaked_Ladies_-_Celebrity.ogg Audio Device: Advanced Linux Sound Architecture (ALSA) output Playing: 01_Barenaked_Ladies_-_Celebrity.ogg Ogg Vorbis stream: 2 channel, 44100 Hz Title: Celebrity Artist: Barenaked Ladies Genre: Rock Date: 2003 Album: Everything to Everyone Track number: 01 Time: 02:00,12 [01:27,62] of 03:27,73 (110,7 kbps) Output Buffer 96,9%
Auf einen Streich
Um mit mpg123, mpg321 bzw. ogg123 mehrere Dateien hintereinander abzuspielen, hängen Sie diese einfach an den Programmaufruf an:
mpg321 05_Lily_Of_The_Valley.mp3 08_Stone_Cold_Crazy.mp3 09_Dear_Friends.mp3
Natürlich können Sie auch mit den üblichen Kommandozeilen-Abkürzungen arbeiten und beispielsweise mit mpg321 *.mp3 alle MP3-Dateien (oder mit ogg123 *.ogg alle Ogg-Vorbis-Dateien) des aktuellen Verzeichnisses erfassen. Mit der Tastenkombination [Strg]+[C] unterbrechen Sie dabei den gerade laufenden Song und springen damit also stückweise nach vorne. Um die Musik ganz abzuschalten, drücken Sie [Strg]+[C] zweimal schnell hintereinander.
Wer im eigenen Home-Verzeichnis Audiodateien nicht ordentlich sortiert, sondern verstreut in mehreren Unterverzeichnissen hat, kann einen find-Aufruf zuhilfe nehmen:
mpg321 $(find ~ -name "*.mp3")
Der find-Befehl sucht hier – ausgehend vom eigenen Home-Verzeichnis (abgekürzt durch die Tilde) – in sämtlichen Unterordnern nach allen Dateien, die auf .mp3 enden. Durch das Dollarzeichen und die runden Klammern weiß die Bash, dass sie die Ausgabe als Argument an das Kommando mpg321 weiterreichen soll.
Problematisch wird es, wenn Sie Dateien mit Leer- oder Sonderzeichen auf der Platte haben – dann hagelt es Fehlermeldungen. Abhilfe schafft wieder ein kleiner Trick auf der Shell:
find ~ -name "*.ogg" | ogg123 -@ - -z
Hier steht der find-Befehl an erster Stelle; die gefundenen Dateien werden über das Pipe-Zeichen an den ogg123-Aufruf weitergeleitet, der von Standard-Input (-) liest und die Dateiliste als Playlist über die Option -@ verarbeitet. Der abschließende Parameter -z sorgt dafür, dass ogg123 die Songs nicht einfach der Reihe nach abspielt, sondern das nächste Stück zufällig auswählt (Shuffle-Modus). Da mpg123 und mpg321 dieselben Parameter kennen, funktioniert der hier gezeigte Trick natürlich auch für MP3-Dateien.
Wandlungskünstler
Um die eigene MP3-Sammlung auf eine normale Audio-CD zu brennen, die sich beispielsweise in der Stereoanlage abspielen lässt, müssen die komprimierten Sound-Dateien zunächst einmal ins WAV-Format gebracht werden. Für diesen Zweck bieten mpg123 und mpg321 die Option -w. Beachten Sie, dass die Ausgabedatei vor der Eingabedatei genannt wird:
$ mpg321 -w datei.wav datei.mp3 … [3:47] Decoding of datei.mp3 finished.
Da Sie auf diese Weise immer nur jeweils eine einzige Datei erfassen können, schreiben Sie den mpg321-Aufruf ganz einfach in eine kleine for-Schleife und automatisieren so die Umwandlung mehrerer Dateien. Um alle MP3-Dateien eines Verzeichnisses in WAVs zu bringen, tippen Sie beispielsweise:
for i in *.mp3; do mpg321 -w `basename $i .mp3`.wav $i; done
Dieser Aufruf weist jede Datei mit der Endung .mp3 der Variablen i zu. Für sie wird dann mpg321 -w aufgerufen. Beim ersten Parameter handelt es sich wieder um die Ausgabedatei (gebildet aus dem “Basisnamen” ohne die Endung .mp3 und stattdessen der Endung .wav); beim zweiten Parameter um die Ausgangsdatei $i.
Etwas weniger Tipparbeit erfordert das Umwandeln von Ogg-Vorbis-Dateien ins WAV-Format: Das Programm oggdec ersetzt die Dateiendungen automatisch und verlangt lediglich die Angabe der zu dekodierenden Datei:
$ oggdec sunrise.ogg
OggDec 1.0
Decoding "sunrise.ogg" to "sunrise.wav"
[100.0%]
Um also alle Dateien in einem Rutsch umzuwandeln, genügt in diesem Fall das Kommando oggdec *.ogg.
Terminal-Ghettoblaster
Wer bei den bisher vorgestellten Kommandozeilen-Tools zwar die Möglichkeiten zur interaktiven Steuerung vermisst, aber dennoch kein grafisches Programm mit dem Abspielen der Lieblingssongs beauftragen möchte, findet eventuell eine Alternative in mp3blaster[4]. Der Player kann – anders als der Name vermuten lässt – neben MP3s auch WAV- und Ogg-Vorbis-Dateien erklingen lassen und ist Bestandteil der meisten Distributionen. mp3blaster braucht keine grafische Umgebung, sondern läuft dank Ncurses im Terminal und bietet sämtliche Bedienelemente auf Tastendruck.
Sie starten den Player über die Eingabe von mp3blaster auf der Kommandozeile. Im oberen Fensterbereich sehen Sie die verfügbaren Tastatur-Shortcuts; mit [+] und [-] blättern Sie nach rechts und links in dieser Liste, um weitere Kommandos einzublenden. Darunter zeigt mp3blaster sich informativ: Beim Abspielen einer Audiodatei sehen Sie hier technische Details zur Datei selbst, Angaben zur Abspielreihenfolge und den nächsten Song in der Playliste. Die eingebaute Hilfe blenden Sie über [Umschalt]+[ß] (“?”) ein und wieder aus (Abbildung 1).
Drücken Sie die Taste [F1], um in den Datei-Manager-Modus zu gelangen und Dateien zum Abspielen auszuwählen. Dabei verändern sich die Tastaturbefehle im oberen Fensterbereich: In der Fenstermitte sehen Sie jetzt Dateien und Verzeichnisse des Ordners, aus dem heraus Sie den Player gestartet haben. Mit den Pfeiltasten oder [Bild oben] und [Bild unten] wandern Sie durch die Dateien und Verzeichnisse. Um in einen Folder hineinzuwechseln, drücken Sie die Eingabetaste, zurück geht es über den Eintrag ../ (übergeordnetes Verzeichnis).
Um eine Datei abzuspielen, reicht es, mit den Pfeiltasten auf den Eintrag zu blättern und die Eingabetaste zu drücken. Wer stattdessen zuerst mehrere Songs auswählen und in eine Abspielliste packen möchte, wählt die Lieder durch Drücken der Leertaste aus (sie erscheinen dann hervorgehoben) und fügt sie anschließend über [F1] der Playlist hinzu. Ein ganzes Verzeichnis erwischen Sie schnell, indem Sie über [F2] die Auswahl umkehren, so alle Songs markieren, und diese dann über [F1] der Liste hinzuzufügen.
Drücken Sie die Taste [5], um mit der Wiedergabe zu beginnen; mp3blaster zeigt jetzt nicht nur das aktuelle Lied, sondern auch den nächsten Song in der Liste an (Abbildung 2). Die weiteren Tastaturkommandos sind [5] (Pause), [4] (vorhergehender Song), [6] (nächster Song), [2] (Stop), [1] (zurückspulen) und [3] (vorspulen). Über die Taste [F6] schalten Sie die Wiederholfunktion ein; [F7] sorgt dafür, dass die Songs in zufälliger Reihenfolge abgespielt werden (Shuffle). Ganz unten rechts im Fenster eingeblendet sehen Sie den eingebauten Mixer; mit Druck auf [T] wechseln Sie zwischen den verschiedenen Devices hin und her. Die Lautstärke verändern Sie über [<] (leiser) und [Umschalt]+[<] (lauter) – eine Prozentanzeige gibt dabei Auskunft über den Pegel. Mit [Q] verlassen Sie das Programm.
Sortierkünstler
Wenn Sie über [F1] in den Auswahlmodus wechseln, erscheinen die diversen Audioformate standardmäßig in grüner Farbe. Fertige Playlisten, die häufig die Endung .m3u oder .lst tragen, macht mp3blaster in Gelb kenntlich. Wählen Sie eine solche Datei durch Drücken der Eingabetaste aus, dann fügt mp3blaster gleich alle Songs auf einen Rutsch der eigenen Abspielliste hinzu.
Ebenso leicht verläuft die Erstellung eigener Kollektionen: Wollen Sie die Songs der aktuellen Zusammenstellung als fertige Playlist abspeichern, drücken Sie zunächst [F4], geben dann einen Namen ein (Dateiendung .lst oder .m3u) und bestätigen über [Eingabe]. Wer vorher noch “aufräumen” oder sortieren möchte, kann mit einem Druck auf [D] den Song unter der Markierung loswerden. Mit den Tasten [M] bzw. [Umschalt]+[M] verändern Sie bei Bedarf die Reihenfolge der Stücke. Den kompletten Inhalt einer Playliste werden Sie über die Taste [C] wieder los.
Guter Start
mp3blaster besitzt einige Kommandozeilenoptionen, mit denen sich schon beim Start das Verhalten des Players steuern lässt. Um beim Start eine Playliste zu laden und direkt mit der Wiedergabe zu beginnen, verwenden Sie beispielsweise den Parameter -a und geben den Namen der Liste an:
mp3blaster -a queen.lst
Soll die Liste zwar geladen, aber nicht direkt abgespielt werden, verwenden Sie stattdessen -l. Um die Liste direkt in den Endlosmodus zu schalten, können Sie schon beim Start -R (für “repeat”) angeben:
mp3blaster -a queen.lst -R
Dem Player lässt sich nicht nur eine fertige Liste übergeben, sondern auch ein oder mehrere Dateinamen. Nach dem Abspielen dieser Songs beendet sich mp3blaster automatisch. Wollen Sie das unterbinden, starten Sie das Programm einfach zusätzlich mit dem Parameter -q.
Alles automatisch
Das Aussehen und Verhalten von mp3blaster können Sie über eine versteckte Konfigurationsdatei im eigenen Home-Verzeichnis (~/.mp3blasterrc) anpassen. Das Programm bringt dazu eine fertige Vorlage mit, die Sie ganz einfach kopieren und im Texteditor bearbeiten können. Das Template namens sample.mp3blasterrc finden Sie normalerweise im Verzeichnis /usr/share/mp3blaster/, unter Debian dagegen lagert es als gepackte Datei in /usr/share/doc/mp3blaster/examples/.
In dieser reinen Textdatei sind standardmäßig alle Einträge durch eine Raute (#) am Zeilenanfang auskommentiert. Entfernen Sie das Zeichen daher, wenn Sie eine Funktion aktivieren möchten. Neben allgemeinem Verhalten können Sie in dieser Datei die farbliche Gestaltung des Players neu definieren. Auch die Tastaturbelegung lässt sich an eigene Wünsche anpassen. Eine ausführliche Erklärung sowie Tipps und Tricks zur eigenen ~/.mp3blasterrc finden Sie in der Manpage des Players (man mp3blaster).
Glossar
-
ID3
-
In so genannten ID3-Tags lagern in Audiodateien (darunter MP3, Ogg-Vorbis, WMA und AAC) Metainformationen. Der ID3-Tag-Standard beschreibt zwei Varianten, ID3v1 und ID3v2.x: ID3v1-Tags beschränken sich für die Metadaten auf einen 128 Byte großen Block mit festem Aufbau am Ende der Datei. Der Nachfolger ID3v2 (aktuell ist Versionsnummer 2.4, daher lautet der volle Name ID3v2.4) ist im Gegensatz zum Vorgänger nicht in den letzten Bytes angesiedelt, sondern der binären Audio-Datei vorangestellt. Die Informationen dürfen bis zu 256 MByte Platz belegen und teilen sich in einzelne (jeweils bis zu 16 MByte große) “Frames” auf. In diesen können deutlich mehr Informationen (und sogar Bilder) untergebracht werden; ID3v2-Tags unterstützen darüber hinaus den Zeichensatz Unicode. Die beiden ID3-Standards schließen einander nicht aus: Eine Anwendung, die auf die Metainformationen zugreift, wählt dann zur Anzeige jeweils die Tag-Variante aus, die sie versteht.
-
Ncurses
-
Eine freie C-Programmbibliothek, die unter anderem Funktionen zur Behandlung der Tastatur- und Mauseingabe sowie zur Behandlung und Erzeugung mehrerer Fenster bietet.
Infos
[1] mpg123-Homepage: http://www.mpg123.de/
[2] mpg321-Web-Seite: http://mpg321.sourceforge.net/
[3] Ogg-Vorbis-Web-Seite: http://www.vorbis.com/
[4] Konsolen-Player mp3blaster: http://www.stack.nl/~brama/mp3blaster/






