Live-Aufnahmen als unterbrechungsfreie MP3s kodieren

Aus LinuxUser 04/2004

Live-Aufnahmen als unterbrechungsfreie MP3s kodieren

Musik, pausenlos

Es geht auch ohne die nervigen Löcher, die das Hörvergnügen bei MP3-kodierten Live-Alben erheblich schmälern. Der Trick dabei: Kommandozeilentools.

Wer hat sich nicht schon über die lästigen Zwangspausen zwischen einzelnen Titeln nach der Konvertierung von Live-Alben oder Studio-CDs mit ineinander übergehenden Nummern ins MP3-Format geärgert? Ein unhörbar eingefügter Code auf Audio-CDs teilt dem CD-Player die Dauer des Stücks mit und dient als Information für die Navigation durch eine CD. Die meisten CD-Ripper erkennen diese Markierungen zwischen den Titeln und setzen sie als Pause um. Was zur Folge hat, dass Klassiker wie Pink Floyds “Dark Side Of The Moon” plötzlich störende Unterbrechungen beim Abspielen der MP3-Version aufweisen und das Publikum bei Live-Aufnahmen zwischen zwei Stücken ebenfalls absolut geräuschlos und kollektiv Atem holt.

Das lässt sich jedoch einfach umgehen, wenn man sich von der grafischen Oberfläche verabschiedet und in den Tiefen der Konsole direkt am Sound arbeitet. Der Lohn der Mühe: Einige andere nützliche Soundbearbeitungsmöglichkeiten fallen dabei auch noch mit ab.

Die Helfer von der Kommandozeile

Für das Lesen einer Audio-CD unter Linux bringen die meisten Distributionen die Programme cdda2wav und cdparanoia mit. Wegen seiner Zuverlässigkeit und Datensicherheit setzen die meisten User auf das aus cdda2wav entstandene cdparanoia, repariert das Programm doch auch Fehler durch beschädigte CD-Oberflächen sehr sauber. Die Dateien können beliebig in den Formaten WAV, AIFF, AIFF-C oder Raw ausgegeben werden, wobei WAV mit 16 Bit bei einer Abtastfrequenz von 44,1 kHz als Standard dient.

Auch grafische Programme greifen auf cdparanoias Dienste zurück: So werkelt das Tool beim Erstellen einer 1:1-Audio-Kopie einer CD mit Xcdroast unscheinbar im Hintergrund, liest alle Titel fein säuberlich ein und speichert sie. Beim anschließenden Schreiben der Audio-Kopie bleibt alles wie im Original. Wo es sich gehört, gehen die Nummern fließend und unhörbar ineinander über.

Nach der Konvertierung in MP3 entsteht jedoch meist eine kleine Pause, weil jeweils einzelne Dateien erstellt und abgespielt werden. Selbst MP3-Encoder, die Optionen bieten, welche die Pausen zwischen zwei Titeln unterdrücken sollen, lassen bei der Wiedergabe in nahezu allen Playern meist eine Restlücke, die für das Ohr trotz ihrer Kürze immer noch deutlich hörbar bleibt.

Die Lösung dieses Problems liegt auf der Hand: Man muss lediglich die Titel, die nahtlos ineinander übergehen sollen, vor der MP3-Konvertierung zu einer einzigen Datei zusammenfassen. Zwar fällt dabei die von den Urhebern vorgenommene Trennung der Titel unter den Tisch, aber man erfreut sich ungestörten Hörgenusses, auch wenn die Stücke schließlich “Wish-you-were-here-A-Seite” und “Wish-you-were-here-B-Seite” heißen.

Paranoia

Für diese Aufgabe braucht man Root-Rechte. Es geht auch als weniger privilegierter User, jedoch nur, wenn root diesem zuvor umfangreiche Zusatzrechte verleiht. Mit

$ which cdparanoia
/usr/bin/cdparanoia

erhält man nicht nur die Bestätigung, dass das Ripp-Programm installiert ist, sondern zugleich auch die Information, wo.

