gentoo alsa pulseaudio - el mezclador alsa funciona; aplay directo a hw:1,0 funciona; La reproducción en cualquiera de los PCM configurados no funciona.

gentoo alsa pulseaudio - el mezclador alsa funciona; aplay directo a hw:1,0 funciona; La reproducción en cualquiera de los PCM configurados no funciona.

Cuando el demonio pulseaudio estánofuncionando, puedo usar aplay para enviar sonido a los parlantes con

aplay -Dhw:1,0 sample.wav

alsamixer parece hacer lo que espero al controlar el volumen de la tarjeta cuando juego como se indica arriba; en particular, los canales maestro y frontal afectan el volumen de la muestra reproducida arriba.

Cuando hago aplay -L, enumera varios PCM. Cuando selecciono uno de estos PCM para reproducir, no hay ningún sonido. Si pulseaudio se está ejecutando, la reproducción falla silenciosamente. Si pulseaudio no se está ejecutando, falla con un error 2, no se puede abrir el archivo.

La mayoría de las aplicaciones de sonido no parecen permitir especificaciones de bajo nivel del hardware de sonido, por lo que no puedo obtener ningún sonido excepto a través de una reproducción. Creo que el problema es que los nombres PCM de nivel superior no se asignan correctamente a los dispositivos de hardware.

Notaré que un kernel más antiguo sin pulseaudio no tuvo problemas de sonido en esta máquina.

Estos no producen sonido:

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

aplay -L salida:

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 salida

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

Respuesta1

La respuesta para mí fue que Pulseaudio estaba malinterpretando udev o que udev le estaba entregando la configuración incorrecta. No sé lo suficiente sobre ninguno de los dos para decidir la pregunta. Si cambio Pulse audio default.pa para establecer explícitamente la configuración del hardware en lugar de obtenerla de udev, funciona.

En default.pa, tuve que descomentar estas dos líneas:

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

y comenta estas líneas:

### 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

Respuesta2

Debe utilizar el nombre completo del dispositivo para seleccionar la tarjeta correcta:

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

Para cambiar la tarjeta predeterminada, agregue algo como esto al global /etc/asound.confo a su ~/.asoundrc:

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

Para que PulseAudio utilice la tarjeta correcta, debe configurarla (pruebe pavucontrol).

información relacionada