Login
Newsletter
Werbung

Do, 23. September 2010, 15:00

ALSA konfigurieren

ALSA kann auf zwei Weisen konfiguriert werden: Über das Programm Asoundconf und über die Datei .asoundrc im Heimatverzeichnis beziehungsweise global über die Datei /etc/asound.conf. In diesem Text geht es um die Konfiguration über die Dateien.

Minimale Konfiguration

Ein minimaler Aufbau der Datei .asoundrc kann wie folgt aussehen:

pcm.snd_card {
    type hw
    card 0
    device 0
}

ctl.snd_card {
    type hw
    card 0
    device 0
}

pcm.!default {
    type plug
    slave.pcm "snd_card"
}

Die beiden Einträge clt.snd_card und pcm.snd_card definieren ein virtuelles Gerät, damit die Soundkarte richtig erkannt wird.

»snd_card« ist der Name des Gerätes. Der Name kann beliebig aus den Zeichen A bis z und allen Zahlen gewählt werden. Außerdem ist der Unterstrich (_) im Namen möglich. Der Name dient als Alias für diese Soundkarte.

»card 0« bedeutet, dass die als erste von ALSA gefundene Soundkarte im Rechner mit diesem Alias verknüpft wird. Sollten sich mehrere Soundkarten im Rechner befinden, oder kommen neue Audio-USB-Geräte hinzu, so werden diese automatisch durchnummeriert: die zweite Karte ist als »card 1«, die dritte als »card 2«, usw. einzutragen. Mehr über die Zuordnung zu den Soundkarten kann man mit dem Befehl

cat /proc/asound/cards

erfahren.

Der Eintrag pcm.!default ist der Standard-Eingang. Alle Programme leiten ihren Ton an dieses Gerät, wenn es nicht anders definiert ist. Die Zeile type gibt erwartungsgemäß die Art des Gerätes an. hw steht für eine Soundkarte und plug für einen Eingang.

Fehler bei belegtem Audiogerät

Jonas Knudsen

Fehler bei belegtem Audiogerät

Slave.pcm gibt an, an welches Gerät der Sound weitergeleitet werden soll. In diesem Beispiel schicken alle Programme ihre Klangausgabe an das Gerät pcm.!default und dieses leitet es direkt an die Soundkarte pcm.snd_card weiter.

Mixen

Wenn kein anderer Soundserver wie Pulseaudio betrieben wird, hat dieser Aufbau einen großen Nachteil: Es kann maximal ein Programm gleichzeitig Klänge von sich geben, da es die Soundkarte belegt. So erscheinen in einer grafischen Benutzeroberfläche Meldungen wie: »Das Gerät ist gerade belegt«.

Abhilfe schaft das Plugin Dmix, welches mithilfe von Software verschiedene Audio-Signale zusammenmischt. Auch die Plugins Duplex und Dsnooper seien erwähnt. Duplex ermöglicht gleichzeitiges Aufzeichnen und Abspielen von Musik. Dsnooper ähnelt Dmix: Es mischt mehrere gleichzeitig aufgenommene Audio-Signale zusammen. Die Plugins werden geladen, indem sie in die Datei .asoundrc wie folgt geschrieben werden.

pcm.snd_card {
    type hw
    card 0
    device 0
}

ctl.snd_card {
    type hw
    card 0
    device 0
}

# Das dmix-Plugin wird definiert.
pcm.dmixer {
    type dmix           # pcm.NAME: der Name jedes Gerätes kann angepasst werden
    ipc_key 1024
    ipc_perm 0666       # Andere Benutzer können ebenfalls dmix gleichzeitig nutzen
    slave.pcm "snd_card"
    slave {
        channels 2
    }
}

ctl.dmixer {
    type hw
    card 0
}

# Das dsnoop-Plugin, welches es erlaubt, mehrere Programme gleichzeitig aufnehmen zu lassen.
pcm.dsnooper {
    type dsnoop
    ipc_key 2048
    ipc_perm 0666
    slave.pcm "snd_card"
    slave
    {
        channels 2
    }
}

# Dies definiert unser Fullduplex-Plugin als Standard für alle ALSA-Programme.
pcm.duplex {
    type asym
    playback.pcm "dmixer"	#natürlich muss dann auch das passende Gegenstück angepasst werden
    capture.pcm "dsnooper"
}

pcm.!default {
    type plug
    slave.pcm "duplex"  
}

Wichtig sind die Zeilen ipc_perm 0666, damit Benutzer welche nicht Root sind, ebenfalls gleichzeitig dmix und dnooper benutzen können. Gut zu sehen ist auch, wie die Audio-Signalweiterleitung angepasst wurde; vom default-Gerät wird es über das duplex- und das dmix-Gerät zur Soundkarte geleitet.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung