Módulo de loopback PulseAudio com som/ruído crepitante no Kubuntu 17.10

Módulo de loopback PulseAudio com som/ruído crepitante no Kubuntu 17.10

Eu tentei obter áudio do meu segundo monitor para o Kubuntu através do conector estéreo de entrada de linha, que agora está basicamente funcionando depois de mexer alsamixer(ativar o som da linha e acertar as configurações de volume) e adicionar load-module module-loopbackao meu/etc/pulse/default.pa

Meu maior e atual problema com esta configuração é o som / ruído crepitante que recebo durante a reprodução de áudio - mesmo depois de ajustar o volume da entrada de linha para ~ 5% (tudo acima disso é doloroso) e aumentar o volume no meu amplificador externo. (No Windows 10 não tenho problemas de estalos/som com esta configuração, mesmo com volume de entrada de linha de 100%)

O que eu tentei até agora:

1)Ter load-module module-udev-detect tsched=0(adicionando tsched=0) /etc/pulse/default.papara desativar o agendamento baseado em temporizador no PulseAudio, o que ajudou outras pessoas com som crepitante.

2)Combinando1)com modificações /etc/pulse/daemon.confpara definir o número do fragmento padrão e o tamanho do buffer no PulseAudio (como aqui:https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Static_noise_when_using_headphones)

3)Escrevendo explicitamente a fonte e o coletor de loopback com sua taxa e canais:

load-module module-loopback source=alsa_input.pci-0000_12_00.3.analog-stereo sink=alsa_output.usb-FiiO_DigiHug_USB_Audio-01.analog-stereo rate=44100 channels=2

E4)modificando /etc/modprobe.d/alsa-base.confcom options snd-hda-intel position_fix=1ou options snd-hda-intel position_fix=2que foi sugerido aqui:https://wiki.ubuntu.com/Audio/PositionReporting

Meu sistema:

  • Kubuntu 17.10, 64 bits
  • Kernel-versão 4.13.0-36-genérico
  • Processador AMD Ryzen 7 1700X
  • 16 GB de RAM
  • Placa-mãe ASRock X370 Taichi
  • GPU Nvidia GTX 1070

lspci -nnk | grep -i audio -A2
0e:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
        Subsystem: CardExpert Technology GP104 High Definition Audio Controller [10b0:1b81]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
--
12:00.3 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Device [1022:1457]
        Subsystem: ASRock Incorporation Device [1849:1220]
        Kernel driver in use: snd_hda_intel

cat /proc/asound/cards
 0 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfd080000 irq 329                                                                                                                                  
 1 [Audio          ]: USB-Audio - DigiHug USB Audio                                                                                                                                     
                      FiiO DigiHug USB Audio at usb-0000:11:00.3-2, full speed
 2 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfd900000 irq 331

pactl list sources
Quelle #0
        Status: RUNNING
        Name: alsa_output.usb-FiiO_DigiHug_USB_Audio-01.analog-stereo.monitor
        Beschreibung: Monitor of DigiHug USB Audio Analog Stereo
        Treiber: module-alsa-card.c
        Abtastwert-Angabe: s16le 2ch 44100Hz
        Kanalzuordnung: front-left,front-right
        Besitzer-Modul: 7
        Stumm: ja
        Lautstärke: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
                Verteilung 0,00
        Basis-Lautstärke: 65536 / 100% / 0,00 dB
        Ziel-Monitor: alsa_output.usb-FiiO_DigiHug_USB_Audio-01.analog-stereo
        Latenz: 0 usec, eingestellt 40000 usec
        Flags: DECIBEL_VOLUME LATENCY 
        Eigenschaften:
                device.description = "Monitor of DigiHug USB Audio Analog Stereo"
                device.class = "monitor"
                alsa.card = "1"
                alsa.card_name = "DigiHug USB Audio"
                alsa.long_card_name = "FiiO DigiHug USB Audio at usb-0000:11:00.3-2, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:11:00.3-usb-0:2:1.1"
                sysfs.path = "/devices/pci0000:00/0000:00:07.1/0000:11:00.3/usb3/3-2/3-2:1.1/sound/card1"
                udev.id = "usb-FiiO_DigiHug_USB_Audio-01"
                device.bus = "usb"
                device.vendor.id = "1852"
                device.vendor.name = "GYROCOM C&C Co., LTD"
                device.product.id = "7022"
                device.product.name = "DigiHug USB Audio"
                device.serial = "FiiO_DigiHug_USB_Audio"
                device.string = "1"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        Formate:
                pcm

Quelle #1
        Status: RUNNING
        Name: alsa_input.pci-0000_12_00.3.analog-stereo
        Beschreibung: HD-Audio Generic Analog Stereo
        Treiber: module-alsa-card.c
        Abtastwert-Angabe: s16le 2ch 44100Hz
        Kanalzuordnung: front-left,front-right
        Besitzer-Modul: 8
        Stumm: nein
        Lautstärke: front-left: 6554 /  10% / -60,00 dB,   front-right: 6554 /  10% / -60,00 dB
                Verteilung 0,00
        Basis-Lautstärke: 6554 /  10% / -60,00 dB
        Ziel-Monitor: k. A.
        Latenz: 30 usec, eingestellt 40000 usec
        Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        Eigenschaften:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "ALC1220 Analog"
                alsa.id = "ALC1220 Analog"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "2"
                alsa.card_name = "HD-Audio Generic"
                alsa.long_card_name = "HD-Audio Generic at 0xfd900000 irq 331"
                alsa.driver_name = "snd_hda_intel"
                device.bus_path = "pci-0000:12:00.3"
                sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:12:00.3/sound/card2"
                device.bus = "pci"
                device.vendor.id = "1022"
                device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
                device.product.id = "1457"
                device.string = "front:2"
                device.buffering.buffer_size = "65536"
                device.buffering.fragment_size = "32768"
                device.access_mode = "mmap+timer"
                device.profile.name = "analog-stereo"
                device.profile.description = "Analog Stereo"
                device.description = "HD-Audio Generic Analog Stereo"
                alsa.mixer_name = "Realtek ALC1220"
                alsa.components = "HDA:10ec1220,18491220,00100003"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-pci"
        Ports:
                analog-input-front-mic: Vorderes Mikrofon (priority: 8500, not available)
                analog-input-rear-mic: Rückwärtiges Mikrofon (priority: 8200, not available)
                analog-input-linein: Eingang (priority: 8100, available)
        Aktiver Port: analog-input-linein
        Formate:
                pcm

