ALSA (
Les fonctionnalités principales de ALSA comprennent le support pour une
variété d'interfaces audio allant des cartes de son entrée de gamme jusqu'à
l'équipement professionnel, des pilotes entièrement modulaires, l'intégration
sécuritaire avec les fils d'exécution et le SMP, une compatibilité rétroactive
avec OSS et une bibliothèque pour l'espace utilisateur (
Une des principales forces de Gentoo est que l'utilisateur a le plein contrôle sur l'installation et la configuration de son système. L'utilisation de ALSA dans Gentoo suit ce principe. Il existe deux méthodes différentes pour mettre en place le support ALSA sur votre système. Celles-ci sont présentées en détails à la section suivante.
Les deux méthodes sont :
Voici un aperçu des deux méthodes qui vous aidera à faire votre choix.
Les avantages et les inconvénients reliés à l'utilisation de l'implémentation de ALSA présente dans le noyau sont les suivants :
ALSA dans le noyau | Avantages et inconvénients |
---|---|
+ | |
+ | |
- |
Voici ceux reliés à l'utilisation de
alsa-driver | Avantages et inconvénients |
---|---|
+ | |
- | |
- |
La principale différence entre
Peu importe la méthode d'installation choisie, il vous faut savoir quels
pilotes sont utilisés par votre carte de son. Dans la plupart des cas, les
cartes de son (intégrées à la carte-mère ou non) sont de type PCI ;
Maintenant, voici comment obtenir des informations relatives à la carte de son :
# lspci -v | grep -i audio 0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)
Nous savons maintenant que la carte de son de l'ordinateur est une Sound
Blaster Live! et que le manufacturier de la carte est Creative Labs.
Reportez-vous à la page
Si, comme moi, vous n'aimez pas compliquer inutilement les choses, la marche à suivre suivante vous conviendra.
Configurons le noyau pour activer ALSA.
# cd /usr/src/linux # make menuconfig
Nous allons maintenant passer en revue quelques-unes des options que vous devrez activer pour obtenir le support ALSA pour votre carte de son.
Notez que par souci de simplicité, tous les exemples qui suivent utilisent des
modules pour le support ALSA. Nous vous recommandons de procéder de la même
façon, puisque cela permet d'utiliser
Device Drivers ---> Sound --->(Cette option doit être activée.) <M> Sound card support(Assurez-vous que OSS est désativé.) Open Sound System ---> < > Open Sound System (DEPRECATED)(Reculez d'un écran puis entrez dans la section ALSA.) Advanced Linux Sound Architecture ---> <M> Advanced Linux Sound Architecture(Sélectionnez cette option si vous voulez du support MIDI.) <M> Sequencer support(Périphériques /dev/mixer* et /dev/dsp* dans l'ancien style. Recommandé.) <M> OSS Mixer API <M> OSS PCM (digital audio) API(Vous devez maintenant choisir pour quel matériel vous souhaitez activer le support. Habituellement, vous disposez d'une seule carte. Toutefois, si vous en avez plus d'une, activez le support pour chacune de vos cartes.) (Surtout pour le développement et les tests ; n'est pas nécessaire pour une utilisation de tous les jours, sauf si vous savez ce que vous faites.) Generic devices --->(Pour les cartes de son ISA.) ISA devices --->(Si vous aviez une carte Gravis, il vous faudrait sélectionner cette option.) <M> Gravis UltraSound Extreme(Reculez d'un écran et allez à la section du matériel PCI. La plupart des cartes de son sont ajourd'hui PCI.) PCI devices --->(Sélectionnez le pilote emu10k1 pour votre carte.) <M> Emu10k1 (SB Live!, Audigy, E-mu APS)(Ou le pilote pour une carte Intel.) <M> Intel/SiS/nVidia/AMD/ALi AC97 Controller(Ou encore celui pour une carte VIA.) <M> VIA 82C686A/B, 8233/8235 AC97 Controller(Reculez d'un écran et choisissez le pilote approprié si vous avez une carte USB.) USB Devices --->
Maintenant que vous avez choisi les options dont vous avez besoin, vous pouvez
(re)compiler le noyau. Le support ALSA devrait être activé lorsque vous
redémarrerez avec votre nouveau noyau. Poursuivez votre lecture avec la
section
Ainsi vous avez décidé d'utiliser
Si vous ne savez pas quels pilotes sont nécessaires à votre carte de son,
jetez un œil à la section de ce guide portant sur
(Pour une seule carte de son :) ALSA_CARDS="emu10k1"(Pour spécifier plus d'une carte, séparez les noms avec des espaces :) ALSA_CARDS="emu10k1 via82xx"
Si vous avez déjà compilé votre noyau et que vous voulez utiliser
(Nous assumons que le lien symbolique linux pointe vers le bon noyau.) # cd /usr/src/linux # grep SOUND .config(1. Ok) CONFIG_SOUND=y(2. Ok) CONFIG_SOUND_PRIME is not set # grep SND .config(Et 3. Ok) CONFIG_SND is not set
Il ne reste qu'à taper les mots magiques... et non, ce n'est pas abracadabra.
# emerge alsa-driver
# emerge alsa-utils
La façon la plus simple de configurer ALSA est d'exécuter
# alsaconf
Vous serez accueilli par une interface agréable basée sur un système de menus
et qui tentera de détecter automatiquement votre carte de son en interrogeant
votre matériel. On vous offrira alors une liste où vous devrez choisir votre
carte. Une fois cela fait, on vous demandera si vous désirez que le programme
modifie automatiquement
Nous avons presque terminé. Peu importe la méthode que vous avez choisie pour
installer ALSA, vous aurez besoin de charger vos modules, d'initialiser ALSA
et de restaurer vos paramètres de volume lors du démarrage. Le script
d'initialisation de ALSA (nommé
# rc-update add alsasound boot * alsasound added to runlevel boot * rc-update complete.
Il ne vous reste qu'a vérifier le fichier
Avant de tester votre système, il faut s'occuper d'un dernier détail
(Remplacez <nom_d'utilisateur> par le nom approprié.) # gpasswd -a <nom_d'utilisateur> audio Adding user <nom_d'utilisateur> to group audio
Nous en avons fini avec les prérequis et la configuration. Lançons ALSA !
Si vous avez utilisé
(Si ALSA a été compilé en modules :) # /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 ](Si ALSA a été compilé dans le noyau :) # /etc/init.d/alsasound start * Loading ALSA modules ... * Restoring Mixer Levels ... [ ok ]
Maintenant que nous nous sommes occupé du nécessaire, vérifions les niveaux du
volume ; dans certains cas, les canaux sont muets. Pour ce faire, nous
utiliserons
(Ouvre le programme en mode console. Seuls les paramètres requis sont affichés.) # alsamixer
Voici ce à quoi ALSA Mixer ressemblera
Maintenant, sortons les canaux du mode muet, et ajustons le volume.
Lorsque vous aurez terminé, votre mixeur ALSA devrait ressembler à celui-ci. Notez les 00 qui ont remplacé les MM, et aussi les niveaux de volume qui ont été ajustés à des valeurs optimales.
Une façon désagréable de vérifier si votre carte fonctionne est de faire jouer du grésillement dans vos haut-parleurs. C'est plutôt bête, mais cela vous dira tout de suite si votre carte fonctionne.
# cat /dev/urandom > /dev/dsp
Vous devriez entendre du bruit de fond. Tapez
Enfin ! Un peu de musique ! Si tout ce qui précède s'est bien
déroulé, vous devriez être capable d'écouter de la musique. Utiliser une
application en mode ligne de commande telle que
(Installer l'application que vous désirez :) # emerge madplay mpg123 xmms(Pour jouer des fichiers .ogg :) # emerge vorbis-tools
Puis faites jouer votre chanson favorite.
# 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%
Vous pouvez maintenant ajouter
Si vous êtes incapable d'entendre du son, la première chose à vérifier est le
réglage de
(D'abord et avant tout, si /proc/asound/cards contient votre carte, ALSA a correctement reconnu celle-ci.) # cat /proc/asound/cards 0 [Live ]: EMU10K1 - Sound Blaster Live! Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11(Si vous utilisez l'implémentation de ALSA du noyau et vous demandez, comme moi, jusqu'à quel point votre version date par rapport à alsa-driver, voici comment afficher la version actuelle de ALSA :) # cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.8 (Thu Jan 13 09:39:32 2005 UTC).(Détails de l'émulation OSS par ALSA :) # 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
Si votre carte comprend un synthétiseur MIDI intégré et que vous voulez
écouter des fichiers .mid, vous devrez installer
# emerge awesfx
Après avoir copié les fichiers SoundFont, vous pouvez jouer un fichier MIDI en
suivant la procédure ci-dessous. Vous pouvez aussi ajouter la commande
(D'abord, copiez le fichier SoundFont :) # cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/(Puis chargez le fichier Soundfont approprié :) # asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2
Vous pouvez maintenant faire jouer un fichier MIDI avec un programme tel que
(Vérifiez les ports disponibles :) # 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(Choisissez un port et faites jouer un fichier :) # aplaymidi --port=65:0 /mnt/shyam/music/midi/mi2.mid
Si votre carte n'a pas de synthétiseur matériel, vous pouvez utiliser à la
place un synthétiseur virtuel tel que
# emerge timidity++
Pour que timidity puisse jouer, il a besoin d'un fichier de police de son. Si
vous n'en avez pas, installez
# emerge timidity-eawpatches # timidity-update -g -s eawpatches(ou) # emerge timidity-shompatches # timidity-update -g -s shompatches
N'oubliez pas d'ajouter
# rc-update add timidity default # /etc/init.d/timidity start
Vous pouvez maintenant essayer de
Des outils sont disponibles dans les paquets
ALSA_TOOLS="as10k1 ac3dec"
Si la variable ALSA_TOOLS n'est pas réglée, tous les outils disponibles seront
compilés. Maintenant, installez
# emerge alsa-tools
Tous ceux qui ont contribué à la version précédente du Guide ALSA pour Gentoo : Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston, John P. Davis, Sven Vermeulen, Benny Chuang, Tiemo Kieft et Erwin.