Gentoo Logo

Disclaimer : Dit document is niet juist en is niet meer onderhouden.


Gentoo Linux ALSA handleiding

Inhoud:

1.  Inleiding

Wat is ALSA?

ALSA staat voor Advanced Linux Sound Architecture en stuurt de audio en MIDI (Musical Instrument Digital Interface) functies van het Linux besturingssysteem aan. ALSA is de standaard geluidsmodule in de 2.6 kernel, welke OSS (Open Sound System) heeft vervangen, dat werd gebruikt in de 2.4 kernels.

ALSA's belangrijkste toepassingen zijn het aansturen van praktisch elke geluidskaart -van standaard kaarten tot professionele systemen-, drivers als externe module, compatibiliteit met OSS en een user-space library alsa-lib om het ontwikkelen van nieuwe toepassingen te vergemakkelijken.

ALSA en Gentoo

Eén van de sterke punten van het Gentoo Linux systeem ligt de grote keuze vrijheid van de gebruiker om een systeem samen te stellen. ALSA heeft deze mogelijkheid ook binnen Gentoo. Er zijn twee manieren om ALSA te configureren op het systeem. In het volgende hoofdstuk worden deze uitgelegd.

2.  ALSA installeren

Keuze mogelijkheden

Waarschuwing: De onderstaande methoden sluiten elkaar uit. Het is niet mogelijk ALSA zowel in de kernel mee te compileren en op hetzelfde moment gebruik te maken van media-sound/alsa-driver.

De twee keuze mogelijkheden zijn:

  1. Gebruik de in de kernel meegeleverde ALSA drivers. Dit is de aanbevolen methode.
  2. Gebruik Gentoo's media-sound/alsa-driver pakket.

Beiden methoden worden kort bekeken voordat er een keuze gemaakt hoeft te worden.

Het gebruik van de in de kernel meegeleverde ALSA drivers heeft de volgende voor- en nadelen:

Kernel ALSA Voor- en nadelen
+ Redelijk stabiel, omdat de drivers in de kernel zijn geïntegreerd.
+ Slechts één keer nodig om te installeren
- De drivers kunnen wat ouder zijn dan de alsa-driver.

En voor de alsa-driver geldt het volgende.

alsa-driver Voor- en nadelen
+ Altijd de laatste drivers van het ALSA Project.
- Elke keer dat de kernel ge-update wordt, moet de alsa-driver overnieuw geïnstalleerd.
- De juiste kernel opties moeten uitgezet worden.

Dus...

Het grootste verschil tussen het gebruik van de alsa-driver dan wel de ALSA in de kernel is dat de alsa-driver over het algemeen beter up-to-date is. Dit maakt echter geen groot verschil in het gebruik, en daarom wordt aangeraden de kernel versie te gebruiken. Wanneer er problemen zijn met de installatie van de ALSA kernel modules, is het belangrijk om eerst te proberen de fout te reproduceren met de alsa-driver en dan een bug report in te vullen op Gentoo Bugzilla. Doe dit ongeacht de uitkomst met de alsa-driver.

Voordat u verder gaat

Het maakt niet uit welke installatie methode is gekozen, allereerst moet u weten welke drivers de geluidskaart gebruikt. In de meeste gevallen zijn geluidskaarten (onboard en ook andere) op de PCI-bus aangesloten en deze wetenschap kan u helpen om de benodigde informatie te vinden. Om te zien wat er op de PCI-bus is aangesloten typen we lspci (emerge sys-apps/pciutils indien nodig). In het geval dat u een USB geluidskaart heeft, kan lsusb uit sys-apps/usbutils uitkomst bieden. Voor ISA kaarten kunt u sys-apps/isapnptools proberen. Ook de onderstaande internetpagina's kunnen u verder helpen.

Nota: Voor het gemak nemen we vanaf nu aan dat de gebruiker een PCI kaart heeft.

Nu zoeken we uit wat voor kaart u exact heeft.

Codevoorbeeld 2.1: Details geluidskaart

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

