很长一段时间以来,我的声音一直存在一个有点烦人的问题,我终于决定是时候采取一些措施来解决这个问题了。
每次我调整工具栏中的主音量滑块或使用笔记本电脑上的音量热键时,Ubuntu 都会以一种奇怪的方式调整我的混音器级别。当我打开 GNOME ALSA Mixer 时,我注意到我的 SigmaTel STAC9200 有三个输出滑块:Master、PCM 和 LFE。Master 和 LFE 都有静音复选框。
当我按下音量调高热键一次时,Master 和 LFE 取消静音,PCM 和 LFE 滑块会跳升约一半。Master 滑块保持在零位。再次按下可将 PCM 和 LFE 调升至约 4/5,Master 保持在底部不动。
在 PCM 和 LFE 达到最大值之前,Ubuntu 不会移动 Master,这在主输出混音器上发生在约 15%-20% 之间。
这样做的结果是,直到大约 15%-20% 时我才听到任何声音(因为 Master 为零),而当我超过该阈值时,我立即听到响亮的低音(显然来自 LFE)。如果我使用耳机,直到该阈值时我仍听不到任何声音,但至少当我听到声音时它不会震耳欲聋。
PulseAudio 配置中或任何其他地方是否有任何内容可以改变我的输出混频器的行为?
答案1
音频堆栈中有许多层可能导致此症状。最直接的是 PulseAudio 的默认行为,您可以在以下网址阅读相关内容http://pulseaudio.org/wiki/PulseAudioStoleMyVolumes。你可以使用我在以下网址提供的说明来解决某些情况https://wiki.ubuntu.com/DebuggingSoundProblems/KarmicCaveats#Volume%20range%20anomalies:
音量范围异常
PulseAudio 的最新版本尝试使用其混音器控件来控制声卡的音量。通常情况下,这种方法可以正常工作,但在某些情况下,这种方法无法正常工作。(这是否是 PulseAudio 或 ALSA 的错误超出了本 wiki 页面的范围。更多背景信息如下:这里。
诊断
您遇到以下任一情况:
- 音量跳跃,例如,如果低于 20% 的所有内容都会静音,而 21% 则非常响亮。
- 如果音量设置超过某个(低)级别,则会产生过载(失真声音)
- 范围内的音量没有变化,例如 20% 与 70% 一样响亮。
修复/解决方法
有几个变量控制 PulseAudio 如何控制音量。您可以编辑
/etc/pulse/default.pa
(您必须是 root 才能执行此操作)以更改所有用户的行为,也可以复制该文件然后~/.pulse/default.pa
编辑该文件,以仅更改当前用户的行为。打开上述文件。找到以下行
load-module module-udev-detect
并将其更改为:load-module module-udev-detect ignore_dB=1
要尝试您的更改,请使用以下命令重新启动 PulseAudio:
killall pulseaudio
PulseAudio 将自动生成(重新启动)。
您可能会发现上述解决方法不够充分,在这种情况下,您可以将 PulseAudio 配置为仅控制一个混频器控件,例如 PCM(参见 alsamixer)。找到以下行
#load-module module-alsa-sink
并将其更改为:load-module module-alsa-sink control=PCM
(记得删除行首的 #!)可以选择用您希望 PulseAudio 控制的混音器控制替换 PCM。
然后您将需要
killall pulseaudio
按照上述操作并允许守护进程自动生成。
最后,这个异常是否真的是一个错误需要你使用ubuntu-bug alsa-base
。
答案2
对我来说,目前最好的答案是添加ignore_dB=1
到 PulseAudio 的配置中,将音量固定为从 0 开始,但音量仍然变得太快了。
再播放几次后,我发现我的通用 USB 音频设备有多个输出“配置文件”,名称为“模拟立体声”和“iec958 立体声”。即使物理设备只有一个 3.5 毫米插孔输出,更改为“iec958 立体声”配置文件也可以解决音量缩放和偏移问题。
我使用 GUI 工具尝试了不同的配置文件pavucontrol
。配置文件选择位于“配置”选项卡中。然后我使用这篇文章中的建议使一切永久化:
https://unix.stackexchange.com/questions/462670/set-default-profile-for-pulseaudio