gentoo alsa pulseaudio - trabalhos de mixagem alsa; aplay diretamente para hw: 1,0 obras; Aplay para qualquer um dos PCM configurado não funciona

2

Quando o daemon pulseaudio está não em execução, eu posso usar aplay para enviar o som para os alto-falantes com

aplay -Dhw:1,0 sample.wav

alsamixer parece fazer o que eu esperava com o controle do volume no cartão quando eu jogo como acima; em particular, os canais mestre e frontal afetam o volume da amostra tocada acima.

Quando eu faço aplay -L, ele lista um número de PCMs. Quando eu seleciono um desses PCMs para reprodução, não há som algum. Se pulseaudio estiver em execução, a reprodução falhará silenciosamente. Se pulseaudio não estiver em execução, ele falhará com um erro 2, incapaz de abrir o arquivo.

A maioria dos aplicativos de som não parece permitir a especificação de baixo nível do hardware de som, por isso não consigo obter nenhum som, exceto através da reprodução. Eu acredito que o problema é que os nomes PCM de nível mais alto não estão sendo mapeados corretamente para os dispositivos de hardware.

Eu notarei que um kernel antigo sem pulseaudio não teve problemas de som nesta máquina.

Estes não produzem som:

aplay -Dfront sample.wav
aplay -Dpulse sample.wav

saída aplay -L:

null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
hdmi:CARD=HDMI,DEV=0
    HDA Intel HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA Intel HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA Intel HDMI, HDMI 2
    HDMI Audio Output
default:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Digital
    IEC958 (S/PDIF) Digital Audio Output

aplay -l output

card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
    
por antlersoft 09.04.2017 / 01:56

2 respostas

0

A resposta para mim foi que Pulseaudio estava interpretando erroneamente o udev ou o udev estava entregando a configuração errada - eu não sei o suficiente para decidir a questão. Se eu alterar o padrão Pulse audio.pa para definir explicitamente a configuração de hardware em vez de obtê-la a partir do udev, ela funciona.

No default.pa, tive que remover o comentário dessas duas linhas:

load-module module-alsa-sink device=hw:1,0
load-module module-alsa-source device=hw:1,0

e comente estas linhas:

### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Use the static hardware detection module (for systems that lack udev support)
#load-module module-detect
#.endif
    
por 24.04.2017 / 14:53
0

Você precisa usar o nome completo do dispositivo para selecionar o cartão correto:

aplay -D front:CARD=PCH,DEV=0 sample.wav

Para alterar o cartão padrão, adicione algo assim ao global /etc/asound.conf ou ao seu ~/.asoundrc :

defaults.ctl.card "PCH"
defaults.pcm.card "PCH"

Para fazer com que o PulseAudio use o cartão correto, você precisa configurá-lo (tente pavucontrol ).

    
por 09.04.2017 / 08:43