Start   Impressum   Lizenz         online lesen   Download         Online-Shop   Jumping Blue Turtle

Debian für Unternehmer - Debian-Know-how

1250: Sound-System

In der Regel sollte Ihr Debian-Linux unter KDE Sound-Ausgaben von Hause aus unterstützen. In diesem Modul zeige ich Ihnen:

  • die groben technischen Grundlagen der Sound-Unterstützung,
  • Software zum Steuern der Soundausgaben und zum Abspielen von Multimedia-Inhalten und
  • wie Sie die Sound-Ereignisse im KDE steuern können.

1. Technische Grundlagen

Es gibt zwei verschiedene Architekturen, mit denen Sound-Unterstützung möglich ist.

  • OSS: Das Open Sound System ist ein Treibersystem für Soundkarten, das auf verschiedenen UNIX-Systemen anzutreffen ist. Ursprünglich arbeitete auch Linux mit OSS. Da OSS einige Nachteile hat, verwendet Linux seit Kernel 2.6 standardmäßig ALSA. Mehr über OSS können Sie in der deutschen und der englischen Wikipedia nachlesen.
  • ALSA: Die Advanced Linux Sound Architecture kommt seit Kernel 2.6 auf Linux-Systemen standardmäßig zum Einsatz. Die englische Wikipedia enthält zu diesem Thema einen sehr spannenden Artikel.

2. Integrierte Sound-Chips versus externe USB-Sound-Karten

Wenn Sie beim Kauf darauf geachtet haben, dann hat Ihre Hauptplatine einen integrierten Sound-Chip. Manchmal entspricht er den Anforderungen, manchmal auch nicht. Wenn nicht, dann gibt es externe USB-Mikrofone zu kaufen, die technisch nichts weiter als Soundkarten mit angebautem Mikrofon darstellen. Zum Skypen ist ein USB-Mikrofon oft die deutlich bessere Wahl, weil Sie dann in Telefonkonferenzen (mehr als 2 Gesprächspartner) von allen Teilnehmern laut und deutlich verstanden werden können.

Wenn der integrierte Sound-Chip gut genug ist, dann sollte Debian diesen Chip auf Anhieb erkennen. Bei externen USB-Sound-Karten gilt zu beachten, dass diese Geräte bereits vor dem Booten angesteckt werden müssen, damit das Sound-System diese ordentlich erkennt und an erster Stelle priorisiert.

3. Software

Ich stelle Ihnen hiermit diverse Tools vor, mit denen Sie auch unter KDE arbeiten können, ohne ein schwerfälliges Gnome installieren zu müssen.

3.1. Mixer (inklusive Lautstärkeregelung)

Der Mixer in einer KDE-Umgebung heißt "kmix". Auf Shell-Ebene starten Sie ihn wie folgt:

kmix

Im KDE-Start-Menü finden Sie ihn hier:

  • K → Multimedia → KMix - Sound Mixer

Weitere interessante Mixer neben kmix sind:

  • gamix: "gamix" bietet mehr technische Raffinessen als "kmix" und ist trotzdem vergleichbar benutzerfreundlich.
  • alsamixergui: Das ist ein etwas gewöhnungsbedürftiges Tool, bietet aber recht viele Einstellungen.
  • alsamixer: Dieser Mixer arbeitet mit ASCII-Grafik und funktioniert innerhalb einer Shell. Sie können mit ihm auch dann arbeiten, wenn kein X-Window-System läuft.
  • amixer: Dieser Befehl verzichtet komplett auf ein GUI jeglicher Art. Sie können dem "amixer" aber Kommandozeilenargumente übergeben und auf diese Weise dann die Lautstärke der jeweils gewünschten Kanäle regeln.

3.2. MPlayer

Es gibt sicherlich diverse Player, mit denen Sie Filme, MP3s oder sonstige Inhalte abspielen können.

Nach einigen Jahren Debian-Erfahrung stelle ich heute (März 2010) fest, dass ich die ganze Zeit eigentlich nur ein einziges derartiges Tool benutzt hatte. Gemeint ist der "MPlayer".

Installieren Sie den MPlayer wie folgt:

apt-get install mplayer

Tatsächlich ist der MPlayer so vielseitig, dass, wenn Sie ihn einmal schätzen gelernt haben, Sie kein weiteres Tool mehr benötigen. Der MPlayer kann mindestens folgende Inhalte abspielen:

  • MP3-Dateien
  • Flash-Videos
  • Filme aller Art
  • Musik aller Art
  • CDs und DVDs (Filme, Musik)
  • Internetradio

Gerade, weil der MPlayer ein Kommandozeilentool ist und daher in Skripten verwendet werden kann, kann mit dem MPlayer sehr intuitiv gearbeitet werden:

  • Sie können sich Shell-Skripte schreiben, die Sie von einem Dateibrowser aus (z.B. per Midnight-Commander) starten können. Machen Sie sich pro Internetradio-Station ein Shell-Skript. Browsen Sie dann per Midnight-Commander durch die Liste der Stationen. Starten Sie ein Skript und lassen Sie per Skript ein xterm aufpoppen, welches dann sofort anfängt, die Radio-Station wiederzugeben. Ich verspreche Ihnen, wenn Sie sich so etwas mal gebastelt haben, dann werden Sie sich wie im Paradies fühlen :-)

