问题

问题

以下事实来自在 64 位笔记本电脑上使用 Ubuntu 13.10 的经验。

背景/问题:糟糕的演讲者

众所周知,笔记本电脑扬声器音频专业人士会说,它们有“高度不均衡的频率响应”。普通人会说:“它们声音很糟糕“。

第一步解决方案:均衡

均衡提供了一种有价值的解决方法,只需一次努力就能显著改善音质。例如,我安装了Web Upd8 的 PulseAudio 均衡器

为了获得良好的结果,应根据测量结果选择均衡值,但这是另一回事(我可以单独使用 Ubuntu 来做到这一点,尽管这很棘手,请向我询问详细信息)。

剩余问题:均衡曲线与输出相关

均衡值与整个链相关,但通常只有扬声器才是造成不平等响应的主要来源。

这意味着我有两个均衡配置文件:

  • 一个用于笔记本电脑扬声器(均衡曲线变化很大)
  • 当将外部立体声音响插入例如 3.5 毫米插孔时,则是另一回事(曲线更加平坦,因此禁用均衡通常是可以接受的)。

当前实践情况:自动取消/静音,不错但不足

  • 当将 3.5 毫米插孔插入外部立体声音响时,内置扬声器会自动静音,音量由 Ubuntu 堆栈调整。这很好,但还不够。
  • 拔掉电源后,内置扬声器会自动再次激活。这很好,但还不够。

改进:不仅可以自动静音,还可以自动选择均衡曲线

拔下/插入 3.5 毫米插孔时应用正确的均衡器预设会更好。插入外部立体声音响,选择平坦曲线。拔下立体声音响,内置扬声器会获得其校正曲线。


问题

如何快速进行黑客攻击?如何从脚本中检测插头?

如何进行干净的设置:将均衡曲线分配给内部扬声器,而不仅仅是插头事件。

例如,假设我插入 USB 音频设备并通过它播放音频。只要拔下/插入 3.5 毫米插孔,这个快速而简单的技巧就会改变 EQ 曲线,尽管音频实际上继续进入 USB 音频设备而不是内置扬声器,因此 EQ 曲线的变化无关紧要。

在“干净”的设置中,均衡配置文件将干净地分配给内置扬声器,从而使设备更加稳定。无论在什么情况下,它总是(并且只)在需要时应用。

有人在做这个吗?有什么提示吗?

感谢您的关注。

答案1

因为我遇到了类似的问题,所以我编写了一个“快速而粗糙”的 python 脚本,它使用 pulseaudio 的 DBus-Events 来检测何时激活哪个均衡器配置文件。

安装

要使用它,您必须将以下行添加到 /etc/pulse/default.pa:

load-module module-dbus-protocol

然后通过 pulseaudio-equalizer-gtk 禁用均衡器并单击“应用设置”,现在关闭 GUI。

下载应用均衡器.py将其保存在某处并使其可执行。

以用户身份执行它(!)。也许您需要安装一些额外的 Python 模块。此外,您可能希望在登录时自动启动它(我不知道最好的方法是什么)。

用法

该脚本在 ~/.config/apply-equalizer 下创建每个端口 [1] 均衡器配置,如果设备改变输出端口(即插入或拔出耳机),则对其进行符号链接。

[1]:许多声卡有不同的端口,例如一个扬声器端口和一个耳机端口

所以:

  1. 拔下耳机。
  2. 打开 pulseaudio-equalizer GUI
  3. 自定义均衡器设置,直到听起来不错
  4. 然后,“应用设置”会将你所做的配置(包括均衡器是否已启用)分配给当前端口(此处为发言者)
  5. 关闭 GUI并对要分配的每个端口重复第 2 步(未插入耳机)

现在,只要您在扬声器和耳机之间切换,均衡器设置就会自动调整。

答案2

这里有一个手动解决方案,可以在均衡器开启(使用您喜欢的设置)和关闭之间切换:

if [ "$(pulseaudio-equalizer status | grep "Equalizer status" | cut -d"[" -f2 | cut -d"]" -f1)" == "enabled" ]; then
    pulseaudio-equalizer disable
else
    pulseaudio-equalizer enable
fi

将文件保存为 bash 脚本,创建一个新的面板启动器,以便能够直接从桌面或菜单面板启动该脚本。

相关内容