Искаженный/трескучий звук, возникающий, когда файл ALSA .asoundrc использует тип hw вместо типа plug

Искаженный/трескучий звук, возникающий, когда файл ALSA .asoundrc использует тип hw вместо типа plug

У меня установлен XBMCbuntu на HTPC с Ubuntu 14.04 и Kodi 14.1. Я пытаюсь установить и запустить Steam, чтобы транслировать игры с моего игрового ПК. Я следовал инструкциям изэто руководствоиспользовал только ALSA, так как PulseAudio вообще не давал звука, а пре- и постскрипты не работали при переключении между ALSA и PA.

Звук в Kodi работает нормально, когда мой ~/.asoundrc выглядит следующим образом:

pcm.dsp {
    type plug
    slave.pcm "dmixer"
}

pcm.dsp0 {
    type plug
    slave.pcm "dmixer"
}

pcm.!default {
    type plug
    slave.pcm "dmixer"
}

ctl.!default {
    type plug
    slave.pcm "dmixer"
}

pcm.dmixer {
    type dmix
    ipc_key 101
    slave {
        pcm "hw:0,3"
        period_time 0
        period_size 1024
        buffer_size 4096
        rate 48000
    }
    bindings {
        0  0
        1  1
    }
 }

Но когда Steam запускается из меню, звук искажен и потрескивает и вообще сломан, но звук есть и он узнаваем. Немного экспериментов и проб и ошибок, и я смог определить, что с помощью

ctl.!default {
    type hw
    card 0
}

даст мне тот же самый сломанный звук в Kodi. И это

ctl.!default {
    type plug
    slave.pcm "hdmi:CARD=HDMI,DEV=0"
}

дает мне правильный звук. Я пытался использовать устройство "plug" в устройстве dmix, но оно не давало мне никакого звука вообще, и дальнейшие исследования подтвердили, что это не работает. Поскольку я не могу использовать устройства "plug" в устройстве dmix, мне нужно решение, которое позволило бы мне использовать то же устройство "plug" в dmixИЛИкак-то исправить устройство "hw". Ниже вы найдете мои aplay -l и aplay -L Кроме того, я немного сбит с толку, откуда берется "hdmi:CARD=HDMI,DEV=0", поскольку в aplay -l нет устройства 0 для карты 0. Я вижу его в aplay -L, но все остальные PCM берутся с устройств в aplay -l. Кроме того, я подключен к своему телевизору и ресиверу через HDMI, а использование устройства ALC1150 не работает ни с системными опциями в Kodi, ни с ~/.asoundrc.

$aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1150 Analog [ALC1150 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1150 Digital [ALC1150 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
dsp
dsp0
default
dmixer
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
dmix:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct sample mixing device
dsnoop:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct sample snooping device
hw:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 0
    Hardware device with all software conversions
sysdefault:CARD=Generic
    HD-Audio Generic, ALC1150 Analog
    Default Audio Device
front:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Front speakers
surround40:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Digital
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct sample mixing device
dmix:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct sample mixing device
dsnoop:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct sample snooping device
dsnoop:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct sample snooping device
hw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Direct hardware device without any conversions
hw:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Direct hardware device without any conversions
plughw:CARD=Generic,DEV=0
    HD-Audio Generic, ALC1150 Analog
    Hardware device with all software conversions
plughw:CARD=Generic,DEV=1
    HD-Audio Generic, ALC1150 Digital
    Hardware device with all software conversions

решение1

В отчете об ошибке ниже есть возможный обходной путь. По сути, это сводится к добавлению опции модуля и использованию скрипта amixer для отключения/включения звука вашего цифрового устройства.

Как минимум, вам следует подписаться на сообщение об ошибке и указать, что она вас касается.

https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/359361

Связанный контент