Kommt als Antwort nicht die Pfadangabe, muss cdparanoia nachträglich von den Distributions-CDs oder aus dem von [1] erhältlichen Quellcode installiert werden. Mit cdparanoia-III-alpha9.8.i386-linux-elf.gz bieten die Entwickler auf [1] auch ein vorkompiliertes Binary an, das man lediglich mit gunzip entpacken und mit

chmod a+x cdparanoia-III-alpha9.8.i386-linux-elf

ausführbar machen muss. Beim Kopieren in ein Verzeichnis im Suchpfad (etwa /usr/local/bin) benennt man es am besten in cdparanoia um:

mv cdparanoia-III-alpha9.8.i386-linux-elf /usr/local/bin/cdparanoia

Sobald eine Audio-CD im Laufwerk liegt, erhält man nach Eingabe von

cdparanoia -s -Q

eine Antwort wie in Abbildung 1. Offensichtlich listet dieser Befehl alle Titel der Audio-CD auf. Die Option -s (für “search”), die das Suchen auf allen vorhandenen CD-Laufwerken erzwingt, ist oft gar nicht erforderlich.

Abbildung 1: Mit der Option -Q zeigt cdparanoia alle Tracks auf einer CD an.

Abbildung 1: Mit der Option -Q zeigt cdparanoia alle Tracks auf einer CD an.

Aus vielen mach eins

Sollen nun die Stücke 1 bis 3 nahtlos aufeinander folgen und im Verzeichnis /home/linux/pinkfloyd1 gespeichert werden, erzeugt man zunächst das Verzeichnis durch Eingabe von

mkdir -p /home/linux/pinkfloyd1

und wechselt mit

cd /home/linux/pinkfloyd1

dorthin. Nun erstellt

cdparanoia -s 1-3

die WAV-Datei mit dem Standardnamen cdda.wav im Arbeitsverzeichnis. Erweitert man den Befehl zu

cdparanoia -s 1-3 track01bis3pinkfloyd.wav

landet stattdessen die Datei track01bis3pinkfloyd.wav in /home/linux/pinkfloyd1. Mit dem separat angegebenen Dateinamen verschwindet auch die Gefahr, dass man cdda.wav immer und immer wieder aus Versehen überschreibt.

Erweitert man den Namen der Zieldatei um eine Verzeichnisangabe …

cdparanoia -s 1-3 /home/user/mp3/track01bis3pinkfloyd.wav

…, kopiert cdparanoia das Ergebnis genau dorthin, sofern das Verzeichnis vorhanden und beschreibbar ist.

Titel, die nicht ineinander übergehen (im Beispiel die Tracks 4 bis 8), legt das Programm mit der Option -B (“Batch”) sauber in Einzeldateien ab. So warten nach dem Befehl

cdparanoia -s -B 4-8 pinkfloyd.wav

die Dateien track04.pinkfloyd.wav bis track08.pinkfloyd.wav im Arbeitsverzeichnis. Ohne Trackangabe veranlasst -Bcdparanoia dazu, alle Titel einer Audio-CD nacheinander auszulesen (weitere Optionen bespricht Kasten 1).

Gehen die Titel 9, 10 und 11 der CD wieder ineinander über, verfährt man genau wie bei den Titeln 1 bis 3:

cdparanoia -s 9-11 track09bis11pinkfloyd.wav

Lässt man auch die Namen der zusammenhängenden Titel mit track, gefolgt von einer Zahl, beginnen, liegen die WAV-Dateien nun wie auf der Audio-CD sortiert im gewählten Verzeichnis und warten auf Konvertierung nach MP3, die nun mittels eines Encoder-Programms in einem Rutsch erfolgen kann.

Im Einzelfall lohnt es sich, die Titel bereits vor der Konvertierung umzubenennen. Sollen die Stücke später auf eine CD gebrannt werden, empfiehlt es sich, dabei die Beschränkungen des CD-Dateisystems ISO 9660 zu beachten. Ohne Erweiterungen wie Rockridge oder Joliet dürfen Dateinamen nur acht Zeichen plus drei Zeichen Endung lang sein und lediglich Buchstaben und Zahlen sowie ein einziges Sonderzeichen, den Unterstrich, enthalten. Für Pfade, bestehend aus Verzeichnissen und Dateinamen einschließlich Dateiendung, gilt eine Längenbegrenzung von maximal 30 Zeichen. Hält man sich daran, werden nur noch wenige MP3- und DVD-Player beim Abspielen streiken.