We weten nu dat de geluidskaart in de voorbeeld PC een "Sound Blaster Live!" is en dat de fabrikant "Creative Labs" is. Ga nu naar de ALSA Soundcard Database pagina en selecteer "Creative Labs" in het menu. U wordt naar de "Creative Labs" pagina van de database gestuurd, waar u kunt zien dat de "SB Live!" de module emul0k1 gebruikt. Dit is de informatie die u moet onthouden. Wanneer u geïnteresseerd bent in gedetailleerdere informatie, dan kunt u op de link naast de details klikken en gaat u naar de emul0k1 pagina.

De ALSA-kernel modules gebruiken

Als u het graag simpel houdt, is dit de beste manier om verder te gaan.

Nota: Sinds de 2005.0 release van Gentoo Linux is de 2.6 kernel standaard. Tenzij u zelf voor een 2.4 kernel heeft gekozen, zal het installeren van gentoo-sources een 2.6 kernel opleveren op de meeste systemen. Check a.u.b. of u een 2.6 kernel heeft, aangezien deze methode niet werkt op de oudere 2.4 kernel.

Dan kunnen we nu de kernel klaar maken voor het gebruik van ALSA.

Belangrijk: genkernel gebruikers moeten nu genkernel --menuconfig all draaien en dan de instructies volgen in Kernel opties voor ALSA.

Codevoorbeeld 2.2: naar de source

# cd /usr/src/linux
# make menuconfig

Nota: Het bovenstaande voorbeeld gaat er vanuit dat /usr/src/linux een symlink is naar de kernel sources die u wilt gebruiken. Zorg a.u.b. dat dit ook het geval is (kijk in het handboek bij het installeren van de kernel voor meer info over hoe de symlink goed te zetten).

Nu zullen we de juiste opties in de 2.6 kernel aanzetten om ALSA werkende te krijgen voor de geluidskaart.

NB.: Voor het gemak worden in alle voorbeelden de ALSA drivers al module gecompileerd. Het is aan te bevelen de handleiding hierin te volgen, zodat u later alsaconf kunt gebruiken, een programmaatje om uw kaart te configureren. Sla in ieder geval niet het Configuratie deel van deze handleiding over! Als u toch besluit om de opties in de kernel mee te compileren, zorg er dan voor dat u daar bij de (handmatige) configuratie ook aan denkt.

Codevoorbeeld 2.3: Kernel Opties voor ALSA

Device Drivers  --->
   Sound  --->

(Dit moet aangezet)
<M> Sound card support

(Zorg dat OSS onderdelen uit staan )
Open Sound System   --->
   < > Open Sound System (DEPRECATED)

(Ga één stap terug en ga dan naar ALSA)
Advanced Linux Sound Architecture  --->
   <M> Advanced Linux Sound Architecture
   (Selecteer deze optie voor MIDI "sequencing and routing")
   <M> Sequencer support
   (Oude stijl /dev/mixer* and /dev/dsp* ondersteuning. Aan te raden.)
   <M> OSS Mixer API
   <M> OSS PCM (digital audio) API

(Nu heeft u de keuze welke kaarten u wilt ondersteunen. Normaal is
dit er maar één. Als u meer dan één geluidskaart heeft moet u die natuurlijk
allemaal aanzetten.)

(Alleen voor testen en ontwikkeling, niet nodig voor de doorsnee
gebruiker, tenzij u weet wat u doet.)
Generic devices  --->

(Voor ISA geluidskaarten)
ISA devices   --->
(ALS u de Gravis geluidskaart heeft, vinkt u deze optie aan)
   <M> Gravis UltraSound Extreme

(Ga terug en naar PCI devices. De meeste geluidskaarten zijn
PCI devices)
PCI devices   --->
   (Selecteer nu bijvoorbeeld de emu10k1 driver)
   <M> Emu10k1 (SB Live!, Audigy, E-mu APS)
   (Of voor de standaard Intel onboard kaarten)
   <M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
   (Of voor een VIA kaart)
   <M> VIA 82C686A/B, 8233/8235 AC97 Controller

(Ga terug en selecteer het volgende voor een USB geluidskaart)
USB Devices   --->

Als alle opties nu goed staan kunt u de kernel (opnieuw) compileren en ALSA zou moeten functioneren na het herstarten van uw systeem. Vergeet niet om de GRUB configuratie aan te passen in het geval van een nieuwe kernel. U kunt nu verder naar ALSA Utilities om te zien of alles werkt zoals het zou moeten.