pactl list sinks
Ziel #0
        Status: RUNNING
        Name: alsa_output.usb-FiiO_DigiHug_USB_Audio-01.analog-stereo
        Beschreibung: DigiHug USB Audio Analog Stereo
        Treiber: module-alsa-card.c
        Abtastwert-Angabe: s16le 2ch 44100Hz
        Kanalzuordnung: front-left,front-right
        Besitzer-Modul: 7
        Stumm: nein
        Lautstärke: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
                Verteilung 0,00
        Basis-Lautstärke: 65536 / 100% / 0,00 dB
        Quellen-Monitor: alsa_output.usb-FiiO_DigiHug_USB_Audio-01.analog-stereo.monitor
        Latenz: 46296 usec, eingestellt 40000 usec
        Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        Eigenschaften:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "USB Audio"
                alsa.id = "USB Audio"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "1"
                alsa.card_name = "DigiHug USB Audio"
                alsa.long_card_name = "FiiO DigiHug USB Audio at usb-0000:11:00.3-2, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:11:00.3-usb-0:2:1.1"
                sysfs.path = "/devices/pci0000:00/0000:00:07.1/0000:11:00.3/usb3/3-2/3-2:1.1/sound/card1"
                udev.id = "usb-FiiO_DigiHug_USB_Audio-01"
                device.bus = "usb"
                device.vendor.id = "1852"
                device.vendor.name = "GYROCOM C&C Co., LTD"
                device.product.id = "7022"
                device.product.name = "DigiHug USB Audio"
                device.serial = "FiiO_DigiHug_USB_Audio"
                device.string = "front:1"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "analog-stereo"
                device.profile.description = "Analog Stereo"
                device.description = "DigiHug USB Audio Analog Stereo"
                alsa.mixer_name = "USB Mixer"
                alsa.components = "USB1852:7022"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        Ports:
                analog-output: Analoge Ausgabe (priority: 9900)
        Aktiver Port: analog-output
        Formate:
                pcm

Minha configuração básica de áudio:

Entradas:

  • áudio vindo do segundo monitor para a entrada de linha do computador
  • todo o outro áudio vem do sistema/aplicativos/música

Saída:

  • USB-DAC/AMP ao qual meu fone de ouvido está conectado

Responder1

Os principais itens que resolveram isso para mim foram os seguintes.

Modificações de caso

  1. Removida a caixa do ventilador da GPU, na minha GPU havia uma caixa de plástico protetora que, ao ouvir fisicamente dentro do gabinete, fazia algum barulho.
  2. RAM realocada, minha RAM estava localizada ao lado de uma placa NVMe, então mudei-a para os próximos slots.
  3. Remova o escudo próximo à GPU para NVMe, na placa-mãe havia um escudo protetor por cima do stick NVMe

Modificações de energia

  1. Fonte de alimentação de ambas as máquinas movida para uma tomada diferente. Na verdade, isso ajudou a reduzir muito ruído de feedback à medida que aprendi sobre o aterramento.

Modificação PulseAudio

load-module module-loopback source=alsa_input.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.multichannel-input sink=alsa_output.pci-0000_09_00.3.analog-stereo
load-module module-loopback source=alsa_input.pci-0000_09_00.3.analog-stereo sink=alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.iec958-stereo


set-default-sink alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.iec958-stereo
set-default-source alsa_input.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.multichannel-input
set-source-volume alsa_input.pci-0000_09_00.3.analog-stereo 5000

set-card-profile alsa_card.usb-HD_Webcam_USB_HD_Webcam_USB_HD_Webcam_USB-02 off
set-card-profile alsa_card.pci-0000_07_00.1 off
set-card-profile alsa_card.pci-0000_09_00.3 output:analog-stereo+input:analog-stereo

set-sink-port alsa_output.pci-0000_09_00.3.analog-stereo analog-output-lineout
set-source-port alsa_input.pci-0000_09_00.3.analog-stereo analog-input-linein

Com tudo isso dito, AINDA tenho algum ruído de feedback, mas apenas durante altas taxas de quadros da GPU. Acredito que seja um problema de energia e encomendei outra peça para ajudar a reduzir esse feedback. Basicamente, um dispositivo auxiliar de loop de terra.

Aqui também está uma referência à minha luta com esse problema. https://bbs.archlinux.org/viewtopic.php?pid=1917945#p1917945

Editar 1 Acontece que na verdade isso não está relacionado ao software e foi um problema de hardware. Comprei 2 destes e conectei-os entre as duas máquinas e isso resolveu completamente o problema. Não há mais feedback mesmo em volumes elevados. https://www.amazon.com/gp/product/B019393MV2/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1

informação relacionada