Sie können mit dem MPlayer per Tastatur die Wiedergabe extrem komfortabel regeln. Hier eine Kostprobe:

  • Leertaste: Film anhalten / Film weiter abspielen
  • f: Vollbild
  • * (Zehnerblock): lauter
  • / (Zehnerblock): leiser
  • ]: 10% schneller
  • [: 10% langsamer
  • }: doppelt so schnell
  • {: halb so schnell
  • .: langsam von Frame zu Frame vortasten

Die Kommandozeilenparameter sind ebenfalls sehr nützlich. Beispiel:

mplayer -loop 0 -fs -speed 1.2 filmdatei

Hiermit befehlen Sie, dass der in der Datei "filmdatei" gespeicherte Film abgespielt werden soll.

  • -loop 0: Film unendlich oft abspielen. Wenn er zu Ende ist, von vorn beginnen.
  • -fs: Vollbild
  • -speed 1.2: Film in 1,2-facher Geschwindigkeit abspielen

Für fast alle Wünsche gibt es sowohl einen Shortcut auf der Tastatur als auch einen Kommandozeilenparameter. Alles ist beliebig kombinierbar. Niemand wird Sie gängeln. Sie möchten eine Internetradio-Station in 0,8-facher Geschwindigkeit abspielen? Bitte sehr! Wärend Ihnen woanders jemand erklären würde, dass Sie das nicht wollen und deshalb die Software streikt, gibt es derartige Spaßbremsen hier nicht! Sie können selbstverständlich auch Internetradio-Stationen in 0,8-facher Geschwindigkeit abspielen, wenn Sie unbedingt diese Erfahrung machen wollen! Ich bin grundsätzlich Fan von Software, die den Benutzer noch selbst bestimmen lässt, was gut für ihn ist. Und deshalb bin ich ein sehr großer Fan von MPlayer!

Lesen Sie die man-Page, wenn Sie etwas über MPlayer lernen möchten:

man mplayer

Die man-Page ist sehr lang und daher nur lesbar, wenn Sie less installiert haben und die Suchfunktion von "less" kennen: Geben Sie "/" ein, wenn Sie in der man-Page nach etwas suchen, und Sie werden fündig.

3.3. Weitere Video-Player

Es gibt neben dem MPlayer noch mindestens folgende weitere Video-Player:

  • vlc
  • kaffeine
  • totem

Die Player "vlc" und "kaffeine" haben den Vorteil, dass sie auch dann noch die Tonspur von Videos abspielen, wenn die Videos leicht beschädigt sind. An dieser Stelle steigen "mplayer" und "totem" leider komplett aus.

3.4. DVDs abspielen

DVDs können Sie mit "mplayer" abspielen.

3.4.1. ogle

Wenn Sie einen Player brauchen, der auch die Menüs in DVD-Filmen unterstützt, dann probieren Sie mal "ogle" aus.

Die Installation von ogle funktioniert wie folgt:

apt-get install ogle
apt-get install ogle-gui

"ogle" ist nicht besonders stabil und auch nicht besonders benutzerfreundlich.

Wenn Sie eine DVD, die sich im aktuellen Verzeichnis befindet, ohne GUI abspielen möchten (damit das Menü im Vollbild-Modus nicht das Bild verdeckt), dann können Sie das so erreichen:

ogle -u cli dvd

Um einen DVD mit GUI abzuspielen, führt eine der beiden folgenden Varianten zum Ziel:

ogle -u gui dvd
ogle dvd

4. Sound-Ereignisse bei KDE

Wahrscheinlich möchten Sie die vielen Geräusche etwas reduzieren, die KDE von sich gibt, wenn Sie mit dem Rechner arbeiten. Modifizieren können Sie die KDE-Sound-Ereignisse wie folgt:

  • K
  • Control Center
  • Sound & Multimedia
  • System Notifications
  • Event source: "The KDE Window Manager"

Es ist sinnvoll, dass Sie alle "Play a sound"-Symbole entfernen (Häkchen bei "Play a sound" entfernen), außer bei den folgenden beiden Events:

  • A window is made visible on all desktops
  • A window is no longer visible on all desktops

Weitere KDE-Ereignisse, wie z.B. "KDE is starting up" befinden sich in der Event source "KDE System Notifications".

Bei "KDE System Notifications" kann ich Ihnen folgende Einstellungen empfehlen:

  • KDE is exiting: Sound-Effekt entfernen. Wozu muss das Ding plärren, wenn Sie es beenden wollen?
  • KDE is starting up: Probieren Sie mal "Kopete_User_is_Online.ogg". Dieser Sound macht deutlich weniger Rabatz als das voreingestellte "KDE_Startup_1.ogg". Die Voreinstellung "KDE_Startup_1.ogg" hat den deutlichen Nachteil, dass Ihnen Ihr System ziemlich arg außer Kontrolle gerät, wenn es Ihnen eigentlich nur leicht außer Kontrolle geraten ist.

    Sie wollen ein Beispiel? Wissen Sie, wie es sich anfühlt, wenn Sie vergessen haben, die voll aufgedrehte Stereoanlage vom Rechner zu entfernen, Sie nachts um 1 noch mal schnell ins Internet wollen und sich deshalb ins KDE einloggen? Nichts Böses ahnend loggen Sie sich ein und gehen nochmal schnell in die Küche. Plötzlich bricht ein Höllenlärm los. Sie hasten zurück zum Rechner und suchen verzweifelt irgendeine Lautstärkeregelung, um diesen Lärm zu bekämpfen. Währenddessen wird der Krach immer lauter und es dauert eine halbe Ewigkeit, bis er wieder verstummt. Wenn Sie das einmal durchgemacht haben, dann kennen Sie jetzt die Nachteile von "KDE_Startup_1.ogg".

    Doch statt das Sound-Ereignis komplett zu eliminieren, kann es von Vorteil sein, wenn Sie sich für "Kopete_User_is_Online.ogg" entscheiden. Der Grund ist von pragmatischer Natur: Wenn Sie KDE gestartet haben, dann können Sie nun die "Kopete" abwarten, die wirklich nur kurz etwas von sich gibt. Danach können Sie davon ausgehen, dass genügend System-Bestandteile geladen sind, so dass Sie mit der Arbeit beginnen können. So ist es optimal.

4.1. Lautstärke beim Neustart automatisch regeln

Ich greife das Beispiel mit der voll aufgedrehten Stereoanlage erneut auf. Hunderprozentig gelöst ist das Problem nämlich auch mit der "Kopete" noch nicht.

Mit der Zeit hatte ich aber einen Lösungsansatz entwickelt, den ich nun vorstellen möchte. Sie können nämlich während des Starts von KDE die Lautstärke automatisch regulieren. Das machen Sie so:

Legen Sie im KDE-Autostart-Ordner eine leere Shell-Datei an und geben Sie ihr Ausführungsrechte:

>~/.kde/Autostart/volume.sh
chmod 755 ~/.kde/Autostart/volume.sh

Füllen Sie die Datei mit folgendem Inhalt:

#!/bin/bash

amixer set Master 60%
amixer set PCM 80%
amixer set Front 100%
amixer set 'Mic' 0%

sleep 1

amixer set Master 60%
amixer set PCM 80%
amixer set Front 100%
amixer set 'Mic' 0%

sleep 5

amixer set Master 60%
amixer set PCM 80%
amixer set Front 100%
amixer set 'Mic' 0%

Damit das Skript funktioniert, müssen Sie die "ALSA utilities" installieren, welche das Kommando "amixer" zur Verfügung stellen:

apt-get install alsa-utils

Mit dem "amixer"-Kommando sind Sie also in der Lage, die Lautstärke skriptbasiert zu steuern. Das Skript "volume.sh" müssen Sie wahrscheinlich individuell für Ihren Computer einstellen. Welche Kanäle genau Sie regeln müssen, können Sie herausfinden, wenn Sie "kmix" starten.

Jeder Kanal, den Sie mit "kmix" regeln würden, hat einen Namen, der direkt neben dem entsprechenden Regler abgedruckt ist. Diese Namen verfüttern Sie an den "amixer", wenn Sie die Kanäle skriptgesteuert regeln wollen. Wenn der Name eines Kanals aus mehreren Wörtern besteht, dann müssen Sie Hochkommata benutzen, so wie ich das bei "Mic" demonstriert habe.

Die Prozentwerte werden Sie sicherlich so wählen müssen, damit sie Ihrem Geschmack und Ihrem Computersystem entsprechen.

Timing: In seltenen Fällen kann es passieren, dass der "amixer"-Befehl unmittelbar nach dem Start von KDE noch ins Leere greift, weil möglicherweise die zu steuernden Ressourcen noch gar nicht gestartet sind, so dass sie auch nicht steuerbar sind.

Um das Problem zu lösen, korrigiert das Skript die Lautstärke einmal unmittelbar direkt am Anfang, damit in 99 Prozent aller Fälle eine eventuell zu laut aufgedrehte Lautstärke heruntergeregelt wird, bevor der Event "KDE is starting up" mit voller Lautstärke die gesamte Umgebung niederbrüllt.

Sollte der erste Korrekturversuch einmal fehlschlagen, dann erfolgt nach 1 Sekunde Tiefschlaf der zweite Versuch. Hiermit müssten 0,99 Prozent aller Fälle abgefangen werden. Sollte der Event jetzt losbrüllen, könnte die Lautstärke noch während des Brüllvorgangs automatisch drastisch reduziert werden.

Ein weiterer Sleep-Befehl befördert das Skript in einen Tiefschlaf, der 5 Sekunden lang andauert. Ein doch recht unwahrscheinlicher Fall von 0,01 Prozent könnte mit diesem dritten Versuch entschärft werden.