https://wiki.archlinux.de/api.php?action=feedcontributions&user=Gombat&feedformat=atomwiki.archlinux.de - Benutzerbeiträge [de]2024-03-28T14:26:44ZBenutzerbeiträgeMediaWiki 1.41.0https://wiki.archlinux.de/index.php?title=Advanced_Linux_Sound_Architecture&diff=17664Advanced Linux Sound Architecture2014-04-18T18:18:11Z<p>Gombat: /* Festlegen des Default-Device */ fixed typo: .asoundcr to .asoundrc</p>
<hr />
<div>==Installation==<br />
<br />
===Kernel Treiber===<br />
<br />
Alsa ist im Kernel und somit auch in allen <code>linux</code>-Paketen bereits enhalten.<br />
Falls ein eigener kernel gebaut wurde, so sollte das entsprechende Alsa-Treibermodul geladen werden.<br />
<br />
Alle benötigten Module sollten von udev automatisch erkannt und geladen werden, mit Ausnahme von ISA Karten sollte keine zusätzliche Konfiguration notwendig sein.<br />
Zur Beachtung, es ist '''NIEMALS''' <code>alsaconf</code> zu benutzen, wenn eine PCI oder ISAPNP Soundkarte vorhanden ist, dies könnte udev durcheinander bringen!<br />
<br />
===Pakete installieren===<br />
<br />
* Wird für native Alsa Programme und zur Administration benötigt:<br />
<br />
# pacman -S alsa-utils<br />
<br />
* Empfohlen, wenn Programme mit OSS Unterstützung, kombiniert mit dmix, verwendet werden sollen:<br />
<br />
# pacman -S alsa-oss<br />
<br />
Das Paket alsa-lib muß mittlerweile nicht mehr separat installiert werden, da es schon automatisch von alsa-utils als Abhängigkeit mitinstalliert wird.<br />
<br />
==Konfiguration==<br />
<br />
===Sicherstellen, dass die Soundmodule geladen sind===<br />
<br />
In den meisten Fällen erkennt udev die Soundkarte richtig, OSS Kompatibilitätsmodule eingeschlossen. Man kann dies mit dem folgenden Befehl überprüfen:<br />
<br />
# lsmod | grep 'snd'<br />
snd_usb_audio 69696 0 <br />
snd_usb_lib 13504 1 snd_usb_audio<br />
snd_rawmidi 20064 1 snd_usb_lib<br />
snd_hwdep 7044 1 snd_usb_audio<br />
snd_seq_oss 29412 0 <br />
snd_seq_midi_event 6080 1 snd_seq_oss<br />
snd_seq 46220 4 snd_seq_oss,snd_seq_midi_event<br />
snd_seq_device 6796 3 snd_rawmidi,snd_seq_oss,snd_seq<br />
snd_pcm_oss 45216 0 <br />
snd_mixer_oss 15232 1 snd_pcm_oss<br />
snd_intel8x0 27932 0 <br />
snd_ac97_codec 87648 1 snd_intel8x0<br />
snd_ac97_bus 1792 1 snd_ac97_codec<br />
snd_pcm 76296 4<br />
snd_usb_audio,snd_pcm_oss,snd_intel8x0,snd_ac97_codec<br />
snd_timer 19780 2 snd_seq,snd_pcm<br />
snd 43776 12<br />
snd_usb_audio,snd_rawmidi,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer<br />
snd_page_alloc 7944 2 snd_intel8x0,snd_pcm<br />
<br />
Wenn die Ausgabe ähnlich aussieht, so wurden die Soundtreiber erfolgreich erkannt (in diesem Fall sind <code>snd_intel8x0</code> und <code>snd_usb_audio</code> die Gerätetreiber).<br />
Man kann auch das Verzeichnis <code>/dev/snd</code> auf die passenden Gerätedateien überprüfen:<br />
<br />
# ls -l /dev/snd/<br />
total 0<br />
crw-rw---- 1 root audio 116, 0 Apr 8 14:17 controlC0<br />
crw-rw---- 1 root audio 116, 32 Apr 8 14:17 controlC1<br />
crw-rw---- 1 root audio 116, 24 Apr 8 14:17 pcmC0D0c<br />
crw-rw---- 1 root audio 116, 16 Apr 8 14:17 pcmC0D0p<br />
crw-rw---- 1 root audio 116, 25 Apr 8 14:17 pcmC0D1c<br />
crw-rw---- 1 root audio 116, 56 Apr 8 14:17 pcmC1D0c<br />
crw-rw---- 1 root audio 116, 48 Apr 8 14:17 pcmC1D0p<br />
crw-rw---- 1 root audio 116, 1 Apr 8 14:17 seq<br />
crw-rw---- 1 root audio 116, 33 Apr 8 14:17 timer<br />
<br />
Wenn mindestens die Dateien <code>controlC0</code> und <code>pcmC0D0p</code> oder ähnliches vorhanden sind, so sind die Soundmodule richtig ermittelt und geladen worden.<br />
<br />
Sollte dies nicht der Fall sein, so sind die Soundmodule nicht richtig erkannt worden. '''Wenn man auf IRC oder in den Foren nach Hilfe fragt, sollte man die obigen Befehle mitteilen.''' Versuch, die Module manuell zu laden:<br />
<br />
* Suchen des Moduls für die Soundkarte: http://www.alsa-project.org/alsa-doc/ <br />
Das Modul hat das Präfix <code>snd-</code> (Beispiel: <code>snd-via82xx</code>).<br />
* Modul laden:<br />
# modprobe snd-NAME-DES-MODULS<br />
# modprobe snd-pcm-oss<br />
* Überprüfen, ob die Gerätedateien in <code>/dev/snd</code> (siehe oben) vorhanden sind und ob <code>alsamixer</code> oder <code>amixer</code> richtig eingestellt sind oder Fehlermeldungen ausgeben.<br />
<br />
===Zugriffsrechte===<br />
<br />
Um die Soundkarte als normaler Benutzer benutzen zu können, muß der Benutzer in der Gruppe audio sein.<br />
<br />
* Hinzufügen des Benutzers zur Gruppe <code>audio</code>:<br />
# gpasswd -a BENUTZER audio<br />
<br />
* Benutzer abmelden und wieder anmelden.<br />
<br />
===Soundkanäle aktivieren und Soundkarte testen===<br />
<br />
* Lautstärke einstellen<br />
<br />
Es wird empfohlen, <code>alsamixer</code> zum Einstellen der Lautstärke und aktivieren der Kanäle zu verwenden.<br />
'''ACHTUNG:''' Benutzung der Taste 'M' in <code>alsamixer</code>, um Kanäle zu aktivieren und nicht vergessen, die Lautstärke bestimmen.<br />
<br />
Ersatzweise kann auch <code>amixer</code> eingesetzt werden, welches jedoch weniger komfortabel ist:<br />
amixer set Master,0 75% unmute<br />
amixer set PCM,0 75% unmute<br />
<br />
* Versuchen eine Wave Datei abzuspielen:<br />
<br />
aplay /usr/share/sounds/alsa/Front_Center.wav<br />
<br />
===Alsa Mixer Einstellungen beim Start wiederherstellen===<br />
<br />
Es gibt 2 Services (Dienste) zum speichern und wiederherstellen der Mixereinstellungen. Um diese zu aktivieren:<br />
# systemctl enable alsa-store.service<br />
# systemctl enable alsa-restore.service<br />
<br />
Sollte dies nicht funktionieren, dann kann man das gleiche Ergebnis mit folgenden Eingaben (als root) erreichen:<br />
# rm /var/lib/alsa/asound.state<br />
<br />
===Festlegen des Default-Device===<br />
Falls man mehrere Ausgabegeräte besitzt ist es manchmal nötig ein Default-Gerät festzulegen. Dazu gibt man die Karten über folgenden Befehl aus:<br />
# cat /proc/asound/cards<br />
<br />
Die Ausgabe könnte so aussehen:<br />
<br />
0 [HDMI ]: HDA-Intel - HDA ATI HDMI<br />
HDA ATI HDMI at 0xfe9ec000 irq 19<br />
1 [Bt878 ]: Bt87x - Brooktree Bt878<br />
Brooktree Bt878 at 0xfdffe000, irq 21<br />
2 [Audigy2 ]: Audigy2 - Audigy 4 [SB0610]<br />
Audigy 4 [SB0610] (rev.0, serial:0x10211102) at 0xe800, irq 20<br />
<br />
Nun editiert man eine der beiden Dateien:<br />
<br />
*<code>/etc/asound.conf</code> für systemweite Einstellungen, die alle Benutzer betreffen (root Rechte beim editieren nicht vergessen).<br />
*<code>~/.asoundrc</code> für Einstellungen, die nur einen Benutzeraccount betreffen.<br />
<br />
Um ein simples sound Device als standard durch !default (bei der alsa api als standard device definiert) zu definieren, fuegt folgendes unter ~/.asoundrc hinzu:<br />
<br />
pcm.!default {<br />
type hw<br />
card Audigy2<br />
}<br />
ctl.!default {<br />
type hw<br />
card Audigy2<br />
}<br />
<br />
Nun habt ihr ein einfaches Sounddevice erstellt; um weitere Konfigurationen fuer Sounddevices festzulegen (e.g. plugins, slaves, etc) seht euch die Alsa Dokumentation [http://alsa.opensrc.org/.asoundrc] an! <br />
Der Wert <code>Audigy2</code> erhält man aus der obigen Ausgabe. Stattdessen läßt sich auch die Nummer eintragen, was aber nicht zu empfehlen ist, da sich bei einem Reboot die Reihenfolge ändern kann.<br />
<br />
Um lediglich das standard device fuer alsa zu aendern (dies hat den Vorteil, dass ihr auf die standard Einstellungen von alsa zurueckgreifen koennt, wie etwas software Mixing fuer Ausgabe und Eingabe) waere folgende Vorgehensweise zu empfehlen:<br />
<code> touch ~/.asoundrc</code><br />
nun fuegt folgendes zu <code>~/.asoundrc</code> hinzu:<br />
<br />
defaults.ctl.card <name/number of your sound device><br />
defaults.pcm.card <name/number of your sound device><br />
defaults.timer.card <name/number of your sound device><br />
<br />
===SPDIF Soundausgabe===<br />
<br />
(von gralves von den gentoo foren)<br />
* Ändere IEC958 nach PCM in den Optionen der Gnome Lautstärke Kontrolle.<br />
* Ansonsten, ohne Gnome<br />
** Ändere <code>IEC958 Playback Switch</code> in der Datei <code>/etc/asound.state</code> von <code>false</code> nach <code>true</code> und <code>IEC958 Playback AC97-SPSA</code> nach <code>0</code>. <br />
** Starte Alsa neu.<br />
<br />
Alternative Möglichkeit, um SPDIF automatisch beim Login zu starten (getestet mit einer SoundBlaster Audigy):<br />
* Ein Script erstellen z.B. /etc/spdif.sh mit folgendem Inhalt:<br />
<br />
amixer set 'IEC958 Optical' 100 unmute<br />
amixer set 'Audigy Analog/Digital Output Jack' on<br />
* Ein /etc/systemd/system/spdif.service erstellen mit folgendem Inhalt:<br />
[Unit]<br />
Description=SPDIF beim Login starten<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/etc/spdif.sh<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
Den Service starten mit<br />
systemctl start spdif.service<br />
Den Service beim nächsten booten automatisch starten:<br />
systemctl enable spdif.service<br />
<br />
Überprüfung amixers Einstellungen mit:<br />
<br />
amixer scontrols<br />
<br />
==Immer noch kein Sound?==<br />
<br />
Obwohl die Treiber für die Soundkarte richtig installiert und sowohl Lautstärke als auch Kanäle richtig eingestellt sind, könnte es sein, dass man noch immer nichts hört! <br />
Hinzufügen folgender Zeile in <code>/etc/modprobe.d/sound.conf</code> um dieses Problem zu lösen.<br />
<br />
Für <code>via82xx</code>:<br />
options snd-NAME-DES-MODULS ac97_quirk=0<br />
<br />
Für HDA-VIA/Realtek/Intel:<br />
options snd-hda-intel model=3stack<br />
''Für HDA-Intel siehe auch: [[Hda-intel]]<br />
<br />
Für Lenovo N200 und ASUS F5SL Notebook:<br />
options snd-hda-intel model=lenovo<br />
<br />
==Konfiguration für KDE==<br />
* Starte [[KDE]]:<br />
# startx<br />
<br />
* Stelle die Lautstärke für diesen Benutzer deinen Präferenzen nach ein (Wie bei Linux üblich, werden die Einstellungen für jeden Benutzer seperat gespeichert):<br />
# alsamixer<br />
<br />
* <b>KDE 3.3</b><br />
** Starte KMix und deaktiviere die Option "Lautstärke beim Anmelden wiederherstellen"<br />
<br />
<br />
{| style="border:1px solid #8888aa; background-color:#f7f8ff;padding:5px;font-size:95%;"<br />
|<br />
Seite kopiert von "http://wiki.archlinux.org/index.php/ALSA_Einrichten_(Deutsch)" und veröffentlicht unter der GNU Free Documentation License 1.2.<br />
|}<br />
<br />
<br />
==Schlechte Soundqualität?==<br />
* Sollte es zu Verzerrungen kommen, sollte man überprüfen, ob ggf. "PCM" zu hoch eingestellt ist. Starten von <br />
$ alsamixer<br />
* und "PCM" "dB gain" auf 0.00 oder niedriger eingestellen.<br />
<br />
<br />
[[Kategorie:Sound]]<br />
[[Kategorie:Services]]<br />
[[en:Advanced Linux Sound Architecture]]</div>Gombat