Gentoo Logo

Gentoo Linux: ALSA-Leitfaden

Inhalt:

1.  Einführung

Was ist ALSA?

ALSA steht für Advanced Linux Sound Architecture und stellt Audio- und MIDI- (Musical Instrument Digital Interface) Funktionalität unter Linux zur Verfügung. ALSA ist das standardmäßige Sound-System im 2.6er- und 3.0er-Kernel und ersetzt damit OSS (Open Sound System), welches im 2.4er-Kernel verwendet wurde.

Zu ALSAs Hauptfeatures zählen ein effizienter Support für alle Arten von Audio-Schnittstellen von Endverbraucher-Soundkarten bis hin zu Profi-Sound-Equipment, voll modularisierte Treiber, SMP und Thread safety, Rückwärtskompatibilität mit OSS und eine Bibliothek im user-space, alsa-lib, die Softwareentwicklung zum Kinderspiel macht.

2.  ALSA installieren

Bevor Sie fortfahren

Zuerst müssen Sie wissen, welche Treiber Ihre Soundkarte verwendet. Meistens sind Soundkarten (onboard und andere) PCI-basiert. lspci wird Ihnen dabei helfen, die richtigen Informationen herauszufinden. Bitte emerge sys-apps/pciutils eingeben, um lspci zu bekommen, falls es nicht schon installiert ist. Falls Sie eine USB-Soundkarte haben, könnte lsusb aus sys-apps/usbutils eventuell hilfreich sein. Für ISA-Karten probieren Sie die sys-apps/isapnptools aus. Ebenso könnten die folgenden Seiten Benutzern mit ISA-basierten Soundkarten helfen:

Notiz: Der leichteren Benutzung/Erklärung halber gehen wir im Rest dieses Leitfadens davon aus, dass Sie eine PCI-basierte Soundkarte haben.

Wir fahren jetzt damit fort Details über die Soundkarte herausfinden.

Befehlsauflistung 2.1: Details über die Soundkarte

# lspci -v | grep -i audio
0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)

Wir wissen jetzt, dass die Soundkarte in dieser Maschine eine Sound Blaster Live! ist und dass der Kartenhersteller Creative Labs ist. Gehen Sie zur Seite ALSA Soundcard Matrix und wählen Sie Creative Labs aus der Liste aus. Sie werden zur Creative Labs Matrix-Seite weitergeleitet, wo Sie dann sehen können, dass SB Live! das Modul emu10k1 verwendet. Das ist die Information, die wir fürs erste brauchen. Fall Sie Interesse an detaillierten Informationen haben, können Sie auf den Link "Details" klicken, was Sie zur emu10k1-spezifischen Seite bringen wird.

Wenn Sie vorhaben MIDI zu benutzen, dann sollten Sie midi in /etc/make.conf zu Ihren USE-Flags hinzufügen, bevor Sie irgendwelche ALSA-Pakete installieren. Weiter hinten in dieser Anleitung werden wir Ihnen zeigen, wie Sie die MIDI-Unterstützung einrichten.

Konfigurieren des Kernels

Notiz: Seit dem Release 2005.0 ist der 2.6er-Kernel der Standard-Kernel unter Gentoo Linux. Bitte überprüfen Sie, ob Ihr Kernel ein Kernel der 2.6er-Serie ist. Diese Methode wird mit einem 2.4er-Kernel nicht funktionieren.

Wir wollen jetzt den Kernel konfigurieren und ALSA aktivieren.

Wichtig: genkernel - Benutzer sollten nun genkernel --menuconfig all starten und dann den Anweisungen in Kerneloptionen für ALSA folgen.

Befehlsauflistung 2.2: In die Quellen wechseln

# cd /usr/src/linux
# make menuconfig

Notiz: Das obige Beispiel nimmt an, dass /usr/src/linux ein symbolischer Link ist, der auf die Kernelquellen verweist, die Sie verwenden wollen. Stellen Sie das bitte sicher, bevor Sie fortfahren.

Jetzt schauen wir uns einige der Optionen an, die wir aktivieren müssen, um angemessene ALSA-Unterstützung für unsere Soundkarte im 2.6er-Kernel zu haben.

