12.3 Audio 

Nachdem wir uns in den vorangegangenen Abschnitten intensiv mit der Verfügbarkeit und dem Installieren von Codecs beschäftigt haben, macht es Sinn, sich die Sound-Architektur von Ubuntu detaillierter anzusehen.
Eine Sound-Architektur ist essenziell nötig für sämtliche Klänge, die Ihr Computer aus den Lautsprechern ausgeben kann. Diese Aufgabe ist bei Weitem nicht so trivial, wie es zu Beginn den Anschein hat. Eine Sound-Architektur besteht aus zwei Komponenten:
- dem Soundsystem – Es stellt die Grundlage dar (Treiber für Hardware, Aus- und Eingabe).
- dem Soundserver – Er richtet die Infrastruktur für die Kommunikation verschiedener Anwendungen mit dem Soundsystem ein.
Wir werden uns im Folgenden näher mit diesen beiden Komponenten beschäftigen.
12.3.1 ALSA und PulseAudio – das Soundsystem 

ALSA (Advanced Linux Sound Architecture) ist ein freies Linux-Kernel-Modul, das eine große Anzahl von unterschiedlichen Kernel-Treibern für Soundkarten durch einen einzelnen Gerätetreiber abstrahiert. Diese Abstraktion hat den Vorteil, dass die Unterschiede verschiedener Soundkarten intern behandelt werden und somit den darüberliegenden Soundservern eine einfache Kommunikation mit verschiedenen Soundgeräten ermöglicht wird.
Das Projekt entstand 1998 ursprünglich als Treiber für eine einzelne Soundkarte und wurde erst 2002 in den Entwicklungszweig der Kernel-Version 2.5 aufgenommen. Mit der Kernel-Version 2.6 löste ALSA im Dezember 2003 das veraltete Open Sound System (OSS) ab.
ALSA bietet folgende Vorteile:
- guter Support für alle Arten von Audioschnittstellen wie normale Soundkarten oder professionelle Multichannel-Soundkarten
- modularisierte Soundtreiber
- ein multiprozessor- und thread-sicheres Design
- eine Userspace-Bibliothek (alsa-lib), die die Anwendungsentwicklung vereinfacht und eine höhere Funktionalität bietet
- Unterstützung für das alte OSS-Interface zwecks Kompatibilität mit den meisten OSS-Programmen
- bessere Qualität der Treiber gegenüber den entsprechenden OSS-Varianten.
Die Konfiguration von ALSA läuft dabei gar nicht so anders wie die von OSS ab. Sie müssen auch die entsprechenden Module samt Parametern laden. Damit man die ALSA-Module von ihren entsprechenden OSS-Äquivalenten unterscheiden kann, haben diese alle ein snd- vor ihrem Namen.
Listing 12.1 Ausgabe der Module
# lsmod Module Size Used by ... snd_via82xx 25184 3 snd_seq_oss 34560 0 snd_seq_midi_event 7936 1 snd_seq_oss ... snd 52516 17 ...
PulseAudio
Mit der Version 8.04 »Hardy Heron« leitete Ubuntu den Wechsel von dem einen zum anderen Soundserver ein. Der vorher weitverbreitete Enlightened Sound Daemon (ESD) wird sukzessive durch eine völlige Neuentwicklung ersetzt. Dieser neue Soundserver hört auf den NamenPulseAudio (ehemals Polypaudio, http://pulseaudio.org/). ESD wurde ursprünglich u. a. für GNOME entwickelt; bei KDE heißt der Soundserver analog RealTime synthesizer (aRTs).
Ein Soundserver ist ein Prozess, der im Hintergrund auf eingehende Audiodateien wartet und diese an eine sogenannte Senke weiterleitet. Eine Senke kann hierbei Folgendes sein:
- eine lokale Soundkarte in Ihrem PC
- ein anderer Soundserver im Netzwerk
- ein Client, der das Real-Time Transport Protocol versteht
Real-Time Transport Protocol
Das Real-Time Transport Protocol (RTP) ist ein Protokoll zur kontinuierlichen Übertragung von audiovisuellen Daten (Streams) über IP-basierte Netzwerke. Es dient dazu, Multimedia-Datenströme (Audio, Video, Text etc.) über Netzwerke zu transportieren, d. h., die Daten zu kodieren, zu paketieren und zu versenden.
Es findet Anwendung in vielen Bereichen, u. a. wird es bei den IP-Telefonie-Technologien H.323 und SIP dazu verwendet, die Audio-/Video-Streams des Gesprächs zu übertragen.
Adapter
PulseAudio verwendet sogenannte Adapter, die es den Anwendungen erlauben, andere Soundsysteme zu nutzen. Diese Adapter sorgen unter anderem dafür, dass wirklich alle Audioströme über PulseAudio umgeleitet werden. Der Server arbeitet als Vermittler dieser Daten.
In Abbildung können Sie sehen, wie die typischen Arbeitsabläufe des PulseAudio-Servers sind. Die Daten werden ausgehend von einer Anwendung an den Soundserver übergeben, der diese dann meistens direkt bis zu den Hardware-Treibern »durchschleift«. An dieser Stelle erfolgt nun entweder eine direkte Wiedergabe, also die Ausgabe an die entsprechende Hardware, oder die Weiterleitung zurück an den Soundserver. Der Soundserver wiederum kann nun entscheiden, ob er die Daten anderen Anwendungen zur Verfügung stellt oder sie eventuell über ein Netzwerk verteilt.
Probleme mit Flash
PulseAudio hat aufgrund der noch recht jungen Integration in Ubuntu einige Probleme mit der Abstimmung von verschiedenen Audioquellen. Eines dieser Probleme betrifft das Flash-Plug-in. So führt das Abspielen von MP3-Dateien zu einem Tonverlust von gleichzeitig laufenden Flash-Filmen.
Die Lösung besteht in der Installation des Pakets libflashsupport:
sudo apt-get install libflashsupport
Abbildung 12.8 Diese Darstellung der Kommunikationswege zeigt auf, wie der PulseAudio Server vom Netzwerk über die Hardware und den Kernel bis hin zu den Anwendungen Daten verarbeitet (Quelle: http://rudd-o.com/). An der Darstellung kann man erkennen, warum der Server zu Beginn den Namen »PolypAudio« erhielt.
12.3.2 Wiedergabe von CDs 

»Normale« Audio-CDs lassen sich ohne Probleme mit dem integrierten CD-Abspieler wiedergeben. Legen Sie dazu einfach die CD in Ihr CD/DVD-Laufwerk.
CDDB-Datenbank
Unter Ubuntu/GNOME startet kurze Zeit nach dem Einlegen einer CD eine Abfrage, mit der Sie das für die Wiedergabe von CDs verantwortliche Standardprogramm Rhythmbox starten können. Besteht eine Verbindung zum Internet, so holt sich das Programm die Titelliste aus der CDDB-Datenbank.
Unter KDE ist der Dragon Player auch für die Wiedergabe und K3b für das Auslesen von AudioCDs zuständig. Allerdings ist nur K3b mit eingelegten Audio-CDs verknüpft, sodass nach dem Einlegen der CD das Auslesen mit k3B aus einer Liste gewählt werden kann. Zum Abspielen muss zunächst der Dragon Player gestartet werden und dann Medien wiedergeben gewählt werden. Sowohl Dragon Player als auch K3b holen sich die Titelliste aus der CDDB-Datenbank.
Abbildung 12.9 CDs anhören mit dem Dragon Player
12.3.3 Codieren von Audiomaterial 

Immer beliebter werden die kleinen praktischen USB-Memorysticks, die über integrierte Encodierroutinen für MP3- bzw. Ogg-Vorbis-Dateien verfügen. Um Ihre Musikstücke zunächst zu codieren, gibt es mehrere Möglichkeiten.
Soundjuicer
Um CDs auszulesen (neudeutsch rippen), eignet sich das Programm Soundjuicer, das Sie mithilfe von Synaptic oder über die Kommandozeile installieren können:
sudo apt-get install soundjuicer
Über die Schaltfläche Auslesen werden die vorgewählten Titel als Ogg-Vorbis-Dateien in das Heimatverzeichnis transcodiert und können danach auf einen gängigen USB-Ogg-VorbisPlayer (immer mehr Memorystick-Player beherrschen mittlerweile auch die Decodierung von Ogg-Vorbis-Dateien) befördert werden.
Abbildung 12.10 CDs anhören und rippen mit dem Soundjuicer
Mit K3b
Ubuntu-Nutzer können den oben beschriebenen Sound Juicer auch zum Codieren von Audiomaterial nutzen. Kubuntu-Nutzer greifen hier auf K3b zurück.
Abbildung 12.11 CDs auslesen mit K3b
Nach dem Start von K3b wählen Sie den Menüpunkt Extras • Audio-CD auslesen ... aus. Im folgenden Dialog wählen Sie Audio-Stücke anzeigen aus. Ihnen werden nun alle auf der CD befindlichen Musikstücke angezeigt, Sie können nun einzelne Stücke abwählen, falls diese nicht ausgelesen werden sollen. Nach einem Klick auf Auslesen starten (über der Titelliste) erscheint ein Dialogfenster, in dem Sie weitere Einstellungen wie das gewünschte Codierungsformat vornehmen können. Sofern Sie das Paket lame installiert haben, steht Ihnen auch das MP3-Format zur Verfügung. Das Codieren als Ogg Vorbis ist ohne zusätzliche Pakete möglich. Mit Auslesen starten beginnt der Codiervorgang.
Über die Kommandozeile
Die folgende Kurzanleitung zeigt Ihnen, wie Sie von einer Kommandozeile ausgehend Stücke von einer CD in die entsprechenden Formate umwandeln. Stellen Sie sicher, dass folgende Pakete bzw. Programme auf Ihrem PC installiert wurden:
- cdparanoia
- vorbis-tools
- lame (für MP3-Unterstützung)
Zusatzpaket zur Wiedergabe
Einige der Pakete befinden sich im Universe- bzw. Multiverse-Repository. Wollen Sie MP3- Dateien auch wiedergeben können, so benötigen Sie zusätzlich das Paket gstreamer0.10plugins-ugly.
| 1. | Legen Sie die CD Ihrer Wahl in ein freies Laufwerk ein. Ein bestimmter Titel wird zunächst mit dem Befehl |
cdparanoia <Titelnummer> titel_nr.wav
| 2. | auf die Platte befördert. <Titelnummer> ist hierbei eine ganze Zahl, die die Nummer des Tracks angibt, den Sie auf den PC befördern (»rippen«) möchten. Das Rip-Programm cdparanoia erwartet dabei, dass das Audiomedium über den Standard-Link /dev/cdrom angesprochen werden kann; diesen müssen Sie gegebenenfalls an das System anpassen. Ein Fortschrittsbalken zeigt den aktuellen Transferstatus an. |
| 3. | Nun können Sie zunächst den Platzbedarf der auf den Rechner übertragenen Datei inspizieren: |
ls –lah titel_nr.wav
| 4. | Ein durchschnittliches Stück nimmt zwischen 30 MB und 50 MB Datenvolumen ein. |
| 5. | Die wav-Datei soll schließlich komprimiert werden. Dazu verwenden Sie bitte den Befehl oggenc des Ogg-Vorbis-Pakets. Ein Komprimierungsbefehl könnte z. B. wie folgt aussehen: |
oggenc titel_nr.wav –q 6 –o titel_nr.ogg
| 6. | Wenn das Musikstück in das MP3-Format encodiert werden soll, so geschieht dies mit folgendem Encodierbefehl: |
lame –h –V 6 titel_nr.wav titel_nr.mp3
| 7. | Dabei wurde jeweils die Qualitätsstufe 6 gewählt; das Maximum an Qualität liegt bei 10. Ein erneuter Blick auf die Größe der erzeugten Dateien zeigt den Erfolg der Kompression: |
ls –lah 2,8M 2005-12-05 20:22 titel_nr.mp3 4,2M 2005-12-05 20:16 titel_nr.ogg 33M 2005-12-05 20:11 titel_nr.wav
| 8. | Die durchschnittliche Kompressionsrate liegt je nach gewählter Qualitätsstufe bei etwa einem Zehntel der Originaldateigröße. |
12.3.4 Bearbeitung von Audiodateien 

Nachdem nun einige Musikstücke ihren Weg auf den Rechner gefunden haben, wünscht man sich oft, diese neu abzumischen oder auch einfach nur zu schneiden. Dazu bietet sich der Soundeditor Audacity an, der sogar als professionelles Mehrkanaltonstudio eingesetzt werden kann.
Installieren Sie die Software mittels sudo apt-get install audacity.
Abbildung 12.12 Audacity – das Linux-Tonstudio
Nach der Installation rufen Sie das Programm über Anwendungen • Unterhaltungsmedien • Audacity auf. Nach dem Start müssen Sie zunächst die Menüsprache auswählen, danach können Sie über Datei • Öffnen ein Audiosample in den Editor laden, z. B. einen der im letzten Abschnitt gerippten CD-Tracks.
Anwendungsbeispiel
Als kleines Projekt soll im Folgenden der Mittelteil eines importierten Stücks isoliert werden sowie mit einer Ein- und Ausblendung und einem Effekt versehen werden.
| 1. | Markieren Sie mit der Maus einen Bereich vom Beginn des Stücks sowie einen Bereich am Ende des Stücks, und löschen Sie diesen entweder mit der Taste (Entf) oder durch Anklicken des Scherensymbols in der Icon-Leiste. Zur besseren Orientierung lässt sich das Musikstück mit den üblichen Kontroll-Buttons im Editor wiedergeben. Das Löschen funktioniert nur dann, wenn Sie sich nicht im Wiedergabemodus befinden. |
| 2. | Für die Einblendung des Anfangsteils markieren Sie eine etwa 10-sekündige Sequenz mit der Maus und wählen im Menü Effekt den Punkt Einblenden. Verfahren Sie analog zum Ausblenden des Stücks. |
| 3. | Nun sollten Sie einen weiteren Effekt testen. Spaßeshalber möchten wir das geschnittene Stück rückwärts abspielen. Dazu wählen Sie zunächst das komplette Stück mittels |
Selbstverständlich können Sie auch »ernsthaft« mit Audacity arbeiten. Über den Punkt Projekt • Neue Tonspur können Sie beliebig viele Tracks zum Projekt hinzufügen und abmischen, sodass Ihrer Kreativität keine Grenzen gesetzt sind. Nach vollendeter Arbeit kann das Ergebnis dann je nach Anzahl und Art der installierten Audio-Encoder-Bibliotheken in das WAV-, Ogg-Vorbis- oder MP3-Format exportiert werden (Datei • Exportieren als ...).
| UbuntuStudio verwenden |
|
Wenn Sie sich ein Tonstudio unter Ubuntu aufbauen möchten, sollten Sie sich das Ubuntu-Derivat Ubuntustudio näher ansehen. Sie finden es auf der beiliegenden DVD Nr. 2 oder im Internet unter www.ubuntustudio.org. |
|
Der Umfang der integrierten Programme in UbuntuStudio reicht selbstverständlich nicht an kommerzielle Programme heran, aber für Hobby-Musiker sollte es reichen. Sie erhalten weitere Informationen in Abschnitt »UbuntuStudio« ab Seite . |
Gstreamer
GStreamer (http://gstreamer.freedesktop.org/) ist ein Multimedia-Framework, das das Abspielen, Codieren, Decodieren etc. von Audio- und Videodateien ermöglicht. Anders, als der Name vermuten lässt, ist GStreamer desktop-unabhängig. Zwar ist GStreamer seit Gnome 2.2 ein fester Bestandteil der Desktop-Umgebung, funktioniert aber auch genauso problemlos mit anderen Desktop-Umgebungen wie z. B. KDE oder auch Xfce. Viele Audio- und Video-Player können die Fähigkeiten von Gstreamer nutzen, so z. B. Totem, Rhythmbox oder Banshee. Amarok unterstützt in der Version 1.4 GStreamer leider nicht mehr und verwendet stattdessen Xine (siehe Abschnitt »Xine« ab Seite . GStreamer ist prinzipiell modular aufgebaut und arbeitet dreistufig. Es gibt die Eingabe (»Source«), den Filter/Transformer (beispielsweise den Ogg-Vorbis-Decoder zum Abspielen von .ogg-Audio-Dateien) und die Ausgabe (»Sink«). Alle drei Stufen werden über Plug-ins realisiert und sind somit grundsätzlich erweiterbar. Die Blöcke sind über sogenannte Pipelines verbunden.
GStreamer ist in der Standardinstallation von Ubuntu enthalten, kann ansonsten aber über das Paket libgstreamer0.10-0 installiert werden. Weiterhin sind noch die Pakete gstreamer0.10-tools und gnome-media (enthält das Paket gstreamer-properties) sinnvoll.
Um Multimedia-Dateien abzuspielen bzw. zu kodieren, benötigt man noch ein entsprechendes Plug-in, das den Decoder/Encoder enthält. Codecs für GStreamer, die lizenzrechtlich geschützt sind, können im Fluendo-Webstore gekauft und heruntergeladen werden. Nutzt man ein Audio- oder Videoprogramm, das GStreamer im Backend einsetzt, so verwendet man GStreamer, ohne direkt auf GStreamer zuzugreifen. Durch den Aufruf des Hilfsprogramms gstreamer-properties kann man jedoch die Vorgabe für die Eingabe (Source) und Ausgabe (Sink) getrennt für Audio und Video mittels einer grafischen Benutzeroberfläche auswählen.
Kategorien
Die Codecs sind in fünf Kategorien aufgeteilt, abhängig von der Lizenz, der sie unterliegen. Base und good beinhalten Codecs, bei denen es keinerlei lizenzrechtliche Probleme gibt. In der Kategorie bad liegen neue Codecs, die noch nicht ganz ausgereift sind. Nach ausführlicher Erprobung wandern sie in base oder good.
| Umwandeln von Audiodateien |
|
Um mal schnell ein paar Audio-Dateien zu konvertieren, eignet sich das Programm soundconverter hervorragend. Sie installieren es durch folgendes Kommando: |
| sudo apt-get install soundconverter |
|
Das Programm ist zwar mangelhaft ins Deutsche übersetzt, lässt sich aber dennoch einfach und intuitiv bedienen. Dabei werden die Formate Ogg-Vorbis, FLAC, Wave und MP3 unterstützt. Für MP3 benötigen Sie zusätzlich das Paket gstreamer0.10-plugins-ugly-multiverse. Sie starten das Programm über Anwendungen • Unterhaltungsmedien • Sound Converter. |
Klangthemen
Klangthemen werden in GNOME nun durch libcanberra verwaltet, welche die Freedesktop.org »Sound Theme and Naming«-Spezifikation implementiert. Klangthemen können nun genauso einfach wie grafische Themen installiert werden. Dank libcanberra geraten Alarmklänge von Anwendungen nicht mehr in Konflikt mit Ihrer Musik- oder Videoanwendung. Sie können beispielsweise diese wichtigen Klänge eingeschaltet lassen, während sie im Vollbild-Modus einen Film anschauen. Sie erreichen die Einstellung dieser Klangthemen über System • Einstellungen • Audio (Klänge).









Jetzt bestellen







