Petit guide de paramétrage multi-canaux pour ALSA

Version française du ALSA Multi-channel Audio mini-HOWTO

Uday Bondhugula

Sylvio Desjardins

Adaptation Française 

Jean-Philippe Guérard

Relecture de la version française 

Jean-Philippe Guérard

Préparation de la publication de la v.f. 

Version : 2008-02-08.fr.1.0

25 mars 2008

Résumé

Ce petit guide est conçu pour ceux qui veulent installer une sortie audio 4.1 ou 5.1 canaux sur leur machine Linux, et pouvoir utiliser tous leurs haut-parleurs. La plupart des informations de ce document proviennent de la documentation, de la FAQ, et des pages de manuel d'ALSA.


1. Introduction

1.1. Commentaires et corrections

Merci de faire parvenir à l'auteur, en anglais, vos questions et commentaires relatifs à la version originale de ce document, à l'adresse .

N'hésitez pas à faire parvenir vos commentaires et suggestions concernant l'adaptation française de ce document au projet Traduc.org à l'adresse : .

1.2. Site web de l'auteur

http://www.cse.ohio-state.edu/~bondhugu/

1.3. Limitation de responsabilité

L'auteur décline toute responsabilité quant aux dommages que vous pourriez causer à quoi que ce soit en suivant les instructions de ce guide pratique. Cela dit, cela demanderait un talent incroyable.

1.4. Prérequis

Vous devez disposer d'une carte son ou d'un circuit sonore intégré 4.1 ou 5.1 canaux (par exemple un circuit Intel ICH5 ou un circuit équivalent plus récent) et de haut-parleurs 4.1, 5.1 ou 6.1 (comme par exemple pour du 5.1 : deux avants, deux arrières, un central et un caisson de basses). Je supposerai que vous disposez de l'une des dernières version d'ALSA (la version 1.0.16 est la dernière disponible à la date de traduction de ce document), et que les pilotes de votre ou de vos cartes sont correctement installés. Ce qui ne devrait pas poser de problème si vous utilisez une distribution Linux reconnue.

2. Connections physiques

Vous avez effectué correctement vos branchements (en respectant le code des couleurs de chaque port) comme expliqué dans le manuel de vos haut-parleurs. Si vous avez une carte son avec les canaux 5.1 séparés, vous devez avoir des ports séparés pour avant, arrière, centre, microphone, etc.

Pour la plupart des cartes fournies avec le chipset audio ICH5, les canaux arrières sont partagés avec la sortie "line-in", et le microphone avec Center/LFE.

La meilleur façon d'installer vos haut-parleurs serait de connecter ces ports partagés aux haut-parleurs, et d'utiliser les ports du panneau frontal pour le micro et le casque.

3. Édition de ~/.asoundrc