Bitte nehmen Sie zum Zwecke der Vereinfachung zur Kenntnis, dass alle Beispiele zeigen, wie ALSA als Module kompiliert werden. Es ist empfohlen, dem Beispiel zu folgen, weil es uns erlaubt, alsaconf zu verwenden, was für die Konfiguration Ihrer Karte ein Segen ist. Bitte überspringen Sie nicht das Konfigurationskapitel dieses Dokuments. Falls Sie Optionen fest einkompiliert haben wollen, dann stellen Sie sicher, dass Sie die Änderungen entsprechend an Ihrer Konfiguration vornehmen.

Befehlsauflistung 2.3: Kerneloptionen für ALSA

Device Drivers  --->
   Sound  --->

(Das muss aktiviert sein)
<M> Sound card support

(Stellen Sie sicher, dass OSS deaktiviert ist)
Open Sound System   --->
   < > Open Sound System (DEPRECATED)

(Gehen Sie einen Schritt zurück und gehen Sie zu ALSA)
Advanced Linux Sound Architecture  --->
   <M> Advanced Linux Sound Architecture
   (Select this if you want MIDI sequencing and routing)
   <M> Sequencer support
   (Old style /dev/mixer* and /dev/dsp* support. Recommended.)
   <M> OSS Mixer API
   <M> OSS PCM (digital audio) API

(Sie haben jetzt die Wahl, für welche Geräte Sie Support aktivieren wollen. Für gewöhnlich
haben Sie nur einen Gerätetyp und nicht mehr. Wenn Sie mehr als eine Soundkarte haben, aktivieren Sie sie hier alle bitte)

(Meistens zum Ausprobieren und für Entwicklungszwecke, nicht notwendig für normale Benutzer, es sei denn Sie
wissen, was Sie tun)
Generic devices  --->

(Für ISA Soundkarten)
ISA devices   --->
(FALLS Sie die Gravis haben, würden Sie dieses Option auswählen)
   <M> Gravis UltraSound Extreme

(Gehen Sie eine Seite zurück und dann zu den PCI devices. Die meisten Soundkarten heute sind PCI-Karten)
PCI devices   --->
   (We now select the emu10k1 driver for our card)
   <M> Emu10k1 (SB Live!, Audigy, E-mu APS)
   (Or an Intel card would be)
   <M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
   (Or if you have a VIA Card)
   <M> VIA 82C686A/B, 8233/8235 AC97 Controller

(Gehen Sie eine Seite zurück und für den Fall, dass Sie eine USB-Soundkarte haben, gehen Sie zu)
USB Devices   --->

Jetzt da Sie Ihre Optionen eingestellt haben, können Sie den Kernel (re)kompilieren, und die ALSA-Unterstützung sollte verfügbar sein, sobald Sie den Kernel rebootet haben. Vergessen Sie nicht Ihre GRUB Konfiguration zu aktualisieren, so dass der neu erstellte Kernel verwendet wird. Sie können jetzt mit den ALSA-Utilities weitermachen, um zu schauen, ob alles so funktioniert, wie es sollte.

3.  Konfiguration/Ausprobieren von ALSA

ALSA-Utilities

Die alsa-utils bilden einen wesentlichen Bestandteil von ALSA, da sie eine Wagenladung von Programmen beinhalten, die hochgradig nützlich sind, was auch die ALSA Initskripte einschließt. Daher empfehlen wir wärmstens die Installation von alsa-utils.

Befehlsauflistung 3.1: Installation von alsa-utils

# emerge alsa-utils

Notiz: Wenn Sie ALSA nicht als Module kompiliert haben, fahren Sie bitte mit dem Kapitel ALSA Initskript fort. Die anderen müssen ALSA konfigurieren. Das wird durch die Existenz des Tools alsaconf aus den alsa-utils recht leicht gemacht.

Konfiguration

Die neuesten Versionen von udev (>=udev-103) stellen ein Maß an Autokonfiguration Ihrer Soundkarte auf Kernelebene bereit. Falls möglich, stützen Sie sich einfach darauf, dass der Kernel automatisch Ihre Soundkarte für Sie konfiguriert. Nutzen Sie ansonsten, wie folgt gezeigt, alsaconf um Ihre Soundkarte zu konfigurieren.

