Inhaltsverzeichnis
Audio unter Linux ist nach wie vor ein etwas kniffeliges Thema. Grob vereinfacht folgt hier eine kurze Zusammenfassung des derzeitigen (Januar 2004) Standes.
Um doppelte Inhalte zu vermeiden soll hier nur eine kurze Einführung gegeben und die jeweiligen Spezialthemen kurz angerissen werden, damit man sich einen Überblick verschaffen kann. Die Einzelheiten sollen dann auf den jeweiligen Einzelseiten geklärt werden.
Programme sind auch unter LinuxMultimedia aufgeführt!
ToDo: Diese Seite mal durchgehen und ggf. Passagen auf die jeweiligen Einzelseiten verschieben.
Treiber
Um auf Audio-Hardware zugreifen zu können, bedarf es eines passenden Treibers. Hierzu gibt es zwei verschiedene Systeme:
Das (ältere) OSS (OpenSoundSystem)
Die (modernere) ALSA (AdvancedLinuxSoundArchitecture)
Bis zum Kernel 2.4 war nur OSS in den Kernel integriert. Allerdings haben Distributionen wie Mandriva und SuSE bereits seit längerem ALSA in den 2.4er Kernel eingebaut. Auch unter Debian wird inzwischen typischerweise ALSA verwendet.
Ab Kernel 2.6 existieren im Kernel beide Treiberpakete. OSS wird daher über kurz oder lang von ALSA abgelöst werden, da OSS nur einen vergleichsweise einfachen Funktionsumfang bietet, ALSA jedoch alles, was ein moderner Audio-Arbeitsplatz benötigt, mitbringt. Derzeit werden jedoch auch für OSS nach wie vor neue Treiber zur Verfügung gestellt, und so wird es noch eine Weile eine friedliche Koexistenz geben.
Unter OSS wird die Hardware UN*X-typisch über Device-Dateien angesprochen. Unter ALSA sieht das ein wenig anders aus. Aus Gründen der Rückwärtskompatibilität unterstützt ALSA jedoch auch Programme, die OSS-typisch über die Device-Dateien auf die Audio-Hardware zugreifen möchten.
Eine Liste der unter OSS verwendbaren Gerätedateien finden sich in der (veralteten) Sound-HowTo unter http://www.fokus.gmd.de/linux/german/dlhp/veraltet/DE-Sound-HOWTO-6.html. Ein kurzer Auszug der wichtigsten Geräte:
/dev/audio normalerweise eine Link auf /dev/audio0
/dev/audio0 (Sun Workstation-kompatibles) Audiodevice
/dev/dsp normalerweise ein Link auf /dev/dsp0
/dev/dsp0 erstes digitales Sampling-Device
/dev/mixer Soundmixer
Welches System soll ich nehmen
Nicht jeder benötigt den Leistungsumfang von ALSA. Wer also nur gelegentlich Musik hören möchte, für den kann OSS ausreichend sein. Für alle jedoch, die etwas mehr wollen, empfiehlt sich ALSA. Spätestens wenn Sie ein MIDI-Keyboard an Ihren Rechner anschließen möchten, kommen Sie um ALSA (fast) nicht mehr herum. Im folgenden beziehen sich die meisten Aussagen auf ALSA, ansonsten ist OSS explizit erwähnt.
Konfiguration
Ist ALSA installiert, kann man es als root mit dem Befehl alsaconf einrichten. Dabei wird das System automatisch auf die vorhandene Hardware geprüft und dann die benötigten Module in der Datei /etc/modules.conf (bzw. /etc/modprobe.conf ab Kernel 2.6) eingetragen.
Dem Autor ist es bereits untergekommen, dass ein ALSA-Paket die Datei /etc/modules.conf komplett überschrieben und alle anderen Einträge entfernt hat. Dies lag sicher nicht an ALSA selbst, sondern an einem experimentellen Paket, aber dennoch sollte unbedingt vor dem Aufruf von alsaconf eine Sicherungskopie der Datei /etc/modules.conf angefertigt werden!
Nach der Konfiguration mit alsaconf ist die Audio-Hardware bereits einsatzbereit.
Audio-Mixer
Je nach Leistungsumfang der Soundkarte möchte man Zugriff auf die einzelnen Kanäle haben. Dazu bedient man sich eines Mixers, einer Art einfachem digitalen Mischpult. Mit einem Mixer lassen sich die einzelnen Kanäle der Soundkarte (Mikrophoneingang, Line in, Line out, CD-Laufwerk, klangerzeugende Programme (=PCM)) zueinander regeln. Allerdings gibt es eine große Auswahl an Mixern, und die Auswahl muss zwingend passend zum eigenen Audiosetup und -system passen, ansonsten sich schnell Frust einstellt. Eine kleine Übersicht verschafft die folgende Auflistung:
alsamixer ist eine Konsolenapplikation, die Zugriff auf alle Regler gestattet. Allerdings ist dieser Mixer etwas unübersichtlich zu bedienen und führt nicht immer (siehe auch 'Audio-Aufnahme über Mikrophon') zum Erfolg
qamix ist ein QT-basierter Mixer, der übersichtlich zu bedienen ist. Derzeit ist dieser leider schwer zu bekommen und liegt vielen Distributionen nicht bei
kamix ist das selbe wie qamix, nur mit besserer KDE-Integration
kmix ist ein kleines Panel-Applet für KDE, mittels dessen man recht schnell Zugriff auf die Master-Lautstärke und auf die einzelnen Eingabekanäle der Soundkarte hat
ArTS ist nicht nur ein Mischer, sondern eine Art Zwischenlayer, der sich zwischen Programme (mit ArTS-Unterstützung) und die Hardware einschiebt. Er ermöglicht somit etwas, was normalerweise nicht möglich ist, nämlich dass mehrere Programme gleichzeitig Sound ausgeben können. ArTS sammelt dazu alle Audioströme der verschiedenen Programme ein, mischt diese zusammen und gibt diese auf das Audiogerät aus. ArTS kann mit OSS, ALSA und ab KDE 3.3 auch mit JACK zusammenarbeiten
ArTS gehört eigentlich zum KDE-Projekt, lässt sich jedoch auch ohne KDE-Installation betreiben. Voraussetzung: die Audio-Programme, die zum Einsatz kommen sollen, müssen die AUsgabe auf ArTS unterstützen
- Neben ArTS für KDE existieren ähnlich Lösungen auch für andere Window-Manager
Mikrophoneingang
Um das Mikrophon verwenden zu können (VoIP etc.), muss im Mixer der entsprechende Kanal (beispielsweise 'Mic1') hochgezogen werden, damit die Soundkarte das am Eingang ankommende Signal auch der Summe wieder beimischt. Hat der Rechner ein Mikro eingebaut, so sollte dieses beim Einstecken eines externen Mikrophones automatisch (mechanisch über die Klinkenbuchse) getrennt werden.
Audio-Aufnahme über Mikrophon
Soll vom Mikrophon auch aufgenommen werden, so sollte sounkartenintern die Verbindung von Lautsprechern zu Mikrophon unterbrochen werden, um unangenehmes Feedback zu vermeiden. Ansonsten kann es zu Schäden an der Hardware kommen. Vorher ist eine Aufnahme nicht möglich.
Dem Autor ist dies nicht mit alsamixer, sehr wohl aber mit qamix bzw. kamix gelungen. Ergänzung: Mit gnome-volume-control geht es auch: In den Einstellungen die Sichtbarkeit von "Microphone Capture" aktivieren. Der Punkt ist nun unter "Switches" sichtbar. Hier kann man dann "Microphone Capture" abschalten.
Weitere Soundsysteme
Wer unter Linux professionell (oder gerne auch semiprofessionell ) Musik machen möchte, braucht fast zwangsweise JACK, das Realtime audio connection kit, siehe dort.
- Eigentlich sollte es so möglich sein, vom Mikrofon aufzunehmen und in eine Datei zu schreiben:
dd bs=8k </dev/audio >sample.au
mit ctrl-c abbrechen
Wieder abspielen:
cat sample.au >/dev/audio
Leider kommt nur ein piepen. OffeneFrage: Wie kommt's? Probier dasselbe mal mit /dev/dsp. Das funktioniert bei mir.
Lautsprecher + Kopfhörer anschließen
Was tun, wenn man onboard-Sound hat mit nur einem Ausgang, aber Lautsprecher und Kopfhörer benutzen will. Natürlich nicht gleichzeitig, aber es ist schon sehr lästig, jedesmal unter den Schreibtisch zu kriechen und umzustöpseln.
- T-Adapter kaufen / bauen ?
- neue Soundkarte mit 2 Ausgängen besorgen ?
- Den Rechner an die Stereo-Anlage anschließen? Dann könnte man dort bequem von Lautsprecher auf Kopfhörer wechseln.
- Verlängerungs-Kabel, und da dran umstöpseln
Frage: Wie kann ich das aufnehmen was bei mir aus dem Lautsprecher dröhnt? -- ThomasHochstetter 2004-10-08 23:14:54
Antwort : Du könntest z.b. ein Mikrophon vor den Lautsprecher stellen, wahlweise sollte es auch tun, wenn du "line-Out" mit "line-In" verbindest. Dabei aber auf den Abspiellautstärke achten... JochenWeihgold
Antwort_2: Schau Dir mal das Paket "jack_capture" an. Das soll genau für diesen Zweck da sein. MartinRenzler