Par défaut, vous constaterez que seuls les haut-parleurs frontaux (2 sorties avant pour le 5.1 par ex.) sont utilisés chaque fois que vous émettez du son avec xmms, mplayer, ou tout autre application (à moins que de l'audio 5.1 soit encodée).

Vous voulez du son sur tous vos haut-parleurs même pour une source stéréo; vous devez donc faire cette configuration manuelle additionnelle. Je n'aime pas dire ça, mais M$ Windows est très en avance dans ce cas précis

(Vous n'avez rien d'autre à faire que choisir votre configuration de haut-parleurs dans une liste, et les 2 canaux audio sont automatiquement envoyés vers les 5 sorties et les 5 canaux sont utilisés comme il se doit par WMP).

Si vous avez une carte audio Intel ICH5, vous pouvez copier ce .asoundrc dans votre répertoire personnel (du type /home/user). Autrement, le supplément que vous devez rajouter à votre ~/.asoundrc est le suivant :

# Pour des haut-parleurs 5.1
pcm.ch51dup {
                       slave.pcm surround51
                       slave.channels 6
                       type route
                       ttable.0.0 1
                       ttable.1.1 1
                       ttable.0.2 1
                       ttable.1.3 1
                       ttable.0.4 0.5
                       ttable.1.4 0.5
                       ttable.0.5 0.5
                       ttable.1.5 0.5
  }

# Pour des haut-parleurs 4.1
pcm.ch41dup {
                       type route
                       slave.pcm surround41
                       slave.channels 5
                       ttable.0.0 1
                       ttable.1.1 1
                       ttable.0.2 1
                       ttable.1.3 1
                       ttable.0.4 0.5
                       ttable.1.4 0.5
  }

Le standard ALSA pour les numéros d'assignation des canaux est :

#0 – avant gauche, #1 – avant droit, #2 – arrière gauche, #3 – arrière droit, #4 – centre, et #5 – LFE (caisson de basses). Dans le dispositif ainsi crée ci-dessus, nous utilisons le plugin de routage de ALSA pour copier les canaux avants gauche et droit en canaux arrières correspondants, ainsi que pour créer les centres et LFE avec chacun 50% de la puissance des canaux gauches et droits (à faire : la méthode idéale serait d'utiliser un filtre passe-bas pour isoler les basses fréquences à envoyer au caisson de basses, mais cette possibilité est encore très récente. Quoi qu'il en soit, le plupart des caissons sont équipés d'un filtre passe bas pour être sûr de bloquer les hautes fréquences éventuelles et vous ne remarquerez probablement pas de différence significative).

Un parasitage peut apparaître dans les canaux avec certains matériels : voir la fin de la section 4.

4. Réglages des volumes par défaut

Rajoutez ceci à la fin de votre /etc/rc.local afin que les bons contrôles ne soient pas en sourdine et que les volumes par défaut soient réglés correctement dès le démarrage du système.

...
echo Setting 5.1 Channel volumes...
amixer -q set Master 100% unmute
amixer -q set PCM 40% unmute
amixer -q set Surround 100% unmute
amixer -q set "Surround Jack Mode" "Independent"
amixer -q set Center 81% unmute
amixer -q set LFE 100% unmute
amixer -q set "Mic select" "Mic1"
amixer -q set "Mic" 65% unmute
amixer -q set "Channel mode" "6ch"
amixer -q set "Center/LFE Down mix" mute
amixer -q set "Duplicate Front" mute

Et pour le partage de la carte son avec jack (jack-sharing), utilisez plutôt dans votre /etc/rc.local :

...
echo Setting 5.1 Channel volumes...
amixer -q set Master 100% unmute
amixer -q set PCM 40% unmute
amixer -q set Surround 100% unmute
amixer -q set Center 81% unmute
amixer -q set LFE 100% unmute
amixer -q set "Surround Jack Mode" "Shared"
amixer -q set "Mic select" "Mic2"
amixer -q set "Mic" 65% unmute
amixer -q set "Channel mode" "6ch"
amixer -q set "Center/LFE Down mix" mute
amixer -q set "Duplicate Front" mute

La manière d'ajustement du volume la plus pratique est d'utiliser le beau contrôleur externe probablement fourni avec votre caisson de basse. Cela a pour effet de régler le volume proportionnellement sur tous vos haut-parleurs. C'est mieux que de les ajuster séparément. Aussi, le mieux est de régler à 100%, et vous pouvez ajuster les proportions pour votre meilleur confort. Maintenant, vous pouvez immédiatement lancer le ./etc/rc.local.

5. Tester votre installation

Assurez-vous d'avoir exécuté le fichier /etc/rc.local correctement dans un terminal. L'utilitaire ''speaker-test'' fourni avec alsa-utils peut être utilisé pour tester votre installation.

$ speaker-test -c 6 -D surround51

speaker-test 1.0.11rc2

Playback device is surround51
Stream parameters are 48000Hz, S16_LE, 6 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 3 to 5461
Period size range from 3 to 5461
Periods = 4
Buffer time size 2525
To choose buffer_size = 5460
To choose period_size = 1365
was set period_size = 1365
was set buffer_size = 5460
0 - Front Left
4 - Center
1 - Front Right
3 - Rear Right
2 - Rear Left
5 - LFE
Time per period = 17.800086

Vous devriez entendre le son sur chacun de vos haut-parleurs. Un phénomène fréquent avec certains chipsets ICH5 est que les canaux centre et LFE se retrouvent permutés avec les canaux arrière. Afin de régler ça, vous devrez éditer une section de /etc/alsa/cards/ICH4.conf à l'identique de /etc/alsa/cards/ICH.conf. Vous pouvez utiliser ce ICH4.conf. Aussi, certaines anciennes versions d'ALSA ont un problème avec le canal arrière droit; dans ce cas, faites une mise à niveau.

Pour tester votre microphone, utilisez Skype.

6. Configuration des applications

Nous allons maintenant configurer les applications généralement utilisées (XMMS, Mplayer, Xine, Gaim, beep-media-player) afin d'utiliser le périphérique ch51dup pour dupliquer deux canaux de sortie dans tous vos haut-parleurs et caissons.

Pour XMMS, aller dans Options --> préférences --> E/S Audio. Sous ''Plugin de sortie'', sélectionner ''Plugin de sortie ALSA 1.2'', cliquer sur ''Configurer'', et dans le champ ''Périphérique Audio'', entrer ch51dup'' (ou ''ch41dup pour des haut-parleurs 4.1). Les périphériques que vous avez créé dans .asoundrc ne sont pas énumérés ici; aussi, vous devez les entrer manuellement. Une configuration similaire peut être faite pour beep-media-player. Toutes les fichiers audio encodés sur deux voies --bi-cannal--(MP3, WMA, etc.) seront maintenant émis sur chacun des cinq haut-parleurs. (Merci à Eric Browne pour avoir précisé ce problème (probablement dû à la combinaison de versions particulières de XMMS et des librairies d'ALSA?) lorsqu'on utilise ch51dup avec XMMS : au cas où la lecture avec XMMS serait variable/saccadée, rajoutez ceci à votre .asoundrc et utilisez une copie de votre périphérique au lieu de ch51dup).

Pour MPlayer, ouvrez ~/mplayer/config et copiez y les lignes suivantes :

ao=alsa:device=ch51dup
channels=6

Par défaut, Mplayer n'utilisera pas le périphérique ch51dup. Cependant, si vous voulez lire une vidéo encodée en 5.1 avec (tels des DVDs), vous devrez utiliser par défaut le périphérique surround51, que l'on peut configurer dans Préférences > Audio, sélectionnez "alsa ALSA-0.9.x-1.x audio output" > "Configure driver" > "Device" > "surround51". Je ne sais pas comment dire à MPlayer de choisir automatiquement un périphérique particulier sur lequel il doit lire le contenu. Xine utiliserai par défaut le périphérique surround51 pour lire les DVDs encodés en Dolby 5.1. Ainsi, vous n'avez rien à faire à moins que vous ne lisiez des fichiers stéréos avec ce lecteur.

Vous pouvez également vouloir changer la configuration du plugin de MPlayer utilisé pour lire des vidéos dans un navigateur. Comme la plupart de ceux qui ont la stéréo, vous pouvez vouloir éditer la ligne pour l'option de sortie audio dans /etc/mplayerplug-in.conf afin de lui faire utiliser ch51dup.

# vi /etc/mplayerplug-in.conf
...
ao=alsa:device=ch51dup,oss,arts,esd
...

Sur les machines où mplayerplug-in est remplacé par gecko-mediaplayer, renseignez-vouz dans la documentation de ce plug-in.

Pour Gaim (ou Pidgin), aller dans ''Preferences->Sons'',. Sous "Sortie sonore" > ''Méthode'', choisir ''Command'' et dans ''Commande pour le son'', entrer 'aplay -c 6 -r 44100 -D ch51dup'.

Commentaires, questions et réactions par email sont les bienvenus.