Notiz: Bitte beenden Sie Programme, die während des Ausführens von alsaconf auf die Soundkarte zugreifen könnten.

Um Ihre Soundkarte zu konfigurieren, geben Sie einfach alsaconf in einer Shell als root ein.

Befehlsauflistung 3.2: Aufrufen von alsaconf

# alsaconf

Sie werden jetzt ein schickes menügesteuertes Interface sehen, das automatisch Ihre Geräte abfragen wird und Ihre Soundkarte herausfinden wird. Sie werden gebeten, Ihre Soundkarte aus einer Liste auszuwählen. Sobald das erledigt ist, wird es Sie um die Berechtigung bitten, automatisch die notwendigen Änderungen an /etc/modprobe.d/alsa.conf vornehmen zu dürfen. Dann wird es Ihre Lautstärke optimal einstellen, update-modules ausführen und den Dienst /etc/init.d/alsasound starten. Sobald alsaconf beendet ist, können Sie mit dem ALSA-Initskript fortfahren.

ALSA-Initskript

Wir sind fast fertig. Für welche Methode Sie sich auch für die Installation von ALSA entschieden haben, Sie brauchen etwas, um Ihre Module zu laden oder ALSA zu initialisieren und Ihre Lautstärkeeinstellungen zu setzen, wenn Ihr System hochfährt. Das ALSA-Initskript kümmert sich um all das für Sie und heißt alsasound. Fügen Sie es zum Runlevel boot hinzu.

Befehlsauflistung 3.3: ALSA zum Runlevel boot hinzufügen

# rc-update add alsasound boot
 * alsasound added to runlevel boot
 * rc-update complete.

Als nächstes überprüfen Sie die Datei /etc/conf.d/alsasound und stellen Sie sicher, dass die Umgebungsvariable SAVE_ON_STOP auf yes gesetzt ist. Das speichert Ihre Sound-Einstellungen, wenn sie das System herunterfahren.

Die Gruppe Audio

Bevor wir zum Ausprobieren weitergehen, gibt es noch eine letzte wichtige Sache, die eingerichtet werden muss. Daumenregel in einem *nix Betriebssystem: Arbeite nicht als root, es sei denn, es ist nötig. Das gilt auch hier ;) Wie? Tja, die meiste Zeit sollten Sie sich als ein User einloggen, wenn Sie gerne Musik hören oder auf Ihre Soundkarte zugreifen wollen. Damit das möglich ist, müssen Sie sich in der "audio"-Gruppe befinden. Hier werden wir Benutzer in die Audio Group hinzufügen, so dass Ihnen keine Probleme widerfahren, wenn Sie auf Sound-Geräte zugreifen. Wir werden hier gpasswd verwenden und dafür müssen Sie als root eingeloggt sein.

Befehlsauflistung 3.4: User zur Gruppe Audio hinzufügen

(Ersetzen Sie <username> durch Ihren Benutzer)
# gpasswd -a <username> audio 
Adding user <username> to group audio

Volume Check!

Wir sind jetzt mit allem fertig, also bringen wir ALSA hoch. Falls Sie alsaconf laufen gelassen haben, können Sie diesen Schritt überspringen, da alsaconf das bereits für Sie gemacht hat.

Befehlsauflistung 3.5: Starten des Dienstes

# /etc/init.d/alsasound start

Jetzt, da wir uns um die erforderlichen Dinge gekümmert haben, müssen wir die Lautstärke überprüfen, da sie in bestimmten Fällen auf stumm geschaltet ist. Dafür verwenden wir alsamixer.

Befehlsauflistung 3.6: Starten von alsamixer

(Öffnen Sie eine Konsole. Nur die benötigten Einstellungen werden gezeigt)
# alsamixer

So könnte sich der ALSA Mixer beim ersten Start zeigen. Achten Sie auf die Master- und PCM-Kanäle, die ein MM unter sich stehen haben. Das bedeutet, dass sie stummgeschaltet sind. Falls Sie versuchen, etwas abzuspielen, während alsamixer in diesem Zustand ist, werden Sie überhaupt nichts über Ihre Lautsprecher hören.


