Kubuntu 17.10에서 딱딱거리는 소리/잡음이 있는 PulseAudio 루프백 모듈

Kubuntu 17.10에서 딱딱거리는 소리/잡음이 있는 PulseAudio 루프백 모듈

나는 라인 입력 스테레오 잭을 통해 두 번째 모니터의 오디오를 쿠분투로 가져오려고 했습니다. 이 잭은 기본적으로 alsamixer라인 음소거 해제 및 볼륨 설정 올바르게 하기 등을 load-module module-loopback조작 한 후 작동하고 있습니다./etc/pulse/default.pa

현재 이 설정의 가장 큰 문제는 라인 입력 볼륨을 ~5%(그 이상은 모두 고통스럽습니다)로 조정하고 외부 앰프의 볼륨을 높인 후에도 오디오를 재생하는 동안 발생하는 딱딱거리는 소리/잡음입니다. (Windows 10에서는 라인인 볼륨이 100%인 경우에도 이 설정에서 딱딱거리는 소리/사운드 문제가 없습니다.)

내가 지금까지 시도한 것 :

1)다른 사람들에게 딱딱거리는 소리를 내는 데 도움이 되는 PulseAudio의 타이머 기반 일정을 비활성화하기 위한 기능 을 load-module module-udev-detect tsched=0추가 했습니다 .tsched=0/etc/pulse/default.pa

2)결합1)PulseAudio에서 기본 조각 번호와 버퍼 크기를 설정하기 위한 수정 사항이 있습니다 /etc/pulse/daemon.conf(예:https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Static_noise_when_using_headphones)

삼)속도와 채널을 사용하여 루프백 소스 및 싱크를 명시적으로 작성:

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

그리고4)/etc/modprobe.d/alsa-base.conf여기 에서 제안된 options snd-hda-intel position_fix=1또는 수정 :options snd-hda-intel position_fix=2https://wiki.ubuntu.com/Audio/PositionReporting

내 시스템:

  • 쿠분투 17.10, 64비트
  • 커널 버전 4.13.0-36-일반
  • AMD 라이젠 7 1700X CPU
  • 16GB RAM
  • ASRock X370 Taichi 마더보드
  • 엔비디아 GTX 1070 GPU

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

내 기본 오디오 설정:

입력:

  • 두 번째 모니터에서 컴퓨터 라인 입력으로 들어오는 오디오
  • 다른 모든 오디오는 시스템/응용 프로그램/음악에서 나옵니다.

산출:

  • 내 헤드폰이 연결된 USB-DAC/AMP

답변1

이 문제를 해결한 주요 항목은 다음과 같습니다.

케이스 수정

  1. GPU 팬 하우징을 제거했습니다. 내 GPU에는 케이스 내부에서 물리적으로 들어보면 약간의 소음이 나는 보호용 플라스틱 하우징이 있었습니다.
  2. RAM을 재배치했는데, 내 RAM이 NVMe 카드 바로 옆에 있었기 때문에 다음 슬롯으로 옮겼습니다.
  3. NVMe용 GPU 근처의 실드를 제거합니다. 마더보드에는 NVMe 스틱 위에 보호 실드가 있습니다.

전력 수정

  1. 두 기기의 전원을 다른 콘센트로 옮겼습니다. 접지에 대해 배웠을 때 이는 실제로 많은 피드백 소음을 줄이는 데 도움이 되었습니다.

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

이 모든 것을 말하면서 여전히 약간의 피드백 소음이 있지만 GPU 프레임 속도가 높을 때만 발생합니다. 저는 이것이 전원 문제라고 생각하며 이러한 피드백을 줄이는 데 도움이 되도록 다른 부품을 주문했습니다. 기본적으로 접지 루프 보조 장치입니다.

이 문제에 대한 나의 투쟁에 대한 언급도 있습니다. https://bbs.archlinux.org/viewtopic.php?pid=1917945#p1917945

편집 1 결과적으로 이것은 실제로 소프트웨어와 전혀 관련이 없으며 하드웨어 문제였습니다. 저는 이 중 2개를 구입하여 두 컴퓨터 사이에 연결했는데 문제가 완전히 해결되었습니다. 높은 볼륨에서도 더 이상 피드백이 없습니다. https://www.amazon.com/gp/product/B019393MV2/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1

관련 정보