Première chose à savoir : par défaut PulseAudio est configuré en stéréo

C’est important à savoir avant d’aller bidouiller en vain asound.conf ou autres. Alsa est certainement déja configuré pour le surround par défaut, mais par défaut PulseAudio ne vous donnera que de la stéréo. Et pour rêgler cela, la manip’ est assez simple.

Première chose à faire, sauvegarder les fichiers de configuration que nous allons éditer:

sudo cp /etc/pulse/daemon.conf /etc/pulse/daemon.conf.original && /etc/pulse/default.pa /etc/pulse/default.pa.original.

La manière simple:

Si vous avez l’une des configuration suivantes, vous avez de la chance. Vous pouvez rêgler le problème simplement. Si ce n’est pas le cas, voyez la section suivante.

2.0, 4.0, 5.0, 5.1, 7.1

Ouvrez simplement un terminal et tapez:

gksudo gedit /etc/pulse/daemon.conf

Faites défiler le texte jusqu’à ce que vous voyez la ligne suivante

; default-sample-channels = 2

Décommentez la ligne en retirant le « ; » et changez le « 2 » selon votre configuration:

2.0 -> laissez 2
4.0 -> 4
5.0 -> 5
5.1 -> 6
7.1 -> 8

Sauvegardez, quittez, redémarrez pulseaudio (ou plus simplement redémarrez ubuntu) et voilà, le son surround devrait fonctionner normalement.

La manière moins simple

Vous devrez cette partie si vous avez l’une des configurations suivantes:

2.1, 4.1, 6.0 ou tout autre chose non listée plus haut.

Pourquoi est-ce plus compliqué?

Pulseaudio à une facon particulière de nommer les différents canaux. Dans la manière simple expliquée ci-dessus, vous dites à PulseAudio le nombre de canaux à utiliser mais dans un ordre déterminé. Cet ordre est le suivant

Avant G, Avant D, Arrière G, Arrière D, Centre, Subwoofer, Coté G, Coté D.

Si vous avez un système en 2.1, pulseaudio enverra les canaux gauche/droite correctement mais il enverra l’arrière gauche dans le subwoofer, et ce n’est pas vraiment l’effet recherché. Pour corriger cela, Ouvrez un terminal et tapez:

gksudo gedit /etc/pulse/default.pa

Cherchez les lignes suivantes:

### Automatically load driver modules depending on the hardware available
.ifexists module-hal-detect.so
 load-module module-hal-detect
 .else
 ### Alternatively use the static hardware detection module (for systems that
 ### lack HAL support)
 load-module module-detect
 .endif

Commentez toutes les lignes d’un « # ». Cela empêchera pulseaudio de configurer automatiquement votre carte son. Maintenant vous devez ajouter une ligne à ce bloc qui ressemblera à ceci:


### Automatically load driver modules depending on the hardware available
 #.ifexists module-hal-detect.so
 #load-module module-hal-detect
 #.else
 ### Alternatively use the static hardware detection module (for systems that
 ### lack HAL support)
 #load-module module-detect
 #.endif

### Configuration manuelle surround. Décommentez les lignes ci-dessus et commentez la ligne suivante pour
### revenir à la configuration originale.
load-module module-alsa-sink device_id=0 channels=5 channel_map=front-left,front-right,rear-left,rear-right,lfe

Dans cette configuration, il s’agit d’un sytème 4.1 avec une seule carte son.

Vous pouvez créer votre propre configuration en suivant l’exemple suivant. Il est important de noter que l’ordre des canaux est important. Si vous entendez que deux canaux sont inversés (genre centre/subwoofer avec arrière D/G) vous n’avez qu’à changer l’ordre de ces derniers. La plupart des cartes veulent que ces canaux soient spécifiés dans un ordre précis.

  • device_id correspond bien sur à la carte son. si vous n’avez qu’une carte, c’est certainement 0.
  • channels=X : le X devrait être remplacé par le nombre de canaux à utiliser.
  • channel_map=x,x,x,x,x,x,x cette liste séparée par desvirgule détermine les canaux à utiliser. Il est conseillé de suivre le même ordre utilise par PulseAudio (voir début du guide) et de simplement retirer le canal inutile. Les ccanaux valides sont les suivants (en gras):

left (G), right (R), mono, center (Centre), front-left (Avant R), front-right (Avant G), front-center (Avant Centre), rear-center (Arrière Centre), rear-left (Arrière G), rear-right (arrière D), lfe (LowFrequencyEffects: effets basse fréquence), subwoofer, front-left-of-center (Avant G du centre), front-right-of-center (Avant D du centre),  side-left (Coté G), side-right (Coté D), aux0 jusqu’à aux15 (Auxiliaires 0 à 15), top-center (Centre Haut), top-front-left (Haut, Avant G), top-front-right (Haut Avant D), top-front-center (Centre haut), top-rear-left (Haut Arrière G), top-rear-right (Haut Arrière D), top-rear-center (Haut Centre Arrière)

Il est préférable d’utiliser une combinaison des paramêtres suivants: front-left, front-right, front-center, rear-center, rear-left, rear-right, lfe, side-left, side-right

NOTES:

  • Un utilisateur reporte qu’en lancant PulseAudio depuis un terminal, alsa_ctl se plaignait de paramètre supplémentaire ou de surround51 introuvable. Il a dû spécifier « device=hw:0 » en remplacement de « device=hw:0,0 device_id=0 »
  • Si vous avez un subwoofer, il est conseillé d’utiliser lfe et non subwoofer, cela semble aller contre la logique mais le canal du subwoofer est quasiment toujours labellé « lfe »

Une fois terminé, sauvegardez le fichier, fermez, redémarrez et voilà!

Si vous n’avez pas de son ou si vous avez lamentablement foiré votre configuration, pas de panique! Pour retrouver votre configuration d’origine, ouvrez un terminal, tapez ceci et redémarrez.

sudo cp /etc/pulse/default.pa.original /etc/pulse/default.pa && cp /etc/pulse/daemon.conf.original /etc/pulse/daemon.conf

Source: Sammydee’s HOWTO: Surround sound in pulseaudio