Abbildung 3.1: The Alsa Mixer Main Window, Muted

Fig. 1: AlsaMixer Muted

Jetzt werden wir die Kanäle stumm schalten und die Lautstärkeregler nach unseren Bedürfnissen einstellen.

Warnung: Sowohl Master als auch PCM müssen zunächst auf stumm geschaltet und dann auf Werte im hörbaren Bereich geschaltet sein, wenn Sie auf Ihren Lautsprechern etwas hören wollen.

  • Um zwischen den Kanälen zu wechseln, verwenden Sie die Pfeiltasten für rechts und links. (<- & ->)
  • Um stumm zu schalten, gehen Sie zu dem gewünschten Kanal, z. B. Master und drücken Sie die m-Taste.
  • Um die Lautstärke zu verstärken oder zu verringern, verwenden Sie die Pfeiltasten für hoch und runter.

Notiz: Seien Sie vorsichtig beim Einstellen des Bass und des Trebles. 50 ist für gewöhnlich für beides ein guter Wert. Extrem hohe Werte für den Bass können bei Lautsprechern, die nicht dafür ausgelegt sind, zu Misstönen führen.

Wenn Sie fertig sind, sollte Ihr ALSA-Mixer ähnlich wie der unten abgebildete aussehen. Für optimale Einstellungen, beachten Sie die 00 statt der MM sowie die Lautstärken.


Abbildung 3.2: Alsa Mixer ready to roll

Fig. 2: AlsaMixer Unmuted

Sound Check!

Endlich. Musik. Wenn alles oben perfekt war, sollten Sie jetzt gute Musik hören. Ein schneller Weg, um das auszuprobieren, ist die Verwendung eines Kommandozeilentools wie media-sound/madplay. Sie können auch etwas Bekannteres wie mpg123. Falls Sie ein Ogg-Fan sind können Sie ogg123 aus media-sound/vorbis-tools benutzen. Sie können jeden Player verwenden, mit dem Sie sich auskennen. Verwenden Sie emerge für alles, was Sie brauchen.

Befehlsauflistung 3.7: Die Software holen

(Installieren Sie die Anwendungen, die Sie wollen)
# emerge madplay mpg123
(Um .ogg-Dateien abzuspielen)
# emerge vorbis-tools

Und dann spielen Sie Ihren Lieblingstitel...

Befehlsauflistung 3.8: Musik abspielen

# madplay -v /mnt/shyam/Music/Paul\ Oakenfold\ -\ Dread\ Rock.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
          Title: Dread Rock
         Artist: Paul Oakenfold
          Album: Matrix Reloaded
           Year: 2003
          Genre: Soundtrack
                 Soundtrack
 00:04:19 Layer III, 160 kbps, 44100 Hz, joint stereo (MS), no CRC

# ogg123 Paul\ Oakenfold\ -\ Dread\ Rock.ogg
Audio Device:   Advanced Linux Sound Architecture (ALSA) output

Playing: Paul Oakenfold - Dread Rock.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Genre: Soundtrack
Transcoded: mp3;160
Title: Dread Rock
Artist: Paul Oakenfold
Date: 2003
Album: Matrix Reloaded
Time: 00:11.31 [04:28.75] of 04:40.06  (200.6 kbps)  Output Buffer  96.9%

ALSA und USE

Sie können jetzt das alsa USE-Flag in der /etc/make.conf hinzufügen, um sicherzustellen, dass Ihre Programme mit ALSA-Unterstützung kompiliert werden. Bei einigen Architekturen wie x86 und amd64 ist das Flag standardmäßig gesetzt.

Probleme?

Falls Sie aus irgend einem Grund keinen Ton hören sollten, sollten Sie als erstes Ihre alsamixer - Einstellungen überprüfen. 80% der Probleme gehen auf stummgeschaltete Kanäle oder zu geringe Lautstärke zurück. Überprüfen Sie ebenso das Sound-Applet in Ihrem Window Manager und stellen Sie sicher, dass die Lautstärkeregler im hörbaren Bereich stehen.