Kasten 1: CDParanoias Funktionsvielfalt

cdparanoia kennt eine ganze Reihe Kommandozeilenoptionen, die sich alle mit man cdparanoia (bei installierter Manpage) oder auf [1] unter dem Punkt usage & manualnachlesen lassen. Zum Glück sind davon nicht alle gleich wichtig. Zu den Optionen von allgemeinerem Interesse zählen -f, die statt WAV-Files Dateien im Apple-AIFF-Format erzeugt, -r, die Dateien im Raw-Format mit 16 Bit PCM (Pulse Code Modulation) ausgibt, sowie das Flag -B, das die komplette CD liest und alle Titel einzeln mit der Vorsilbe track plus laufende Nummer plus Punkt speichert (siehe Text).

Nicht nur nach -B, sondern grundsätzlich darf zwischen den Optionen und dem Namen der Ausgabedatei stehen, welche Titel oder Teile von Titeln gerippt werden. Die Beispiele in diesem Artikel beschränken sich auf komplette Stücke, es dürfen aber auch genau spezifizierte Ausschnitte sein, was beispielsweise die Erstellung von Klangbeispielen für Websites erleichtert. Angeben kann man Titel, Zeiten und Sektoren, wobei Sektoren Abschnitte von einer 75tel Sekunde sind.

Die entsprechende Syntax lautet n:[hh:mm:ss.sc], mit n für den Titel, hh für die Stunden, mm für die Minuten, ss für die Sekunden und sc für den Sektor. Vorauslaufende Nullen dürfen weggelassen werden. So sorgt das Argument 1:[:25.15] dafür, dass cdparanoia den ersten Titel ab der 25. Sekunde und 15 Sektoren liest.

Stellt man wie in 1:[:25.15]- ein Minus hinter die Klammer, landet vom spezifizierten Zeitpunkt bis zum Ende der CD alles in der Ausgabedatei. Man kann das Ende auch exakt festlegen, in dem man den Endpunkt in der gleichen Syntax spezifiziert: 1:[:25.15]-5:[:2:] bedeutet somit, dass bis zur zweiten Minute des fünften Titels gerippt wird. Zur Anwendung kommt das beim Ausschneiden eines Klangsegments, das anschließend per MP3-Kodierung datenreduziert wird (siehe Kasten 3).

MP3s sollen’s werden!

Spätestens, wenn alle Nummern der Audio-CD ausgelesen sind, folgt die Konvertierung ins MP3-Format mittels eines Encoders. Aus rechtlichen Gründen gehören diese Programme zum Lieferumfang der wenigsten Distributionen und müssen aus dem Internet geholt werden. Sehr zuverlässig und stabil arbeitet BladeEncode [2], dessen vorläufig letzte Version 0.94.2 den Erfahrungen des Autors auf verschiedenen Systemen mit Kernel 2.1.x bis 2.4.x nach immer beste Ergebnisse liefert. Hinweise zur BladeEncode-Installation gibt Kasten 2.

Kasten 2: Installation von BladeEncode

Nach dem Entpacken der Datei bladeenc-0.94.2-src-stable.tar.gz aus dem Bereich Sourcecode auf [2] (beispielsweise mit dem Befehl tar -tzvf bladeenc-0.94.2-src-stable.tar.gz im Verzeichnis /opt) gibt die Datei INSTALL ausführliche Anweisungen zur Installation unter Windows, BeOS und Linux.

Linux-User wechseln zunächst ins ausgepackte Quellen-Verzeichnis:

cd /opt/bladeenc-0.94.2

Es folgen die üblichen Schritte einer Software-Installation aus dem Quellcode: das Konfigurieren, Kompilieren und Installieren:

./configure
make
su -c "make install"

