Auch im Zeitalter von CD, Minidisc und MP3-Playern schwören viele Musikliebhaber auf ihre alte Plattensammlung. Im Alltag sind digitalisierte Klangdateien jedoch um vieles praktischer. Zum Glück lassen sich Töne von analogen Medien wie Schallplatten oder Kassetten bequem aufnehmen, digital weiterverarbeiten und das Resultat abspielen – alles unter KDE.
Ob gepflegte Mozartklänge am Rechner die Konzentration fördern oder es sich bei 80er-Jahre-Pop besonders gut programmieren lässt – die individuellen Vorlieben mögen variieren, doch dass Musik am Arbeitsplatz die Produktivität steigert, darüber sind sich viele einig. Kein Wunder, dass Soundkarten und Desktop-Rechner schon fast zusammengehören.
Unter KDE kümmert sich der aRts-(“analog realtime synthesizer”-)Daemonartsd[1] um Klang jeglicher Art. Sound-Programme übergeben ihm die abzuspielenden Daten und brauchen sich anschließend nicht weiter um die Klangausgabe zu kümmern. Der aRts-Server wiederum kommuniziert mit der Soundkarte über das passende Kernel-Modul. Dabei ist es egal, ob kommerzielle OSS-(“Open Sound System”-)Treiber [2], ein Kernel-eigenes Sound-Modul oder ALSA (“Advanced Linux Sound Architecture” [3]) den Rechner zum Tönen bringen. (ALSA findet voraussichtlich mit der nächsten stabilen Linux-Version 2.6 offiziell ihren Weg in den Kernel.)
Aufnehmen, abmischen …
Damit Musik aus der Stereoanlage den Weg in den PC findet, schließt man diesen wie ein Kassettendeck an die Anlage an. An den Ausgang Tape am Verstärker kommt der Eingang der Soundkarte, den dazugehörigen Verstärkereingang verkabelt man mit dem Soundkarten-Ausgang. Damit landet alles, was der Verstärker hinausschickt, im Rechner und lässt sich dort beliebig verarbeiten.
Um Musik aufzunehmen muss der aRts-Server richtig eingestellt sein. Dafür zuständig zeichnet der Punkt Sound & Multimedia / Sound-System (bei SuSE 8.1 Klänge / Soundserver) im KDE-Kontrollzentrum. Der entscheidende Punkt heißt Volle Duplex-Fähigkeit aktivieren (Abbildung 1). Angekreuzt erlaubt er es dem Sound-Server, Töne gleichzeitig aufzunehmen und abzuspielen.
Für die Aufnahme zuständig ist seit KDE 3.1.0 Arnold Krilles Programm krec aus dem kdemultimedia-Paket – nicht zu verwechseln mit Gerd Knorrs ähnlich gelagertem KRecord[6]. Soll nur eine einzelne Datei mitgeschnitten werden, legt man diese zunächst mit Datei / Neue Datei an. Einfaches Drücken von N hat den selben Effekt. Per Rechtsklick auf die Zeile mit der neuen Datei bestimmt man diese über den Kontextmenü-Punkt In diese Datei aufnehmen zum Speicherplatz für die aufzunehmenden Klangdaten. Ein Klick auf den roten Aufnahmeknopf nimmt die im KDE-Mixer KMix (Abbildung 2) gewählte Klangquelle auf.
Welcher Eingang das ist (gewöhnlich das Mikrofon oder die eingehende Leitung), legt man mit Hilfe der roten Lämpchen unterhalb der Regler fest, von denen immer nur eines angeknipst werden kann. Der Regler IGain verstärkt das Eingangssignal: Je weiter er aufgedreht wird, desto mehr. Damit die Aufnahme nicht übersteuert, empfiehlt es sich an dieser Stelle, Maß zu halten.
Über den Reglern befinden sich Lämpchen, die man per Mausklick an- und ausschaltet. “Leuchtet” ein solches nicht, ist das entsprechende Gerät stumm geschaltet.
Kasten 1: aRts-Abstürze bei Debian
Für Debian-Benutzer, die sich streng an die offiziellen stabilen Pakete der Woody-Version halten, ist immer noch KDE 2 der aktuelle Stand. Wer dennoch KDE 3.x (etwa von der CD aus Heft 04/2003 oder von http://download.kde.org/) installiert hat, bezahlt diesen Mut mit artsd-Abstürzen, wenn der Server seine Module in der “falschen” Reihenfolge lädt. Dieser Bug war den KDE-Entwicklern zu Redaktionsschluss bekannt [4], aber leider noch nicht behoben.
Der Fehler macht sich zum Beispiel beim Starten von krec bemerkbar, wenn das Programm versucht, das aRts-Modul Synth_STEREO_COMPRESSOR zu laden. Vermeiden lässt sich der daraus resultierende artsd-Absturz, indem man das Modul Synth_STEREO_FIR_EQUALIZER manuell vor der Benutzung von krec (und anderen Programmen) lädt. noatun erlaubt dies über das Menü Einstellungen / Effekte (Abbildung 3). Allerdings bringt auch dieser etwas umständliche Workaround keine Entwarnung: Bei unseren Versuchen verabschiedete sich artsd trotzdem hin und wieder unvermittelt und musste mit dem erwähnten Modul neu gestartet werden. Bis zur Beseitigung des Bugs werden Debian-Nutzer wohl mit diesem Ärgernis leben müssen.
… und wiedergeben
Zum Abspielen der gebräuchlichen Klangformate bringt das kdemultimedia-Paket zwei Alternativen mit: noatun und Kaboodle (das nichts mit der gleichnamigen Netzwerk-Visualisierungssoftware von http://www.kaboodle.org/ zu tun hat). Beide Programme geben neben Videoformaten und exotischen Klangdateien auch Wave-, MP3- und Ogg-Vorbis-Dateien problemlos wieder. Die Unterschiede liegen im Funktionsumfang: Kaboodle bezeichnet sich selbst als “schlanken KDE-Multimediaabspieler”, während noatun zusätzliche Funktionen wie eine Stückliste, einen integrierten Lautstärkeregler und einen Equalizer bietet.
Auch für den populären Multimedia-Player xmms [5,10] existiert ein Plugin für den aRts-Server. Damit nicht aRts-kompatible Programme bei laufendem KDE direkt das verwendete Soundkarten-Modul ansprechen können, muss man den aRts-Daemon jedoch mit
killall artsd
beenden, da dieser die Soundkarte blockiert. Um dessen Neustart braucht sich der User nicht kümmern, dafür sorgen automatisch neu aufgerufene Programme, die auf artsd zugreifen wollen. Damit das reibungslos funktioniert, sollte man solche Tools erst starten, wenn keine anderen Anwendungen mehr versuchen, direkt mit der Soundkarte zu kommunizieren.
Alles unter Kontrolle
Wer bei all diesen ein- und ausgehenden Klängen den Überblick behalten will, greift zur Soundserver-Kontrolle artscontrol. Dieses Programm zeigt nach dem Aufruf grafisch die Klangausschläge an, die über aRts ausgegeben werden. Die Audio Manager-Ansicht im Ansicht-Menü (Abbildung 4) gibt zudem die Programme an, die den aRts-Server aktuell benutzen, ob sie Klänge aufnehmen oder wiedergeben und auf welchen Bus (in der Regel in_soundcard und out_soundcard) sie zugreifen.
in_soundcard bezeichnet den Eingang der Soundkarte bzw. die im Mixer ausgewählte Aufnahmequelle, out_soundcard den Ausgang. Sinnvollerweise sollten Aufnahmeprogramme mit ersterem und Wiedergabesoftware mit letzterem verknüpft sein. Das kann man mit einem Doppelklick auf das betreffende Programm aber auch ändern. So erscheint es sinnvoll, die Aufnahme mit out_soundcard zu verbinden, um zusammengemischte Klänge aus verschiedenen Programmen in eine Datei aufzunehmen.
Digitalisiertes Musikarchiv
Um die heimische CD-Sammlung in digitalisierter Form auf die Festplatte umzuspeichern, braucht man im KDE-eigenen Datei-Manager Konqueror lediglich die Zieladresse audiocd:/ eingeben – schon zeigt er die Tracks der eingelegten Audio-CD wie in Abbildung 5 an. Zusätzlich erscheint dort ein Unterverzeichnis Ogg Vorbis, das die Titel von der CD mit der Endung .ogg “enthält”. Zieht man diese – bislang noch nicht existierenden – Dateien per Drag&Drop in ein Verzeichnis auf der Festplatte, werden sie automatisch ins Ogg-Vorbis-Format [10] verwandelt. Auch wenn Konqueror grafisch einen normalen Kopiervorgang anzeigt, sollte man sich über die langsame Geschwindigkeit nicht wundern – schließlich liest der KDE-eigene I/O-Slavekio-audiocd dabei die Audio-Tracks aus und konvertiert sie.
Das Unterverzeichnis Kein Titel enthält ähnliche “Phantom”-Dateien für die einzelnen Stücke im Wave-Format. Sie lassen sich wie die Ogg-Vorbis-Pendants “kopieren”, also auslesen und nach .wav konvertieren.

Abbildung 5: Diese .ogg-Dateien gibt es noch nicht – sie entstehen erst beim “Umkopieren” auf die Festplatte
Von der Schallplatte zur Klangdatei
Komplizierter gestaltet sich das Digitalisieren von Liedern von einer Schallplatte. Statt in krec eine einzelne Datei auszuwählen, öffnet man mit [Strg-N] oder über den Menüpunkt Datei / Neue Sitzung einen Bereich, naheliegenderweise mit dem Namen der Platte, der die zu rippenden Dateien aufnimmt. Ein Rechtsklick auf diesen neuen “Sitzungseintrag” öffnet das Kontextmenü, das es mit Neue Datei erlaubt, die Zieldatei für den ersten Track zu erstellen. Ihr gibt krec den Sitzungsnamen und hängt als Endung -01.raw an. Auf diese Weise legt man soviele Dateien an, wie das Vinyl Stücke enthält. Bei deren Taufe zählt krec die Zahl vor dem Punkt automatisch hoch (Abbildung 6).
Für den ersten Song wählt man die erste Datei aus und drückt den roten Knopf. Am Ende des Liedes stoppt man die Aufnahme mit dem Stopp-Button manuell. Dieselbe Prozedur wiederholt sich bei @L: *-02.raw usw.
Hat man die Platte durch, liegen alle Stücke in einzelnen Dateien im Rohformat vor. Leider ist dieses in der Praxis kaum brauchbar, so dass man die Dateien erst passend – etwa nach Ogg Vorbis – umwandeln muss. Soll die Schallplatte hingegen auf CD archiviert werden, spart man sich den prozessorlastigen Komprimierungsprozess und konvertiert ins Wave-Format.
Ob Ogg, MP3 oder Wave – an dieser Stelle ist KDE mit seinem Latein zu Ende. Doch springt das Kommandozeilen-Tool SoX (“Sound exchange” [7]),das nicht ganz zu Unrecht selbsternannte “Schweizer Taschenmesser” unter den Sound-Bearbeitungsprogrammen, in die Bresche:
sox -r 44100 -c 2 -s -w test-01.raw test-01.ogg
konvertiert die aufgenommene Datei test-01.raw in die Ogg-Vorbis-Datei test-01.ogg. Soll eine Wave-Datei anstelle von Ogg Vorbis entstehen, ändert man einfach den Namen der Ausgabedatei in test-01.wav. SoX erkennt an der Endung, welches Ausgabeformat es wählen soll. Der Parameter -r 44100bewirkt, dass die Datei mit einer Samplingrate von 44100 Hertz kodiert wird. Handelt es sich um eine Stereo-Aufnahme (der Normalfall), setzt -c 2 die Anzahl der Kanäle auf zwei fest. Bei Mono-Aufnahmen heißt der entsprechende Parameter -c 1. -s und -w legen Details über das Ausgangsformat fest; Details gibt die SoX-Manpage mit man sox preis.
Schluss mit “stop and go”
Eine gesamte Plattensammlung nach diesem Verfahren – Datei anlegen, Aufnahme starten, Aufnahme stoppen, das Ganze von vorn – zu digitalisieren, ist Fleißarbeit. Da kommt das – ebenfalls textbasierte – Programm gramofile [8,11] gerade recht, das in einer großen, eine ganze Platte umfassenden Wave-Datei die einzelnen Stücke erkennt. Statt einzelner Tracks nimmt man so mit krec die gesamte Schallplatte in eine einzige Datei auf und wandelt diese ins Wave-Format um.
Im gramofile-Hauptmenü (Abbildung 7) wählt man anschließend Punkt 3 Locate tracks und anschließend das aufgenommene Wave-File aus. Das Tool erstellt eine Analyse, die es in einer .tracks-Datei speichert. Markiert man danach Punkt 4 Process the audio signal, teilt es das Wave-File entsprechend der darin abgelegten Angaben in die gefundenen Lieder auf.
Ein weiteres Konsolen-Programm namens normalize[9] passt die Lautstärke verschiedener Wave-Dateien einander an:
normalize -b track-01.wav track-02.wav […]
Das macht sich insbesondere dann bezahlt, wenn Stücke, die gemeinsam auf eine CD gebrannt werden sollen, von verschiedenen Quellen mit voneinander abweichenden Lautstärken stammen. Ganz ohne Kommandozeilenhelfer geht es unter KDE halt doch noch nicht.
Glossar
-
Daemon
-
Unter Unix Bezeichnung für einen Server, der die ganze Zeit über im Hintergrund läuft und darauf wartet, dass andere Programme seinen Dienst in Anspruch nehmen.
-
Bus
-
In diesem Zusammenhang eine dynamisch erzeugte Verbindung zum Transport von Audiosignalen. aRts benutzt solche Busse beispielsweise für die Ausgabe von Klängen aus verschiedenen Quellen auf einem Ausgang der Soundkarte.
-
I/O-Slave
-
Ein Input-/Output-Slave ist ein Hintergrund-Programm, das von KDE-Anwendungen Daten annimmt und sie entsprechend weiterverarbeitet wieder zurückgibt.
Infos
[1] http://www.arts-project.org/
[3] http://www.alsa-project.org/
[4] http://bugs.kde.org/show_bug.cgi?id=56059
[6] http://bytesex.org/krecord.html
[7] http://sox.sourceforge.net/
[8] http://panic.et.tudelft.nl/~costar/gramofile/
[9] http://www1.cs.columbia.edu/~cvaill/normalize/
[10] Andrea Müller: “Musik ab”, EasyLinux 06/2003, S. 45 ff.
[11] Christian Perle: “Aufgemöbelt”, LinuxUser 03/2001, S. 24 f., http://http:/ /www.linux-user.de/ausgabe/2001/03/024-ootb/gramofile-5.html