/proc ist Ihr Freund. Und in diesem Fall ist /proc/asound Ihr bester Freund. Wir werden einen kurzen Blick darauf werfen, wie viel Information uns hier geboten wird.

Befehlsauflistung 3.9: Spaß mit /proc/asound

(Soweit erstmal: wenn  /proc/asound/cards Ihre Soundkarte anzeigt, hat ALSA Ihre Soundkarte richtig erkannt.)
# cat /proc/asound/cards
0 [Live           ]: EMU10K1 - Sound Blaster Live!
                     Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

(Dies zeigt die gegenwärtig laufende ALSA-Version an)
# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.8 (Thu Jan 13 09:39:32 2005 UTC).

(Details für ALSA OSS-Emulation)
# cat /proc/asound/oss/sndstat
Sound Driver:3.8.1a-980706 (ALSA v1.0.8 emulation code)
Kernel: Linux airwolf.zion 2.6.11ac1 #2 Wed May 4 00:35:08 IST 2005 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

Audio devices:
0: EMU10K1 (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices:
0: EMU10K1 MPU-401 (UART)

Timers:
7: system timer

Mixers:
0: SigmaTel STAC9721/23

Die zweithäufigste Problemquelle für Benutzer ist der gefürchtete "Unknown symbol in module" Fehler. Dies ist ein Beispiel von diesem Fehler:

Befehlsauflistung 3.10: Fehler: Unknown Symbol in module

# /etc/init.d/alsasound start
 * Loading ALSA modules ...
 *   Loading: snd-card-0 ...                                              [ ok ]
 *   Loading: snd-pcm-oss ...
WARNING: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg) FATAL: Error inserting
snd_pcm_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
                                                                          [ !! ]
 *   Loading: snd-mixer-oss ...
FATAL: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
                                                                          [ !! ]
 *   Loading: snd-seq ...                                                 [ ok ]
 *   Loading: snd-emu10k1-synth ...                                       [ ok ]
 *   Loading: snd-seq-midi ...                                            [ ok ]
 * Restoring Mixer Levels ...                                             [ ok ]

Wenn Sie, wie empfohlen, einen Blick auf dmesg werfen, werden Sie sehr wahrscheinlich folgendes sehen:

Befehlsauflistung 3.11: dmesg Ausgabe

(Nur relevante Auszüge folgen)
# dmesg | less
ACPI: PCI Interrupt 0000:02:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 209
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register
snd_pcm_oss: Unknown symbol snd_unregister_oss_device
snd_pcm_oss: Unknown symbol snd_register_oss_device
snd_pcm_oss: Unknown symbol snd_mixer_oss_ioctl_card
snd_pcm_oss: Unknown symbol snd_oss_info_register
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register

Die obige Problematik wird durch einen Wechsel von alsa-driver zu im-Kernel-ALSA verursacht, da, wenn Sie alsa-driver mit emerge deinstallieren, die Moduldateien wegen Konfigurationsschutz nicht entfernt werden. Wenn Sie also auf im-Kernel Treiber wechseln, gibt Ihnen modprobe einen Mix von alsa-driver und im-Kernel Modulen und löst daher den obigen Fehler aus.

Die Lösung ist ziemlich einfach: Wir müssen nur das Probleme verursachende Verzeichnis manuell löschen, nachdem Sie alsa-driver mit emerge deinstalliert haben. Achten Sie darauf, dass Sie die korrekte Kernelversion und nicht die momentane verwenden!

Befehlsauflistung 3.12: Entfernen der alsa-driver Module

# rm -rf /lib/modules/$(uname -r)/alsa-driver

Ein weiterer Grund für Fehlermeldung ähnlich der obigen könnte eine Datei in /etc/modprobe.d sein, die einen device_mode Parameter liefert, wenn dieser nicht benötigt wird. Finden Sie heraus, dass dies in der Tat der Fall ist, finden Sie die schuldige Datei.