Nach dem letzten Schritt, bei dem das root-Passwort abgefragt wird, befindet sich das bladeenc-Binary im Verzeichnis /usr/local/bin. Sofern dieses im Suchpfad enthalten ist, steht BladeEncode nun nicht nur an der Konsole zur Verfügung, sondern wird auch von grafischen Ripp-Programmen gefunden oder kann dort zumindest über die Einstellungen eingebunden werden.

Zunächst wechselt man – sofern man sich noch nicht dort befindet – in das Verzeichnis, in dem die Titel der ausgelesenen Audio-CD als WAV vorliegen. Dort angelangt, konvertiert der Befehl

bladeenc *.wav

alle auf .wav endenden Dateien unter Übernahme des Dateinamens vor dem Punkt schnell und ohne manuellen Eingriff zu MP3-Dateien mit einer Bitrate von 128 KBit/s. Diese lässt sich natürlich ändern – mit der Option -br, die neben weiteren in der Praxis wichtigen Flags im Kasten 3 erklärt wird.

Kasten 3: BladeEncodes Optionen

BladeEncode kann nicht nur ein Verzeichnis mit WAV-Dateien in einem Rutsch schnell ins MP3-Format bringen, sondern bearbeitet diese Dateien auf Wunsch auch gezielt und reduziert vor allem ihren Datenumfang. Das ist zum Beispiel wichtig für Musiker, die ihre Werke auf Websites zum Herunterladen anbieten; schließlich geht es darum, die Ladezeit klein zu halten. Sollen diese Dateien lediglich Lust auf mehr in Form käuflich zu erwerbender Audio-CDs oder hochqualitativer Bezahl-Downloads machen, hilft die gezielte Reduktion des Demos auf Mono und geringeren Frequenzumfang.

Als Argumente nimmt bladeenc eine Liste von Dateipaaren an: Zuerst die zu konvertierende Datei, dann die zugehörige Ausgabedatei usw. Die Eingabedatei muss dabei nicht unbedingt im Arbeitsverzeichnis liegen, man kann auch den Pfad angeben. Den Namen des MP3-Files entnimmt das Programm bei Bedarf der WAV-Datei.

Zudem kennt es zweierlei Optionen: Die globalen stehen direkt hinter dem Programmnamen. Sollen sich bestimmte Parameter nur auf den Konvertierungsprozess einer bestimmten Datei beziehen, stehen sie direkt hinter dem Namen der Ausgabedatei; bestimmt bladeenc diesen aus dem Namen der Eingangsdatei, direkt hinter diesem.

Zu den globalen Optionen gehören -q, das BladeEncode automatisch nach vollendeter Konvertierung beendet, ohne auf einen bestätigenden Tastendruck zu warten, und -outdir=Verzeichnis, das die MP3-Dateien ins angegebene Verzeichnis kopiert.

Optionen wie -br, -del und -mono können hingegen sowohl global als auch auf eine bestimmte Konvertierung wirken. Steht ein solches Flag hinter einem Dateipaar, überstimmt es ggf. die entsprechende globale Einstellung.

-br erfordert nach einem Leerzeichen die Angabe, in welcher Auflösung (Bitrate) in KBit/s das MP3 erzeugt werden soll. Standard ist 128 KBit/s (-br 128, kurz: -128) in Stereo; bei Mono 64 KBit/s.

-del löscht die Eingangsdatei nach erfolgreicher Kodierung, -mono fasst Stereo-Kanäle zu Mono zusammen.

Die vollständige Liste der Optionen erhält man durch Eingabe des Befehls bladeenc ohne weitere Optionen.

Spätestens, wenn man die BladeEncode-Website betritt, erfährt man aber auch, dass neuere (und patentfreie) Formate wie OggVorbis MP3 vor allem in der Funktionalität deutlich übertreffen. Warum dann trotzdem MP3?