Gebruik maken van het ALSA Driver pakket

U heeft gekozen om het op de alsa-driver manier te doen. Er zijn een paar kleine dingen die u moet doen om er voor te zorgen dat alleen de drivers voor uw geluidskaart worden gecompileerd. Hoewel het geen kwaad kan om dit niet te doen, zorgt het er wel voor dat u niet onnodig veel drivers compileert.

Als u geen idee heeft welke drivers u nodig heeft voor uw geluidskaart, kijk dan even in het lspci deel van deze handleiding. Als u de driver naam heeft (emul0k1 in het voorbeeld), voeg dan in /etc/make.conf de variabele ALSA_CARDS toe.

Codevoorbeeld 2.4: Toevoegen van ALSA_CARDS aan make.conf

(Voor één geluidskaart)
ALSA_CARDS="emu10k1"
(Voor meer dan één geluidskaart gebruikt u spaties)
ALSA_CARDS="emu10k1 via82xx"

Als u reeds een kernel heeft gecompileerd, zorg er dan voor u de volgende stappen uitvoert voordat u alsa-driver compileert, anders is de kans groot dat ALSA niet werkt. Via de onderstaande code checkt u of uw systeem klaar is.

Nota: genkernel gebruikers kunnen verder met het installeren van de alsa-driver omdat zij automatisch een configuratie hebben die gelijk is aan de onderstaande.

  1. CONFIG_SOUND is aangevinkt. (Ondersteuning voor geluid)
  2. CONFIG_SOUND_PRIME is niet aangevinkt. (OSS ondersteuning uit)
  3. CONFIG_SND is niet aangevinkt (ALSA ondersteuning uit)
  4. /usr/src/linux is een symlink naar de kernel waarvoor u ALSA ondersteuning wilt.

Codevoorbeeld 2.5: .config checken

(We gaan er vanuit de /usr/src/linux naar de juiste kernel verwijst)

# cd /usr/src/linux
# grep SOUND .config
(1. is waar)
CONFIG_SOUND=y
(2. is waar)
CONFIG_SOUND_PRIME is not set
# grep SND .config
(en 3. is waar)
CONFIG_SND is not set

Nu hoeven we allen nog de magische woorden in te typen...

Codevoorbeeld 2.6: Het installeren van de alsa-driver

# emerge alsa-driver

Belangrijk: NB.: U moet elke keer dat u een nieuwe kernel compileert opnieuw emerge alsa-driver uitvoeren, omdat de drivers worden verwijderd.

3.  Instellen en testen van ALSA

ALSA Utilities

alsa-utils vormen een belangrijk deel van ALSA, omdat het enkele handige programma's bevat, waaronder de init-scripts. We raden daarom aan om alsa-utils te installeren.

Codevoorbeeld 3.1: Installeren van alsa-utils

# emerge alsa-utils

Nota: Als u ALSA in uw kernel en niet als modules heeft gecompileerd, ga dan verder naar ALSA Initscript. In alle andere gevallen moet u eerst ALSA configureren via alsa-conf, wat een onderdeel is van alsa-utils.

Configuratie

Nota: Zet eerst alle programma's uit die eventueel uw geluidskaart kunnen aanspreken tijdens het draaien van alsaconf.

De simpelste manier om uw geluidskaart te configureren is door alsaconf te draaien. Type gewoon alsaconf in een shell (als root).

Codevoorbeeld 3.2: Aanroepen van alsaconf

# alsaconf

U ziet nu een interface met een net menu dat automatisch uw geluidskaart zal proberen te vinden. U word gevraagd om uw geluidskaart uit een lijst te selecteren en daarna wordt u toestemming gevraagd om automatisch de benodigde veranderingen in /etc/modules.d/alsa te maken. Het volume wordt ingesteld, modules-update wordt gedraaid en /etc/init.d/alsasound wordt gestart. Wanneer alsaconf klaar is, kunt u verder gaan met het instelling van het ALSA init-script.

het ALSA Init-script

We zijn nu bijna klaar. Hoe u ALSA ook geïnstalleerd hebt, u moet er nog voor zorgen dat tijdens het starten van uw systeem de ALSA modules worden geladen en uw volume instellingen worden teruggezet. Het ALSA init-script alsasound zorgt hiervoor. Dit voegen we daarom toe aan het runlevel boot.

