运行 VirtualBox 时音频出现爆裂声

运行 VirtualBox 时音频出现爆裂声

最近,我在 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 上不错的音频质量指南

相关内容