Das hat eher praktische Gründe: Gerade jetzt beginnen sich MP3-kompatible CD-Player in Autoradios sowie DVD-Player mit MP3-Unterstützung durchzusetzen. Die Hersteller solcher Consumer-Hardware werden zunächst auf der sicheren (MP3-)Seite bleiben und abwarten, welche Formate sich in der Verbrauchergunst schließlich durchsetzen. Das kann Jahre dauern – das Beispiel des VHS-Standards bei Video-Kassetten hat es gezeigt. Ungeachtet schlechterer Qualität konnte er sich gegenüber seinen Konkurrenten schließlich aufgrund der Verbraucherakzeptanz doch durchsetzen. Die Chancen für MP3 stehen da gar nicht so schlecht.

Der Autor

Wolfgang Bongertz schlug nach seinem Studium der Nachrichtentechnik an der TU Braunschweig eine Laufbahn als Fachjournalist für Musiker- und Studiozeitschriften ein. Seit einigen Jahren beschäftigt er sich mit Linux auf dem Desktop, im Netzwerk, im Austausch mit Mac und Windows und auch mit Musik- und Musikeranwendungen.

Glossar

Root-Rechte

Auf gängigen Linux-Systemen darf der sogenannte Superuser root im Gegensatz zu den Usern anderer Benutzerkonten alles. Wer seinen Rechner selbst verwaltet, kann sich mit dem Befehl “su” in einem Kommandozeilenfenster diese Zusatzprivilegien verschaffen, ohne sich ausloggen und als “root” wieder neu anmelden zu müssen.

Binary

Ein Programm in seiner für den entsprechenden Prozessor aufbereiteten, ausführbaren Form.

Suchpfad

Auflistung der Verzeichnisse, in denen üblicherweise Binaries liegen, gespeichert in der Variablen “PATH”. Man kann ihn sich mit “echo $PATH” auf der Kommandozeile anzeigen lassen. Programme, die sich in diesen Verzeichnissen befinden, ruft man einfach mit ihrem Dateinamen auf.

mkdir -p

Die Option -p des Verzeichniserzeugungsbefehls mkdir (“make directory”) sorgt dafür, dass nicht nur das am Ende des Pfades benannte Verzeichnis (im Beispiel: pinkfloyd1) erzeugt wird, sondern auch alle angegebenen, noch nicht vorhandenen Oberverzeichnisse (z. B. linux unterhalb von /home). -p steht für “parent”, Eltern.

Raw-Format

Entsteht beim Abtasten eines analogen Audio-Signals durch einen Analog-Digital-Wandler, der mit einer festen Abtastfrequenz und einer ebenso festgelegten Amplitudenauflösung die Konvertierung auf die digitale Ebene durchführt. Diese Pulse Code Modulation (PCM) erlaubt die nur durch den sogenannten Quantisierungsfehler behaftete Rückführung auf die analoge Ebene mittels eines mit gleicher Frequenz und Amplitudenauflösung arbeitenden Digital-Analog-Wandlers. Bei einer Abtastfrequenz von 44,1 kHz mit einer Auflösung von 16 Bit nimmt das durchschnittliche Gehör keine Klangabweichungen mehr wahr. Das PCM-Raw-Format wird auf Audio-CDs ebenso verwendet wie in Samplern.

Sektoren

Der Begriff stammt aus dem Red Book von Philips und Sony mit der Festlegung der Audio-CD-Standards im Jahr 1982. Ein Sektor besteht aus 98 Frames, den kleinsten Informationsblöcken der Audio-CD. Daraus definiert sich der Begriff “Single-Speed”, da ein CD-Laufwerk eine Audio-CD mit der Geschwindigkeit von 75 Sektoren pro Sekunde ausliest.

Bitrate

Gibt in KBit pro Sekunde an, welche Datenmenge für die Kodierung der Audiodatei spendiert wird. Je höher die Bitrate, umso besser die MP3-Qualität, umso größer aber auch die MP3-Datei. Ein guter Mittelwert für MP3 sind 128 KBit/s; 192 KBit/s sollen die Differenzierbarkeit von Instrumenten deutlich erhöhen.

Infos

[1] CDParanoia: http://www.xiph.org/paranoia/

[2] BladeEncode: http://bladeenc.mp3.no/

LinuxUser 04/2004 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