我当前的扬声器存在一些频率响应缺陷,我想通过 Xubuntu 14.04 中的系统范围均衡来弥补这些缺陷。
我尝试的第一个解决方案是启用 PulseAudio 附带的集成均衡器,因为一旦最大化 GUI (qpaeq),就可以控制大量的频段。问题是这个解决方案在我的系统声音中造成了各种丑陋的功能障碍,我不想陷入尝试修复所有这些问题的兔子洞,所以我放弃了它。
后来当我再次尝试解决这个问题时,我发现了另一个带有 GUI 的解决方案,称为脉冲音频均衡器,使用 mbeq_1197.soLADSPA 插件发挥其魔力。那个表现良好,它尽职尽责地将自己重新插入到我创建的任何 PulseAudio 链中,并与我决定将声音重定向到的任何音频硬件一起使用,并且通常不会给我带来任何麻烦。但!完成这项工作的 LADSPA 插件被锁定到 15 个频段,这些频段在我最需要的地方提供了非常差的控制:在高频区域(只有 5 kHz、10 kHz 和 20 kHz 频段,仅此而已)。
因此,我需要另一种解决方案,该解决方案不会破坏我的系统声音并提供可调节频段或参数均衡。
答案1
我最终找到的解决方案涉及使用另一个 LADSPA 插件,并提供具有 4 个可控频段的参数均衡。它是 Fons Adriaensen 称为“FIL 插件”的东西,(假设您已经拥有 LADSPA 插件支持所需的东西)安装如下:
安装菲尔插件来自 Ubuntu 软件中心的软件包(这应该为您提供插件文件 /usr/lib/ladspa/filters。所以)。
通过将这些行添加到 ~/.config/pulse/default.pa 的末尾,将均衡器插件设置为默认接收器(每次 PulseAudio 重新启动时应用):
加载模块 module-ladspa-sink sink_name=FonsParamEQ master=alsa_output.pci-0000_03_06.0.analog-stereo 插件=过滤器标签=Parametric1 control=1,0,1,49,0.5,3,1,1000,0.5, 2,1,10000,0.5,3,1,13500,0.5,-12
设置默认接收器 FonsParamEQ
设置接收器静音 alsa_output.pci-0000_03_06.0.analog-stereo 0
- 停止正在运行的任何声音播放,等待大约 10 秒,然后在控制台中使用“pulseaudio -k”重新启动 PulseAudio。或者,您可以执行系统注销登录或重新启动。
在哪里:
“FonsParamEQ”是您想要调用 EQ 接收器的任何名称
“plugin=filters label=Parametric1”需要完全一样
您可以通过在控制台中输入“pactl list-sinks | grep master”并查找 master_device 值来了解用作 master= 的内容
control= 值的效果在“analysispluginfilters.so | grep control”的输出中描述
我不确定执行 set-sink-mute...0 的最后一行是否真的有必要,我只是从之前在 mbeq_1197 的 default.pa 中进行的相同类型的设置中复制了它。我认为当我插入外部 DAC 时它很有用,因为我记得一开始这可能会导致所有音频静音(但很长一段时间没有这样做)。
现在,起初我认为这种设置只有在您想设置并忘记特定于您的扬声器和/或房间的单个均衡器配置文件时才有效,因为更改设置似乎需要您手动编辑default.pa并重新启动每当您想要调整某些内容时,请使用 PulseAudio。事实证明,您可以基于同一插件使用不同的设置创建 module-ladspa-sink 的多个实例,这将允许您使用该插件拥有不同的均衡器“预设”并在它们之间实时切换。我现在拥有的看起来像这样:
加载模块 module-ladspa-sink sink_name=字体参数EQ1master=alsa_output.pci-0000_03_06.0.analog-stereo 插件=过滤器标签=Parametric1 control=1,0,1,49,0.5,4,0,400,1,0,1,6500,0.15,-3,0,13800,0.15,0
加载模块 module-ladspa-sink sink_name=字体参数EQ2master=alsa_output.pci-0000_03_06.0.analog-stereo 插件=过滤器标签=Parametric1 control=1,0,1,49,0.5,4,0,400,1,0,1,6500,0.15,-6,0,13800,0.15,0
加载模块 module-ladspa-sink sink_name=字体参数EQ3master=alsa_output.pci-0000_03_06.0.analog-stereo 插件=过滤器标签=Parametric1 control=1,0,1,49,0.5,4,0,400,1,0,1,6500,0.15,-9,0,13800,0.15,0
设置默认接收器字体参数EQ1
设置接收器静音 alsa_output.pci-0000_03_06.0.analog-stereo 0
因此,现在当我打开 PulseAudio Volume Control 时,除了硬件接收器之外,我还看到 3 个不同的基于 LADSPA 插件的接收器 - 唉,它们都具有相同的名称 - 其中第一个被设置为默认值。尽管它们上显示的名称都是相同的,但我可以记住我使用的设置以及创建它们的顺序,并且我知道当我向下移动列表时,我可以获得越来越多的 6.5 kHz 衰减乐队。据我所知,音量控制 GUI 上显示的名称无法更改,因为它们似乎基于嵌入到filters.so插件本身中的字符串,但如果您只需要一些这样的“预设”,您可以轻松记住设置,至少您知道可以拥有它们。
答案2
我的图形用户界面程序脉冲音频参数均衡器使用一组专门为此任务编写的 ladspa 插件来进行均衡。 EQ 的插入是在系统范围内进行的,不需要 GUI 来运行,即使系统重新启动,设置也会保留。实时改变参数,即刻就能听到结果。