最近,我在 Ubuntu 20.04 中运行 VirtualBox 时遇到了一个问题,音频会发出噼啪声。如果我执行pulseaudio -k
它,确实可以修复它(重新启动程序时),但这种解决方法仍然不太好。有时(虽然很少见)这种情况也会在不打开 VirtualBox 的情况下发生,只需在 Firefox 上观看视频即可。
我目前有 HWE 内核5.8.0-59-generic #66~20.04.1-Ubuntu
,并且我的音频系统是板载模拟设备,如下所示(aplay --list-device
):
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
以下是报道的内容lspci -v
:
10:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
Subsystem: ASRock Incorporation Starship/Matisse HD Audio Controller
Flags: bus master, fast devsel, latency 0, IRQ 135
Memory at fcb00000 (32-bit, non-prefetchable) [size=32K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
不确定下一步该做什么?我该如何进一步调试/调查这个问题?
谢谢!
答案1
问题是还在改变输出(和/或输入)接收器时很容易触发声音菜单(从集成音频到 HDMI)。
我设法通过以下方式减少这种情况的发生:脉冲音频通过修改来避免重新采样/etc/pulse/daemon.conf
:
avoid-resampling = true
而且这种情况似乎越来越少了。
与此相关的是,我搜索了一下,似乎 pulseaudio 使用的默认重采样算法 CPU 使用率较低,但效果太差,会产生噼啪声,所以解决这个问题的另一种方法是使用更好的重采样算法(如解释的那样这里和这里)。
经过这次搜索,我尝试了这个解决方案(即保持重采样启用但使用更好的重采样器),从而/etc/pulse/daemon.conf
再次更改配置:
resample-method = speex-float-10 # highest float quality (from 1 to 10), a bit more CPU usage
; avoid-resampling = false # this option is disabled
现在好像不再发生这种事了。
诗篇这是 Linux 上不错的音频质量指南