Befehlsauflistung 3.13: Überprüfen und Suchen nach device_mode

  (Überprüfen Sie dmesg um es zu bestätigen)
  # dmesg | grep device_mode
  snd: Unknown parameter `device_mode'
  (Nun, um die Ursache des Problems ausfinding zu machen)
  # grep device_mode /etc/modprobe.d/*

Häufig ist es eine Datei mit dem Namen alsa mit einer Zeile options snd device_mode=0666. Entfernen Sie diese Zeile und starten Sie den Dienst alsasound neu und das Problem sollte gelöst sein.

4.  Andere Dinge unter ALSA

Einrichten der MIDI-Unterstützung

Zuerst prüfen Sie bitte um sicher zu sein, dass Sie das midi USE-Flag in /etc/make.conf aktiviert haben. Falls nicht, tun Sie dies jetzt. Sie werden auch alle anderen ALSA-Pakete, die das midi Flag benutzen (wie zum Beispiel alsa-lib und alsa-utils), erneut emergen müssen.

Wenn Ihre Soundkarte zu denen gehört, die mit einem Onboard-MIDI-Synthesizer ausgeliefert werden und Sie sich gerne .mid-Dateien anhören wollen, müssen Sie awesfx installieren. Dabei handelt es sich im Grunde genommen um eine Reihe von Dienstprogrammen für die Kontrolle des AWE32-Treiber. Als erstes müssen wir es installieren. Falls Sie keinen Hardware-Synthesizer haben, können Sie einen virtuellen verwenden. Bitte schlagen Sie im Kapitel über Virtuelle Synthesizer für mehr Informationen nach.

Befehlsauflistung 4.1: Installation von awesfx

# emerge awesfx

Notiz: Sie werden SoundFont (SF2)-Dateien von der Treiber-CD Ihrer Soundkarte oder einer Windows-Installation nach /usr/share/sounds/sf2/ herüberkopieren müssen. Zum Beispiel wäre eine Soundfond-Datei für die Creative SBLive! 8MBGMSFX.SF2.

Nachdem Sie die Soundfont-Datein herüberkopiert haben, können wir wie unten gezeigt eine MIDI-Datei abspielen. Sie können auch den asfxload Befehl zu /etc/conf.d/local.start hinzufügen, so dass der Soundfont bei jedem Systemstart geladen wird.

Notiz: Der /mnt-Pfad, der im Code-Listing unten verwendet wird, wird auf Ihrer Maschine nicht der gleiche sein. Es ist nur ein Beispiel. Geben Sie bitte darauf Acht, den Pfad an Ihre Maschine anzupassen.

Befehlsauflistung 4.2: Laden von Soundfonts

(Als erstes kopieren Sie den Soundfont)
# cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/
(Oder holen Sie ihn von der SoundBlaster CD)
# cp /mnt/cdrom/AUDIO/ENGLISH/SFBANK/8MBGMSFX.SF2 /usr/share/sounds/sf2/
(Wir laden den spezifischen Soundfont)
# asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2

Sie können jetzt MIDI-Dateien spielen, indem Sie ein Programm wie aplaymidi verwenden. Starten Sie aplaymidi -l, um eine Liste der verfügbaren Ports zu erhalten und wählen Sie einen aus, auf dem Sie die Datei abspielen.

Befehlsauflistung 4.3: MIDI-Dateien abspielen

(Überprüfen der offenen Ports)
# aplaymidi -l
 Port    Client name                      Port name
 64:0    EMU10K1 MPU-401 (UART)           EMU10K1 MPU-401 (UART)
 65:0    Emu10k1 WaveTable                Emu10k1 Port 0
 65:1    Emu10k1 WaveTable                Emu10k1 Port 1
 65:2    Emu10k1 WaveTable                Emu10k1 Port 2
 65:3    Emu10k1 WaveTable                Emu10k1 Port 3
(Einen Port wählen, und dann die MIDI-Datei abspielen)
#  aplaymidi --port=65:0 /mnt/shyam/music/midi/mi2.mid

Virtuelle Synthesizer

Falls Ihre Soundkarte keinen Hardware-Synthesizer hat, können Sie einen virtuellen wie timidity++ verwenden. Die Installation ist ein Kinderspiel.

Befehlsauflistung 4.4: Installation von timidity++

# emerge timidity++

Damit timidity Sounds abspielen kann, braucht es einen Soundfont. Glücklicherweise wird das Ebuild einige Soundfonts für Sie installieren. Es sind auch noch einige andere Font-Pakete in Portage vorhanden, z.B. timidity-freepats und timitidy-eawpatches. Sie können mehrere Soundfont-Konfigurationen installiert haben, und Sie können Ihren eigenen in /usr/share/timidity/ stellen. Um zwischen verschiedenen Konfigurationen für timidity hin- und herzuwechseln, sollten Sie eselect verwenden.

Befehlsauflistung 4.5: Konfigurationen ändern

# eselect timidity list
# eselect timidity set eawpatches

Vergessen Sie nicht, timidity zum Default Runlevel hinzuzufügen.

Befehlsauflistung 4.6: timidity zum Runlevel default hinzufügen

# rc-update add timidity default
# /etc/init.d/timidity start

Sie können jetzt versuchen, MIDI-Dateien abzuspielen.

Tools und Firmware

Bestimmte Soundkarten können von Tools, die mit alsa-tools und den alsa-firmware Paketen geliefert werden, profitieren. Sie können beide mit einem simplen emerge installieren.

Befehlsauflistung 4.7: ALSA-Tools installieren

# emerge alsa-tools

Mehrere Soundkarten

Sie können mehr als eine Soundkarte gleichzeitig in Ihrem System haben, vorausgesetzt Sie haben ALSA in Ihrem Kernel als Module gebaut. Sie müssen lediglich in /etc/modprobe.d/alsa.conf angeben, welche zuerst gestartet werden soll. Ihre Karten werden in dieser Datei durch ihren Treibernamen identifiziert. 0 ist die erste Karte, 1 ist die zweite, und so weiter. Hier ist ein Beispiel für ein System mit zwei Soundkarten.

Befehlsauflistung 4.8: Zwei Soundkarten in /etc/modprobe.d/alsa.conf

options snd-emu10k1 index=0
options snd-via82xx index=1

Oder, falls Sie zwei Karten haben, welche den gleichen Treiber benutzen, spezifizieren Sie beide auf der gleichen Zeile mit durch Komma getrennten Zahlen. Hier ein Beispiel für ein System mit drei Soundkarten, in dem zwei von ihnen die gleiche Intel High Definition Audio Karte sind.

Befehlsauflistung 4.9: Mehrere Soundkarten in /etc/modprobe.d/alsa.conf

options snd-ymfpci index=0
options snd-hda-intel index=1,2

Plugins

Möglicherweise wollen Sie einige Plugins für zusätzliche Funktionen installieren. alsa-plugins ist eine Sammlung von nützlichen Plugins, welche beinhaltet: PulseAudio-Ausgabe, einen Muster-Frequenz-Konverter, jack (ein niedrig-Latenz Audio Server), und ein Encoder welcher 6-Kanal Audio durch digitale S/PDIF Verbindungen (sowohl optisch als auch koaxial) ausgeben kann. Sie können wählen, welches dieser Plugins Sie installiert haben wollen, indem Sie Ihre USE-Flags zu /etc/portage/package.use hinzufügen.

Befehlsauflistung 4.10: alsa-plugins installieren

#  emerge -avt alsa-plugins

Ein großes Dankeschön an...

...alle, die zu der bisherigen Version von Gentoos ALSA-Leitfaden beigetragen haben: Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston, John P. Davis, Sven Vermeulen, Benny Chuang, Tiemo Kieft und Erwin.

Literatur



Drucken

Seite aktualisiert 13. Februar 2012

Die Originalversion dieser Übersetzung wird nicht länger gepflegt

Zusammenfassung: Dieses Dokument hilft dem Benutzer dabei, ALSA unter Gentoo Linux zu installieren.

Shyam Mani
Autor

Joshua Saddler
Autor

Diego Pettenò
Mitarbeiter

Christian Simon
Übersetzer

Tobias Heinlein
Übersetzer

Jan Hendrik Grahl
Korrektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.