每次将耳机连接到Dell XPS 13上的3.5mm音频插孔时,除了我希望听到的音频外,我还会听到连续的白噪声。它比耳机插孔的典型本底噪声大得多。
我发现两个同样的问题的许多其他报告XPS 13 9350(1,2)和XPS 13 9360(1,2,3),所以看起来像我有一个错误的单元不。
有没有办法消除这种噪音?
每次将耳机连接到Dell XPS 13上的3.5mm音频插孔时,除了我希望听到的音频外,我还会听到连续的白噪声。它比耳机插孔的典型本底噪声大得多。
我发现两个同样的问题的许多其他报告XPS 13 9350(1,2)和XPS 13 9360(1,2,3),所以看起来像我有一个错误的单元不。
有没有办法消除这种噪音?
Answers:
将耳机麦克风升压增益设置为10dB。任何其他值似乎都会在耳机中引起恼人的背景噪音。这可以通过以下方式完成amixer
:
amixer -c0 sset 'Headphone Mic Boost' 10dB
为使此功能在每次连接耳机时自动发生,请进行安装acpid
。
通过运行以下命令启动它:
sudo systemctl start acpid.service
通过运行启用它:
sudo systemctl enable acpid.service
创建以下事件脚本 /etc/acpi/headphone-plug
event=jack/headphone HEADPHONE plug
action=/etc/acpi/cancel-white-noise.sh %e
然后创建动作脚本/etc/acpi/cancel-white-noise.sh
:
#! /bin/bash
amixer -c0 sset 'Headphone Mic Boost' 10dB
现在,每次连接耳机时,“耳机麦克风增强”将设置为10dB。要使此方法有效,您需要重新启动笔记本电脑。
headphone-plug
事件脚本应该是/etc/acpi/events
代替,这并不需要chmod +x
在cancel-white-noise.sh
上述路径应该工作,但该文件需要chmod +x
设置后,运行后sudo service acpid restart
。为我工作,无需重启。谢谢:)
此问题是由Linux的HD Audio驱动程序中的错误引起的,现已修复。所有5.7及更高版本的内核都将具有此修复程序,并且还将其反向移植到几个稳定的内核中,分别出现在版本5.6.5、5.5.18、5.4.33和4.19.116中。使用该修补程序升级到内核应该可以使问题消失,而无需其他配置或解决方法。
内核中的修复在几个方面比其他答案中的解决方法更好:
事实证明,某些Realtek HD Audio编解码器(包括XPS 13 9350和9360中的编解码器)可以采用通常用于配置HD Audio编解码器的自文档“节点图”所未公开的方式路由音频。由于多个错误的融合,从2015年起,内核一直在配置XPS 13 ,以捕获来自3.5mm插孔的信号,就像插入麦克风一样,将其放大,然后将其路由回该插孔。
就像您想象的那样,此反馈回路会产生不良影响,最明显的是白噪声,其性质会根据信号在被反馈之前被放大的量而变化(“ Headphone Mic Boost”控件)。增益水平之一碰巧几乎没有噪音似乎是幸运的事故。但是,由于反馈循环仍然存在,因此您仍然会听到比预期更安静,质量较低的音频,以及在编解码器挂起/恢复时弹出。
有关更多信息,请参阅我的实现修补程序的补丁系列。该系列中的提交消息,以及为控制隐藏音频路由的Realtek寄存器添加的反向工程文档,提供了对该问题,其历史和修复的详细说明。