首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于音频输出(内部扬声器或外部)的自动切换均衡器预置

基于音频输出(内部扬声器或外部)的自动切换均衡器预置
EN

Ask Ubuntu用户
提问于 2014-01-08 15:18:34
回答 2查看 4.2K关注 0票数 5

下面的事实来自于Ubuntu13.10在64位笔记本电脑上的体验。

上下文/问题:糟糕的演讲者

正如许多人所知道的,笔记本电脑的扬声器有“非常不平等的频率响应”,音频专业人士会说。正常人说:“他们听起来很糟糕”。

第一步解决方案:均衡

均衡化提供了一个有价值的解决办法,通过一次性的努力,极大地提高了音质.例如,我安装了脉冲音频均衡器在Upd8 8中的应用

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

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

均衡化值被附加到整个链上,尽管通常只有发言者是不平等反应的主要来源。

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

  • 一个用于笔记本电脑扬声器(均衡曲线变化很大)
  • 另一个(更平坦的曲线,所以禁用均衡往往是可以接受的)时,外部立体声被插入例如一个3.5毫米千斤顶。

在实践中的现状:自动联合国/静音,良好但不足的

  • 当将3.5mm插孔插入外部立体声时,内部扬声器自动静音,音量由Ubuntu堆栈调整。这是好的,但还不够。
  • 当拔出插头时,内部扬声器会再次被自动激活。这是好的,但还不够。

改进:不仅自动静音,而且自动选择eq曲线

使用正确的均衡器预置将更好的时候,不插/插3.5mm千斤顶。插入外部立体声,选择平面曲线。拔掉立体声,内部扬声器得到他们的校正曲线。

问题

如何快速而肮脏地进行黑客攻击?如何从脚本中检测插孔插头?

  • 关于检测堵塞事件。我在网上找不到文档,加上关键字" jack“返回有关jack软件套件的结果,这里不相关。最低起点:声音-如何在解压耳机时自动改变音量?-问Ubuntu。 音频插孔检测:蓝图: Ubuntu
  • 关于改变均衡器曲线,我找不到任何关于pulseaudio-equalizer-gtk的文档。一个概念证明脚本修改文件然后调用pulseaudio-equalizer interface.applysettings可能会改变设置,但图形用户界面不会意识到。

如何做一个清晰的设置:将均衡曲线分配给内部扬声器,而不仅仅是插入事件.

例如,假设我插入一个USB音频设备并通过它播放音频。快速和肮脏的黑客将改变EQ曲线时,3.5毫米千斤顶是不插/插,虽然音频实际上继续到USB音频设备,而不是内部扬声器,使eq曲线变化无关。

在“干净”设置中,均衡配置文件将被清晰地分配给内部扬声器,从而使事情更加健壮。无论在什么情况下,它总是(而且只有)在需要时才会被应用。

有人在调查吗?有什么暗示吗?

感谢您的关注。

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2014-03-10 13:45:52

因为我有一个类似的问题,所以我制作了一个“快速而肮脏”的python脚本,该脚本使用脉冲音频的DBus-Events来检测何时激活哪个均衡器配置文件。

安装

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

代码语言:javascript
复制
load-module module-dbus-protocol

然后通过脉冲音频均衡器-gtk禁用均衡器,然后单击“应用设置”,现在关闭GUI。

下载apply-equalizer.py,将其保存在某个地方,并使其可执行。

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

使用

该脚本在~/..config/apply-均衡器下创建每个端口的1均衡器配置,并在设备更改输出端口(即耳机插入或退出)时对它们进行符号链接。

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

所以:

  1. 拔下耳机。
  2. 开式脉冲音频均衡器GUI
  3. 自定义均衡器-设置,直到听起来不错
  4. 然后,“应用设置”将将您所做的配置(包括完全启用均衡器的配置)分配给当前端口(本例中为扬声器)。
  5. 关闭GUI并从第2步开始重复执行您想要分配的每个端口(耳机没有插入)

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

票数 3
EN

Ask Ubuntu用户

发布于 2016-01-28 13:23:32

这里有一个手动解决方案,用于在Equalizor打开(有您最喜欢的设置)和OFF之间切换:

代码语言:javascript
复制
if [ "$(pulseaudio-equalizer status | grep "Equalizer status" | cut -d"[" -f2 | cut -d"]" -f1)" == "enabled" ]; then
    pulseaudio-equalizer disable
else
    pulseaudio-equalizer enable
fi

将文件保存为bash脚本,创建一个新的面板启动程序,可以直接从桌面或菜单面板启动脚本。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/402275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档