Codevoorbeeld 3.3: Toevoegen van ALSA aan boot runlevel

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

Nu checken we nog het bestand /etc/conf.d/alsasound en kijken of de variabele SAVE_ON_STOP op "yes" staat. Dit zorgt ervoor dat de geluidsinstellingen worden opgeslagen als u afsluit.

Audio Groep

Voordat we gaan testen is er nog één belangrijk ding dat we moeten instellen. Binnen elk *nix systeem geldt: draai niets als root tenzij het echt nodig is. Dat gaat ook hier op, daarom willen we de gebruiker toegang geven tot de geluidskaart. Om dit mogelijk te maken, moet de gebruiker lid zijn van de groep "audio". Daarom voegen we de gebruiker toe in deze groep. We gebruiken hiervoor gpasswd, waarvoor u ingelogd moet zijn als root.

Codevoorbeeld 3.4: Toevoegen van gebruikers aan de audio groep

(Vervang <username> door uw gebruikersnaam)
# gpasswd -a <username> audio 
Adding user <username> to group audio

Volume Check!

We zijn nu klaar met de configuratie, dus kunnen we ALSA gaan testen. Als u alsaconf heeft gebruikt kunt u deze stap overslaan, omdat alsaconf het onderstaande reeds voor u heeft uitgevoerd.

Codevoorbeeld 3.5: Starten van ALSA

(ALSA als module)
# /etc/init.d/alsasound start
 * Loading ALSA modules ...
 * Loading: snd-card-0 ...        [ ok ]
 * Loading: snd-pcm-oss ...       [ ok ]
 * Loading: snd-seq ...           [ ok ]
 * Loading: snd-emu10k1-synth ... [ ok ]
 * Loading: snd-seq-midi ...      [ ok ]
 * Restoring Mixer Levels ...     [ ok ]
(ALSA in kernel)
# /etc/init.d/alsasound start
 * Loading ALSA modules ...
 * Restoring Mixer Levels ...     [ ok ]

Na ALSA gestart is, kan het zijn dat het volume op "mute" staat. We gebruiken alsamixer om dit te checken.

Codevoorbeeld 3.6: Start alsamixer

(Dit opent een terminal. Alleen de benodigde instellingen zijn te
zien.)
# alsamixer

Belangrijk: Als u problemen heeft met het starten van alsamixer en de volgende foutmelding ziet: alsamixer: function snd_ctl_open failed for default: No such file or directory, betekent dit meestal dat er een probleem is met udev. Type killall udevd; udevstart om /dev opnieuw te laden en probeer nogmaals alsamixer te starten. Dit lost meestal de problemen op.

De ALSA Mixer kan eruit zien als in de figuur. Let vooral op de Master en PCM kanalen, die beiden een "MM" onderaan hebben staan. Dit betekent dat de kanalen op "mute" staan en u dus niets hoort.


Figuur 3.1: De Alsa Mixer, Muted

Fig. 1: AlsaMixer Muted

We gaan nu de kanalen van "mute" afhalen en het volume instellen.

Waarschuwing: Zowel Master als PCM moeten van "mute" af en op een hoger volume gezet worden voordat u iets kan horen over de speakers.

  • Bewegen tussen de kanalen doet u met het linker en rechter pijltje. (<- & ->)
  • Om "mute" uit te zetten, gaat u naar het juiste kanaal en drukt u op de m toets.
  • Om het volume hoger of lager te zetten gebruikt u het pijltje omhoog of omlaag.

Nota: Pas op met het instellen van Bass en Treble. Meestal is "50" een goede waarde hiervoor. Extreem hoge Bass waarden kunnen schade aanbrengen aan uw speakers wanneer deze hier niet voor gebouwd zijn.

Nu u alle instellingen hebt goed gezet, zou uw ALSA Mixer moeten lijken op de onderstaande. Zie dat er nu "00" staat in plaats van "MM" en dat sommige volumes nu zijn ingesteld.


Figuur 3.2: Alsa Mixer klaar voor gebruik

Fig. 2: AlsaMixer Unmuted

