Como dividir as saídas da placa de som 7.1 para 4 saídas estéreo com o ALSA

4

Eu tenho uma placa de som surround Xonar DX (driver CMI8788) 7.1 instalada no meu sistema Ubuntu 11.10.

Eu quero usar as saídas do cartão como 4 saídas estéreo separadas e estou lutando com o ALSA para que ele funcione.

Este é meu asound.conf:

#/etc/asound.conf
pcm_slave.eightchannels {
        pcm "hw:0,0"            # or "hw:1,0" for the second card
        channels 8
}
pcm.stereo1 {
        type plug
        slave.pcm {
                type dshare
                ipc_key 87882222
                slave eightchannels
                bindings [ 2 3 ]
        }
}
pcm.stereo2 {
        type plug
        slave.pcm {
                type dshare
                ipc_key 87882222
                slave eightchannels
                bindings [ 4 5 ]
        }
}
pcm.stereo3 {
        type plug
        slave.pcm {
                type dshare
                ipc_key 87882222
                slave eightchannels
                bindings [ 6 7 ]
        }
}
pcm.stereo4 {
        type plug
        slave.pcm {
                type dshare
                ipc_key 87882222
                slave eightchannels
                bindings [ 0 1 ]
        }
}

Esta é minha saída aplay -l:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: DX [Xonar DX], device 0: Multichannel [Multichannel]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: DX [Xonar DX], device 1: Digital [Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Esta é minha saída aplay -L: link

O sistema parece ignorar completamente minha configuração. No entanto, tenho certeza de que a configuração é usada, porque quando insiro uma string aleatória no topo, recebo um erro de análise.

Qualquer ajuda é muito apreciada.

    
por nanoman 21.02.2012 / 14:11

1 resposta

1

A solução para mim foi mudar a definição pcm dos oito canais para:

pcm_slave.eightchannels {
        pcm "surround71:DX,0" # use the string identifier instead of the card id
        channels 8
}
    
por nanoman 01.03.2012 / 10:39

Tags