Alsa
Advanced Linux Sound Architecture est un composant du noyau Linux qui gère le support des cartes sons, et qui fournit une API de plus haut niveau pour les développeurs d'applications.
Si vous recherchez une alternative, vous pouvez utiliser OSS.
Sommaire |
Installation
Noyau
Sous ArchLinux, le noyau par défaut est déjà configuré pour profiter d'ALSA. Il ne reste qu'à installer certains utilitaires pratiques en espace utilisateur et à modifier la configuration si nécessaire. Udev s'occupe automatiquement de la détection du matériel, et du chargement des pilotes adéquats.
gpasswd -a UTILISATEUR audio
Espace utilisateur
Certains utilitaires sont utiles pour contrôler alsa :
- alsa-utils contient un contrôle du volume des différents canaux alsamixer, ainsi qu'un lecteur pcm utile à des fins de tests.
- alsa-oss fournit la compatibilité avec des applications oss avec le support de dmix
Ainsi, pour installer ces paquets, tapez la commande suivante :
pacman -S alsa-utils alsa-oss
Régler les niveaux
Par défaut, tous les canaux sont muets. Pour remédier à cela, vous pouvez utiliser alsamixer, avec une interface curse, ou bien directement amixer en cli.
Les canaux muets sont reconnaissables au MM au bas de la barre de niveau. Utiliser la touche M pour changer son état. Vérifiez aussi que les niveaux ne sont pas à 0.
Utilisez les flèches haut et bas pour monter ou baisser le volume, gauche et droite pour naviguer entre les différents canaux disponibles.
Il faut en général régler les canaux PCM, Master et Front voire plus si vous possédez une carte son évoluée.
Pour une utilisation générale, régler les trois premiers canaux est suffisant.
Testez alors si le son marche :
speaker-test -c 2
Si le test est négatif, rendez-vous
Vous devriez sauver vos niveaux pour qu'ils ne soient pas perdus après un redémarrage :
alsactl store
ce qui créera un fichier /var/lib/alsa/asound.state.
Configuration
Pour voir si la (ou les) carte(s) est de suite reconnue, faire :
cat /proc/asound/cards
Ce qui va donner la liste des cartes sons reconnues par alsa.
Ré-échantillonnage haute qualité
Par défaut, alsa ré-échantillonne automatiquement tous les sons à 48000 Hz, cela via dmix qui utilise un algorithme de basse qualité qui produit des distorsions audibles notamment sur tous les fichiers musicaux issus de CDs (44100 Hz ; les DVDs étant en 48000 Hz).
Pour utiliser l'algorithme haute qualité Secret Rabbit Code (= libsamplerate), il faut tout d'abord installer les paquets alsa-plugins et libsamplerate.
Ensuite créer le fichier ~/.asoundrc et y insérer :
defaults.pcm.rate_converter "samplerate_best"
- Les autres algorithmes disponibles sont samplerate_medium, samplerate, samplerate_linear et samplerate_order.
- Samplerate_best offre la meilleure qualité sonore après ré-échantillonnage mais utilise beaucoup de ressource pour cela, ce qui est un moindre mal pour les audiophiles et les nouvelles générations de processeurs.
- Samplerate_medium, nettement moins gourmand, est quant à lui un bon compromis entre qualité et consommation de ressource processeur (idéal pour les netbooks).
Source : Secret Rabbit Code
Passer la fréquence d'échantillonnage par défaut en 44100 Hz
La fréquence d'échantillonnage par défaut d'Alsa est de 48000 Hz, hors celà n'est absolument pas optimal pour un système audiophile ayant pour but de diffuser du son à 44100 Hz (les CDs et une grande majorité du son sur internet ; les DVDs étant en 48000 Hz). En effet, le ré-échantillonnage parfait n'existe pas et même le meilleur algorithme introduira son lot de distorsions et d'artefacts plus ou moins audibles, en plus de consommer des ressources processeurs !
La solution dans ce cas est évidente, passer l'échantillonnage par défaut d'Alsa en 44100 Hz pour éviter le ré-échantillonnage :
Éventuellement créer le fichier ~/.asoundrc et y insérer :
# réglage de la carte son par défaut, selon la commande « aplay -l », card = carte et device = périphérique
defaults.pcm.card 0
defaults.pcm.device 0
defaults.ctl.card 0
pcm.!default {
type plug
slave.pcm "44k"
}
pcm.44k {
type dmix
ipc_key 321456
ipc_key_add_uid true
slave {
pcm "hw:0" # 0 est le numéro de card = carte à utiliser
period_time 0
period_size 1024
buffer_size 8192
rate 44100
}
}
Source : alsa-project.org
Mixer plusieurs sources sonores
Pour pouvoir jouer plusieurs sons de plusieurs applications en même temps sur la même carte son ne supportant pas le mixage matériel.
Il y a un plugin pour ALSA appelé dmix (direct mixing) qui permet un mixage logiciel sans installer un serveur de son comme Pulseaudio ou Jack.
Dmix est maintenant utilisé par défaut. Notez que son utilisation peut réduire légèrement la qualité.
Pour activer le mixage multi-utilisateurs, notamment pour utiliser mpd, insérez ceci dans /etc/asound.conf :
Pour plus d'informations, rendez-vous sur la page dédiée.
Problèmes
carte graphique ATI et puce audio intel
Si le son disparaît totalement ou de manière aléatoire en fonction du redémarrage du PC. Le souci vient peut-être d'un conflit entre le module snd_hda_codec_atihdmi et snd-hda-intel. Il vous faudra éditer le fichier modprobe.conf en root :
nano /etc/modprobe.d/modprobe.conf
Et le modifier pour rendre prioritaire la carte/puce son Intel.
# # /etc/modprobe.d/modprobe.conf (for v2.6 kernels) # # options snd-hda-intel index=0 options snd-hda-codec-atihdmi index=1
Microphone non fonctionnel
Le paquet alsa-firmware n'est pas installé par défaut.
Son installation peut donc résoudre le problème.
pacman -S alsa-firmware