Canais surround invertidos

1

Estou encontrando um problema com som surround no Ubuntu 11.04. Consegui reproduzir som através de HDMI, mas os canais estão invertidos. Por exemplo, quando o Pulse Audio toca no alto-falante central, ele passa pelo meu LFE. A mesma coisa no teste de alto-falante incluído no canal de preferências sonoras.

Enquanto pesquisava tópicos sobre esse problema, tentei editar o /etc/pulse/daemon.conf alterando a configuração do mapa de canais - sem sucesso. Talvez eu não tenha usado corretamente?

Alguma idéia de trocar esses canais e ter meu 5.1 funcionando corretamente?

System specs :
Ubuntu 11.04
AsRock aion330
HDMI amp

Obrigado antecipadamente!

aplay -L fornece este resultado:

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

O controle de volume do gnome é de fato ajustado para Saída HDMI Digital Surround 5.1. O teste de alto-falante é afetado pelo problema dos canais.

    
por letraitplat 12.06.2011 / 20:26

4 respostas

2

Para configurar o mapeamento correto no som HDMI 5.1 quando os canais estiverem configurados incorretamente, você deve tentar o seguinte na linha de comando

  1. pulseaudio -k
  2. gksu gedit /usr/share/pulseaudio/alsa-mixer/profile-sets/extra-hdmi.conf
  3. Encontre a seção surround HDMI nesse arquivo. Troque os alto-falantes incorretos em channel-mapping e salve o arquivo.
  4. Executar speaker-test -c6 -twav
  5. Se ainda estiver incorreto, volte para a etapa 1.

Testado no Ubuntu 12.04 com uma placa-mãe NVIDIA ION (zotac).

    
por mmalmeida 27.05.2012 / 17:50
1

Sem conhecimento em suas configurações atuais do ALSA e do PulseAudio, só podemos adivinhar o que pode estar errado aqui.

Para solucionar problemas de saída de som, por favor

  • verifique se o mapeamento do ALSA está correto (invocando aplay -L em um terminal)
  • verifique se o seu perfil de hardware está definido como 5.1. em gnome-volume-control Configurações de áudio - > Hardware
  • tente alterar as configurações de remixagem em /etc/pulse/daemon.conf para:

    enable-remixing = yes tente também com no

    enable-lfe-remixing = no tente também com yes

O mapeamento de canal em daemon.conf está funcionando apenas no caso de haver nenhum outro mapa de canal presente (consulte também pulseaudio ticket # 825 ).

A saída de som ALSA HDMI pode ser digital e, assim - ao contrário dos canais analógicos - mixagem para 5.1. saída surround é feita pelo hardware conectado.

    
por Takkat 12.06.2011 / 22:27
0

@Takkat: NVM Encontrei a solução.

Eu tentei as suas sugestões sem sucesso ... Então eu procurei mais informações sobre arquivos conf para cartões. No final acabei olhando arquivos presets carregados pelo pulseaudio, descobri que havia um perfil da Nvidia carregado do nvidia.conf.

Eu encontrei muitos presets surround surround 5.1 neste arquivo nvidia.conf.

Inverteu alguns canais (por exemplo, lfe e frontal esquerda), salvou o arquivo, matou pulseaudio, funcionou como um encanto.

Obrigado pela ajuda:)

    
por letraitplat 13.06.2011 / 18:24
0

Consegui remapear os canais do meu cartão analógico assim

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

Eu editei esse arquivo para que o mapa do canal da minha configuração seja o que eu queria

[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

então eu tive que forçar o pulseaudio a carregar a placa alsa manualmente, não automaticamente, e definir o perfil para o arquivo que acabei de criar. Não sei se existe uma maneira de forçar um perfil a placas autodetectadas ou forçar apenas uma placa a ser detectada manualmente. Eu comentei #load-module module-udev-detect e #load-module module-detect em /etc/pulse/default.pa e adicionei a seguinte linha ao final do arquivo

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

em que device_id pode ser um número ou string. Você pode ver os nomes dos seus cartões e ids fazendo

cat /proc/asound/cards

como referência, minha saída foi assim

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

então device_id=0 funcionou, assim como device_id=Intel

Eu tenho visto relatos de lugares de troca de ID numéricos após a reinicialização, então se você não tem cartões diferentes com o mesmo nome eu iria para a representação de string.

Editar: em 13.04, modificar extra-hdmi.conf em vez de default.conf sem mexer com default.pa resolveu o problema. Por outro lado, isso tem o risco (não é?) De ser sobrescrito durante uma atualização.

    
por qwazix 08.05.2013 / 00:54