记一次使用archlinux遇到的音频播放bug

Author Avatar
fnxf 2021年12月12日
  • 在其它设备中阅读本文章

根据我在Ryzen笔电上使用archlinux的经验看,linux对zen系列架构的CPU的平台支持仍然不到位,偶尔会遇到一些影响使用但又不是不能用的小问题。当然,随着linux内核的更新,之前经常出现的小问题最近不再出现,可以视为解决了。但还是会有新问题突然出现。

比如,今天(2021.12.11)发现的,偶尔出现的播放44100Hz(44.1KHz)采样率的音频时播放异常的问题。

发现

今天我在看b站视频的时候,发现有些视频播放时音频如同脉冲一般,时不时喷出一两个音节,但很多别的视频播放时都没有出现这个问题。

当事视频

经过我和某网友的不断排查,排除了编码、压缩方式的问题后,最终定位问题为采样率相关的问题。

尝试

既然是和音频播放相关的问题,那首先从播放器及相关设置排查起。

然而,无论是totem1、vlc还是mpv,及其各种输出模块、重采样器设置,都出现了播放44.1KHz采样率的音频异常,播放48KHz采样率的音频毫无问题的情况。

于是我去查找万能的arch wiki,wiki上写着:

“启用软件混音时,ALSA 会强制把所有音频重采样到相同的频率(如果系统支持,默认是 48000)。默认会尝试使用speexrate转换器进行,如果它不可用的话就会回退到低质量的线性插值。因此如果由于糟糕的重采样导致音质差,只需安装 alsa-plugins 就可能解决问题。”

但我已经安装了这个包,因此这个问题不是由缺失 alsa-plugins 包导致的。

沿着“是不是缺失软件包?”的思路,我尝试着安装 alsa-firmware 包和 alsa-utils 包,问题并没有解决。但重启后,便可以播放44.1KHz采样率的音频了。

然而,当我试着卸载 alsa-firmware 包和 alsa-utils 包并重启之后,依然可以完美播放44.1KHz采样率的音频;在清除一些无用包并重启之后,依旧一切正常。这似乎说明问题并不是缺失 alsa-firmware 包和 alsa-utils 包导致的。

我大受震撼

大概结论

考虑到Ryzen平台与archlinux糟糕的兼容性,以及出过不少被确定为兼容性导致的问题,于是我推测:是由于Ryzen平台与archlinux之间糟糕的兼容性导致的,偶发性的问题。

而在我翻找硬盘中的音视频文件的时候,我找到了一个音频采样率为44.1KHz的视频,而这是几个月前我在这台Ryzen笔电上正常观看的视频,这使我更相信我对其为兼容性问题的猜测。


  1. (即gnome桌面环境初始播放器)

本文链接:https://54df.cc/archives/127/
本博客内容除另有声明,均在CC BY-NC-SA 4.0下提供。

    竹林里有冰
    竹林里有冰  2021-12-12, 10:03

    太玄学了(