去除 MIUI 底噪


需求描述

似乎小米手机普遍存在底噪问题

本以为是VSD 2S的灵敏度有点儿高,谁知AH-MM400人声也有底噪,录音的时候受不了了…

参数

 
手机型号 MI 5
MIUI 版本 9.8.3.27
Android 版本 8.0.0

实现思路

参考 MIUI 国际版 mixer_paths_tasha.xml 文件中控制耳机口的代码,添加至当前版本文件中

Google 启动了 Treble 计划,对 system 分区和 vendor 分区进行严格的分离,相关文件移动至了 vendor 分区

Android O 路径变为:/system/vendor/etc

实现过程

请使用支持搜索的文本编辑器

取得完整 root 权限后

打开 /system/vendor/etc/mixer_paths_tasha.xml

查找 <path name="headphones">

</path>前添加

1
2
3
4
<ctl name="COMP1 Switch" value="0" /> 
<ctl name="COMP2 Switch" value="0" />
<ctl name="HPHL Volume" value="11" />
<ctl name="HPHR Volume" value="11" />

查找 <path name="headphones-44.1">

</path>前添加

1
2
3
4
<ctl name="COMP1 Switch" value="0" /> 
<ctl name="COMP2 Switch" value="0" />
<ctl name="HPHL Volume" value="11" />
<ctl name="HPHR Volume" value="11" />

保存并修改权限 rw-r–r–

你也可以直接下载现成的文件,但可能会因不兼容而声音变小 mixer_paths_tasha.xml

替换至 /system/vendor/etc/mixer_paths_tasha.xml(Android O+)

或 /system/etc/mixer_paths_tasha.xml(Android N-)

参考

酷安原文:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Fan1ess
2017-10-21
【小米5刷类原生后底噪大解决方法2.0】
已测试,游戏、通话声音正常
只想看解决方法的可直接拉到底↓↓↓

大约一周前我分享了小米5底噪大的解决方法(可看我之前的动态),但这个解决办法并不完美,只解决了听歌时的底噪问题,同时简单粗暴的文件替换还导致了游戏和通话时耳机没有声音,严重影响了日常使用。
之后我在贴吧原帖中看到了有不替换文件、只添加相关代码的方案,不过当时不到周末没有时间,一直没有进行尝试。
终于到了周末,今天下午按照原帖中的方法提取了官方MIUI和Mokee的mixer_paths_tasha.xml文件进行对比。按照原帖中楼主所说,应该是只有8行代码不同,但我对比的结果却是十几处一百多行的不同。#(阴险)
图一是原帖中楼主发出的对比图(注意图中被选中的代码),图二是我提取的文件对应处的情况,可以看到我提取的两个mixer_paths_tasha.xml文件在此处并没有不同,而是都没有图一中4行代码。
再看原帖,发现楼主用的是老版本的MIUI,对比的是稍早的国际版,而我是最新的(20171019)国际版与类原生相比,所以差异较大。
此时问题的解决陷入了僵局[w思考],不过经过我的一番分析,认为还是不能替换文件,只能在原文件的基础上修改,以减小影响。至于怎么修改,我参考原帖楼主指出的控制耳机孔声音的8行代码,直接将它们复制到类原生中提取的mixer_paths_tasha.xml文件的对应位置,然后保存替换重启,最终成功解决。

【解决方法】
*****************************************
贴吧原帖:http://tieba.baidu.com/p/5302897446?pn=0&&red_tag=b3310793627

找到/system/etc/mixer_paths_tasha.xml这个文件(图三)复制出来
找到合适的XML编辑器打开,在两个对应位置各加上4行代码(图四图五)
代码如下:

<ctl name="COMP1 Switch" value="0" />
<ctl name="COMP2 Switch" value="0" />
<ctl name="HPHL Volume" value="11" />
<ctl name="HPHR Volume" value="11" />

修改完后保存,再替换原来的文件,重启即可摆脱底噪。
经测试,网易云/bilibili均正常,耳机通话正常,游戏只测试了碧蓝航线,正常。
!!!!!! WARNING!!!!!!

此方法我只在刷了魔趣的小米5测试过,刷了其他类原生(7.1.2)的小米5应该通用,其他小米机型可自行摸索尝试(后果自负),非小米机型最好不要作死。

最后,@茶杯 @梨子 @八百标兵 @酷安小编 @侧脸君 ,求PY#(滑稽)