web-dev-qa-db-fra.com

Canaux surround inversés

Je rencontre un problème de son surround sur Ubuntu 11.04. J'ai réussi à lire le son via HDMI mais les canaux sont inversés. Par exemple, lorsque Pulse Audio est lu sur l'enceinte centrale, il passe par mon LFE. Même chose sur le test de haut-parleur inclus dans le canal de préférences sonores.

Lors de la recherche de sujets relatifs à ce problème, j’ai essayé de modifier /etc/Pulse/daemon.conf en modifiant le réglage de la carte des canaux - en vain. Peut-être que je ne l'ai pas utilisé correctement?

Une idée pour échanger ces canaux et que mon 5.1 fonctionne correctement?

System specs :
Ubuntu 11.04
AsRock aion330
HDMI amp

Merci d'avance!


aplay -L donne ce résultat:

default
    Playback/recording through the PulseAudio sound server
Pulse
    Playback/recording through the PulseAudio sound server
front:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Front speakers
surround40:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
dmix:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Direct sample mixing device
dmix:CARD=NVidia,DEV=1
    HDA NVidia, VT1708S Digital
    Direct sample mixing device
dmix:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample mixing device
dsnoop:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=1
    HDA NVidia, VT1708S Digital
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample snooping device
hw:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=1
    HDA NVidia, VT1708S Digital
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=0
    HDA NVidia, VT1708S Analog
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=1
    HDA NVidia, VT1708S Digital
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Hardware device with all software conversions

gnome-volume-control est en effet réglé sur Digital Surround 5.1 HDMI Output. Le test de haut-parleur est cependant affecté par le problème des canaux.

1
letraitplat

Pour configurer le mappage correct dans le son HDMI 5.1 lorsque les canaux sont configurés de manière incorrecte, essayez les opérations suivantes en ligne de commande

  1. pulseaudio -k
  2. gksu gedit /usr/share/pulseaudio/alsa-mixer/profile-sets/extra-hdmi.conf
  3. Trouvez la section HDMI-Surround dans ce fichier. Basculez les enceintes incorrectes dans mappage de canaux et enregistrez le fichier.
  4. Exécuter speaker-test -c6 -twav
  5. S'il est toujours incorrect, revenez à l'étape 1.

Testé sur Ubuntu 12.04 avec une carte mère NVIDIA ION (zotac).

2
mmalmeida

Sans connaître vos paramètres ALSA et PulseAudio actuels, nous ne pouvons que deviner ce qui pourrait ne pas être faux ici.

Pour dépanner la sortie audio, veuillez

  • vérifier si le mappage ALSA est correct (en appelant aplay -L dans un terminal)
  • assurez-vous que votre profil matériel est défini sur 5.1. dans gnome-volume-control Paramètres audio -> Matériel
  • essayez de changer les réglages de remixage dans /etc/Pulse/daemon.conf pour:

    enable-remixing = yes essayez aussi avec no

    enable-lfe-remixing = no essayez aussi avec yes

La correspondance de canaux dans daemon.conf ne fonctionne que dans le cas où aucune autre carte de canaux n'est présente (voir aussi ticket pulseaudio # 825 ).

La sortie audio ALSA HDMI peut être numérique et donc, contrairement aux canaux analogiques, mixer pour 5.1. La sortie Surround est effectuée par le matériel connecté.

1
Takkat

@Takkat: NVM J'ai trouvé la solution.

J'ai essayé vos suggestions en vain ... Ensuite, j'ai cherché plus d'informations sur les fichiers de conf pour les cartes. En fin de compte, j'ai examiné les fichiers de préconfigurations chargés par pulseaudio; j'ai découvert qu'un profil Nvidia avait été chargé à partir de nvidia.conf.

J'ai trouvé de nombreux préréglages HDMI 5.1 Surround dans ce fichier nvidia.conf.

Inversé certains canaux (par exemple, lfe et avant gauche), sauvegardé le fichier, tué pulseaudio, fonctionné à merveille.

Merci pour l'aide :)

0
letraitplat

J'ai pu remapper les canaux de ma carte analogique comme ceci

cp /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf ~/.Pulse/rotatedProfile.conf

J'ai édité ce fichier pour que la carte des canaux pour ma configuration soit comme je le souhaitais

[Mapping analog-surround-51]
device-strings = surround51:%f
channel-map = front-right,rear-right,front-left,rear-left,front-center,lfe
paths-output = analog-output analog-output-speaker analog-output-desktop-speaker   analog-output-lfe-on-mono
priority = 8
direction = output

ensuite, j'ai dû forcer pulseaudio à charger la carte alsa à la main, pas automatiquement, et à définir le profil sur le fichier que je viens de créer. Je ne sais pas s'il existe un moyen de forcer un profil à détecter automatiquement les cartes, ou de forcer une seule carte à être détectée manuellement. J'ai commenté #load-module module-udev-detect et #load-module module-detect dans /etc/Pulse/default.pa et j'ai ajouté la ligne suivante à la fin du fichier.

load-module module-alsa-card device_id=Intel profile_set=/home/silent/.Pulse/rotatedProfile.conf

device_id peut être un nombre ou une chaîne. Vous pouvez voir vos noms de carte et identifiants en faisant

cat /proc/asound/cards

pour référence, ma sortie était comme ça

  0 [Intel          ]: HDA-Intel - HDA Intel
                       HDA Intel at 0xf9ff8000 irq 44

donc device_id=0 a travaillé aussi bien que device_id=Intel

J'ai vu des rapports indiquant que les identifiants numériques changent de place après le redémarrage. Par conséquent, si vous n'avez pas différentes cartes portant le même nom, je choisirais la représentation sous forme de chaîne.

Edit: dans 13.04 modifier extra-hdmi.conf au lieu de default.conf sans jouer avec default.pa a fait l'affaire. D'un autre côté, cela présente le risque (est-ce?) D'être écrasé lors d'une mise à niveau.

0
qwazix