Sound Check!

Eindelijk. We kunnen muziek gaan draaien. Als alles tot nu toe werkte, kunt u nu gaan luisteren naar uw muziek. Een snelle manier om te testen of alles werkt is het gebruik van een command-line programma als media-sound/madplay. U kunt ook het bekendere mpg123 of het nieuwere mpg321 proberen. Wanneer u een fan bent van ogg, dan kunt u gebruik maken van ogg123 uit het media-sound/vorbis-tools pakket. Gebruik een speler waar u vertrouwd mee bent. Als altijd kunt u emerge gebruiken.

Codevoorbeeld 3.7: software installeren

(Installeer de programma's die u wilt gebruiken)
# emerge madplay mpg123
(Om .ogg af te spelen)
# emerge vorbis-tools

En dan kunt u uw favoriete liedje draaien...

Codevoorbeeld 3.8: Muziek luisteren

# 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 en USE

U kunt nu alsa toevoegen in /etc/make.conf om er zeker van te zijn dat uw programma's in het vervolg gebruik maken van ALSA. Sommige systemen (o.a. x86 en amd64) hebben ALSA standaard in USE staan.

Problemen?

Als u geen geluid hoort, kunt u het beste eerst naar de alsamixer instellingen kijken. 80% van alle problemen hebben te maken met "mute" of een te laag volume. Check ook of uw Window Manager sound applet niet op een te laag volume staat.

/proc is je vriend. En in dit geval is /proc/asound je beste vriend. We zullen even kort kijken hoeveel informatie er voor ons beschikbaar is daar.

Codevoorbeeld 3.9: Fun met /proc/asound

(Allereerst, als /proc/asound/cards uw kaart laat zien, dan heeft
ALSA uw kaart gevonden en is dat dus geen probleem.)
# cat /proc/asound/cards
0 [Live           ]: EMU10K1 - Sound Blaster Live!
                     Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11

(Als u ALSA buiten de kernel om draait, kunt u zo kijken hoeveel
ouder uw driver is ten opzichte van de alsa-driver.)
# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.8 (Thu Jan 13 09:39:32 2005 UTC).

(ALSA OSS emulatie details)
# 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

Een van de andere meest voorkomende problemen is de "Unknown symbol in module" foutmelding. Een voorbeeld hiervan staat hieronder.

Codevoorbeeld 3.10: Unknown Symbol in module foutmelding

# /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 ]

En wanneer u kijkt naar dmesg, zoals wordt voorgesteld, dan ziet u waarschijnlijk het volgende:

Codevoorbeeld 3.11: dmesg output

(Alleen de relevante stukken staan hier)
# 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

Het bovenstaande wordt veroorzaakt als u wisselt van het gebruik van alsa-driver naar de kernel modules, omdat de modules worden beschermd wanneer u alsa-driver umerged en daardoor achterblijven. Dus, wanneer u wisselt, geeft modprobe een mix van alsa-driver en in-kernel modules, wat uiteraard voor problemen zorgt.

De oplossing is simpel. We verwijderen de directory die het probleem veroorzaakt, nadat u unmerge alsa-driver heeft gedaan. Let wel op dat u de juiste directory verwijdert!

Codevoorbeeld 3.12: Verwijderen van de alsa-driver modules

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

Een andere reden voor foutmeldingen zoals hierboven kan zijn dat er een bestand in de map /etc/modules.d bestaat die de parameter device_mode gebruikt terwijl die niet nodig is. We kijken daarom na of dit inderdaad het geval is en zoeken het bestand dat de boosdoener is.

Codevoorbeeld 3.13: Confirming and searching for device_mode

(Kijk door dmesg voor een bevestiging)
# dmesg | grep device_mode
snd: Unknown parameter `device_mode'
(Zoek nu het probleem bestand)
# grep device_mode /etc/modules.d/*

Meestal is het een bestand dat alsa heet en een regel bevat met options snd device_mode=0666. Verwijder deze regel en start de alsasound service opnieuw; Het probleem zou nu opgelost moeten zijn.

4.  Andere dingen over ALSA

MIDI configureren

Als uw geluidskaart een onboard MIDI synthesizer heeft en u wilt luisteren naar .mid bestanden, dan kunt u awesfx installeren. Dit is een set programma's om de AWE32 driver aan te sturen, die u dan ook eerst moet installeren. Wanneer u geen hardware synthesizer heeft, kunt u een virtuele synthesizer installeren. Zie hiervoor Virtuele Synthesizers.

Codevoorbeeld 4.1: Installeren van awesfx

# emerge awesfx

Nota: U moet nu de SoundFont (SF2) files van de CD van uw geluidskaart of van een Windows installatie in /usr/share/sounds/sf2/ kopieren. Voor de Creative SBLive! zou dit 8MBGMSFX.SF2 zijn.

Na het kopiëren van de SoundFont bestanden kunt u een midi bestand afspelen. U kunt ook het asfxload commando aan /etc/conf.d/local.start toevoegen, zodat de SoundFont bij het starten van het systeem wordt geladen.

Nota: /mnt verwijzingen in de onderstaande codes zijn niet hetzelfde op uw machine. Het zijn voorbeelden. Pas daarom op en pas de verwijzingen aan!

Codevoorbeeld 4.2: Laden van SoundFonts

(kopieer SoundFont)
# cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/
(Of haal ze van de SoundBlaster CD)
# cp /mnt/cdrom/AUDIO/ENGLISH/SFBANK/8MBGMSFX.SF2 /usr/share/sounds/sf2/
(Laad de specifieke SoundFont)
# asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2

Nu kunt u midi bestanden afspelen met een programma als aplaymidi. Type aplaymidi -l voor een lijst met beschikbare poorten en kies er één om het bestand op af te spelen.

Codevoorbeeld 4.3: MIDI afspelen

(Check open poorten)
# 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
(Kies een poort, en speel en .mid bestand)
#  aplaymidi --port=65:0 /mnt/shyam/music/midi/mi2.mid

Virtuele Synthesizers

Als uw geluidskaart geen hardware synthesizer heeft, kunt u een virtuele als timidity++ gebruiken. De installatie is simpel.

Codevoorbeeld 4.4: Installeren van timidity++

# emerge timidity++

Om met timidity geluiden af te draaien, heeft het een sound font nodig. Als u die geen heeft, installeer dan timidity-eawpatches of timidity-shompatches. U kunt meerdere sound fonts installeren en er één kiezen om in /usr/share/timidity/ te plaatsen. Om tussen de verschillende timidity configuraties te kunnen wisselen moet u timidity-update gebruiken uit het timidity++ pakket.

Codevoorbeeld 4.5: Installeren van sound fonts

# emerge timidity-eawpatches
# timidity-update -g -s eawpatches

(of)

# emerge timidity-shompatches
# timidity-update -g -s shompatches

Vergeet niet om timidity toe te voegen aan het default runlevel.

Codevoorbeeld 4.6: Voeg timidity toe aan het default runlevel

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

Nu kunt u proberen om MIDI bestanden af te spelen.

Tools en Firmware

Sommige geluidskaarten hebben er baat bij om programma's uit alsa-tools en alsa-firmware pakketten te gebruiken. Als u alsa-tools gebruikt, zorg er dan voor dat de ALSA_TOOLS variabele in /etc/make.conf is ingesteld op de juiste tools. Bijvoorbeeld:

Codevoorbeeld 4.7: Selecteren van ALSA Tools in /etc/make.conf

ALSA_TOOLS="as10k1 ac3dec"

Als de ALSA_TOOLS variabele niet is ingesteld worden alle tools geïnstalleerd. Installeer nu alsa-tools (en/of alsa-firmware):

Codevoorbeeld 4.8: Installeren van ALSA Tools

# emerge alsa-tools

Dankwoordje

Iedereen die heeft meegewerkt aan de eerdere versies van de Gentoo ALSA handleiding: Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston, John P. Davis, Sven Vermeulen, Benny Chuang, Tiemo Kieft and Erwin.

Verwijzingen



Print

Upgedate op 2 november 2006

De originele versie van dit document wordt niet meer onderhouden

Korte inhoud: Deze handleiding helpt de gebruiker om ALSA te configureren onder Gentoo Linux.

Shyam Mani
Auteur

Dimitry Bradt
Vertaler

Donate to support our development efforts.

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