Ubuntu 20.04 上烦人的点击/弹出声音

Rod*_*cha 36 sound soundcard 20.04

在我的台式计算机(Realtek 板载声卡,编解码器 ALC887)上安装 Ubuntu 20.04 后,每次打开任何带有音频的内容时,我都会遇到非常烦人的点击(爆裂声)。

Hug*_*ugo 52

对于那些在 2022 年刚刚升级到内核版本的人5.13.0-37。(用于uname -a检查您的内核版本。)

此版本中似乎存在一个错误,导致外部音频接口发出爆裂声,但有一个解决方法。

将 Pulse Audio 的默认采样率更改为 48000。

sudo nano /etc/pulse/daemon.conf

查找以以下内容开头的行

; default-sample-rate
; alternate-sample-rate
Run Code Online (Sandbox Code Playgroud)

去除 ; 并将值更改为 48000,如下所示:

default-sample-rate = 48000
alternate-sample-rate = 48000
Run Code Online (Sandbox Code Playgroud)

保存文件,然后重新启动脉冲音频pulseaudio -k

  • 在内核 5.13 上。这解决了我的问题。我只是想指出错误报告中提到的症状之一是每 7 秒左右就会有规律的脉冲/点击。希望这个评论可以帮助人们通过谷歌找到这个。 (3认同)

Rod*_*cha 50

这是因为 Ubuntu 开启了声卡节能功能。关闭它可能是摆脱烦人声音的唯一方法:

  1. 验证声卡的power_save参数如何:

    cat /sys/module/snd_hda_intel/parameters/power_save
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果它返回1,请执行以下操作以临时更改它:

    echo "0" | sudo tee /sys/module/snd_hda_intel/parameters/power_save
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果上一步对您有用,请保留该配置(否则重新启动后问题将继续存在):

    echo "options snd_hda_intel power_save=0" | sudo tee -a /etc/modprobe.d/audio_disable_powersave.conf
    
    Run Code Online (Sandbox Code Playgroud)
  4. (可选的)也可以做同样的power_save_controller参数以下步骤替换1,2和3power_save通过power_save_controller也改变0N

    注意:使用第一步可能会返回Y此参数,而不是1.

  • @ user4124 不幸的是,这确实是一种解决方法,但它可能比这种干扰更好。我当然也会赞成任何与该问题的根本解决方案相关的答案。 (6认同)
  • @ user4124 你如何建议 PulseAudio 应该“优雅地处理这个”? (4认同)
  • 省电是 Linux 内核的一个特性,拥有它是很好的。这只是一些未知的原因,为什么您会在声卡从省电模式中唤醒后立即听到这种烦人的噪音。以上是一种解决方法。正确的解决方案可能是让 PulseAudio 优雅地处理这个问题。 (3认同)
  • @user4124 这是廉价的硬件。当您给扬声器放大器供电时,它们会在输出上产生瞬变,除非真正知道自己在做什么的人可以正确进行集成。 (2认同)
  • @hobbs,确实是一个便宜的硬件。这就是我认为提及它可能有用的原因,我必须设法使其变得更好。专有驱动程序似乎在 Windows 10 上以某种方式解决了它,但在 Ubuntu 上,我相信使用 PulseAudio 来解决它是不够的......如果有人能证明它工作正常,我会很高兴...... (2认同)

小智 9

您可以通过 PulseAudio 而不是通过声卡暂停省电,并在 /etc/pulse/default.pa 中注释掉以下行,如下所示:

### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle
Run Code Online (Sandbox Code Playgroud)

然后重启PulseAudio:

systemctl restart --user pulseaudio
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,那么只需杀死它,它就会重新启动:

pulseaudio --kill
Run Code Online (Sandbox Code Playgroud)


han*_*mar 5

对于使用 Ubuntu 22.04 或更高版本的 Pop!_OS 的任何人来说,音频软件现在是 pipelinewire,而不再是pulseaudio。因此@user1115995禁用pulseaudio上的挂起功能的解决方案可以使用以下命令为pipewire完成:(来源

sudo sed -i 's/--\["session.suspend-timeout-seconds"\] = 5/\["session.suspend-timeout-seconds"\] = 0/' /usr/share/wireplumber/main.lua.d/50-alsa-config.lua
systemctl restart --user pipewire.service
Run Code Online (Sandbox Code Playgroud)