JL DMS通话调试手册-V3.9.4
双麦ENC开发调试手册
版本:v3.9.4
日期:2022/06/10
珠海市杰理科技股份有限公司
Zhuhai Jieli Technology Co.,LTD
版权所有,未经许可,禁止外传
http://www.zh-jieli.com/
版本说明
通话调试手册3.0 以上版本适用于支持双mic 降噪(ENC)的方案。和 2.0版本有重合的部分,也有新添加的调试参数。
| 版本 | 描述 |
|---|---|
| v3 .0 | 增加双mic ENC调试说明 |
| v3 . 1/v3 .2/v3 .3 | 参数更新说明 |
| v3 .4 | ENC增加两个参数以及说明 |
| v3 .5 | 增加双mic 降噪(ENC)的设计指导 |
| V3 .6 | 增加气密性测试和量产测试指引 |
| V3 .7 | 增加双麦头戴式话务耳机开发设计指引 |
| V3 .8 | “三、DMS(ENC)概述”章节增加数据处理流程图 |
| V3 .9 | 增加DNS神经网络降噪参数调试说明 |
| V3 .9. 1 | “通话调试常见问题”/4:完善声音闷的调试指引 |
| V3 .9.2 | 增加对AC701N 系列的支持 |
| V3 .9.3 | 增加对双mic话务耳机主副mic距离的说明 |
| V3 .9.4 | 完善对双mic Mic_RMS_diff参数说明 |
| V3 .9.5 | 增加第二版双麦dns算法的使用说明 |
注意:
工具中未作说明的配置项,作为预留配置项,请在开发人员指导下使用!
适用SDK列表
| 芯片系列 | SDK类型 | 备注 |
|---|---|---|
| AC897N/AD697N | Earphone | |
| AC700N | 通用 | |
| AC701N | 通用 |
目录
一、 DMS(ENC)简述.................................................................................... 7
二、 双麦ENC开发设计要点.......................................................................... 9
(一) 概述............................................................................................................................................ 9
(二) Micr。ph。ne选型规格.............................................................................................................. 10
(三) 声学设计要点........................................................................................................................... 10
(四) 腔体气密性测试....................................................................................................................... 12
(五) 设计误区(避免)................................................................................................................... 17
(六) 开发生产测试指引................................................................................................................... 18
三、 双麦ENC参数与调试指引.................................................................... 23
四、 AEC模块................................................................................................. 29
五、 NLP参数................................................................................................. 30
六、 AGC参数................................................................................................ 31
七、 ANS 参数............................................................................................... 34
八、 神经网络降噪DNS................................................................................. 35
九、 第二版双麦dns算法............................................................................. 37
十、 EQ参数...................................................................................................41
十一、 双麦头戴式话务耳机开发设计指引................................................. 43
(一) 概述.......................................................................................................................................... 43
(二) Micr。ph。ne选型规格.............................................................................................................. 44
(三) 声学设计要点...........................................................................................................................44
(四) 流程和参数配置说明............................................................................................................... 46
(五) 常见调试问题...........................................................................................................................48
十二、 通话调试常见问题Q&A.................................................................... 49
(一) 有噪声或者电流声................................................................................................................... 49
(二) 声音忽大忽小,不均匀........................................................................................................... 49
(三) 回音消不掉...............................................................................................................................50
(四) 远端听到的声音比较闷,不清晰............................................................................................ 50
(五) 远端听到的声音有尾音........................................................................................................... 51

一、DMS(ENC)简述
一、 DMS(ENC)简述
ENC (Environmental Noise Cancellation)降噪技术,是通过双/多麦克风阵列,精准计算通话者说话的方位,在保护主方向目标语音的同时,去除环境中的各种干扰噪声,例如其他人的讲话声、 交通工具产生的噪音、 风噪声等等。
DMS双mic 降噪系统属于ENC 的一种。 通过双mic 相互作用,通话过程,给到远端接听的人以清晰语音。
顺便提一下,ANC和ENC 的区别:
ANC(Active Noise Cancellation,主动降噪)耳机系统通过麦克风采集环境噪声,并将此噪声反相叠加到喇叭端,人耳听到的是相位相反的两种噪声叠加结果,于是达到了消噪的目的。
ANC 的受益人是耳机使用者本人,通过ANC 功能,让用户自己减少受到环境噪声的影响。
ENC 的受益人是通话的另一方,通过ENC 功能,减少环境噪声对通话的影响,让对方听到清晰语音。
ANC让自己听感环境更加安静,ENC让通话的另一端听感环境更加安静。
1.双MIC 降噪数据处理流程如下:
注:降噪NS模块,可以选择传统降噪ANS,也可以选择神经网络降噪DNS,二选一。
2.以下是对于端对端通话过程远端和近端的定义,本手册涉及的远端
近端概念,遵照以下框图。
我们讨论的回音,是指远端手机讲话,发送到连接蓝牙设备的近端手机,然后声音从蓝牙设备的 speaker 发出来,又被蓝牙设备的microphone 采集到,通过近端手机发送回远端手机,远端可以延时听到自己讲话的声音。
二、 双麦ENC开发设计要点
二、双麦ENC开发设计要点
(一)概述
为了方便介绍双麦克风系统相关信息,定义两个mic 的连线上指向主 mic 方向为0 °。 相对的,指向副mic 方向为 180 °
180 ° 副mic 的方向
90 ° 270 °
主mic 的方向 0 °
双麦ENC是基于波束成形(beamforming)技术来进行方向性选择的信号
处理系统,依赖于不同方位的声音到达两个mic 的幅度差和相位差, 比如两个平行的mic朝向如下:
正常情况下,人声到达两个mic 的幅度和相位差是这样的:下面的mic 的幅度和相位都大于上面的mic。而其他方向的噪声去到这两个mic 的幅度差和相位差应该是接近或者上面的mic大于下面的mic 的。
双mic 降噪目标效果是为了消除声源位于方向为90 °至270 °之间的声音,实际调试使用过程中,主mic 两侧 120 °范围内的声音被清晰识别到,其余方向被不同程度的消除。
(二)Microphone选型规格
| Microphone选型规格 | |
|---|---|
| 数量 | 2个模拟MIC |
| 方向性 | 全指向性 |
| 信噪比 | >=62dB (A) |
| 相位 | ±10 °@100-7kHz |
(三)声学设计要点
为了能使系统达到最优效果,声学设计上需要有一定的约束,两个mic 之间的频响以及相位不要有过大的差异。另外,两个MIC和Speaker之间,应该有减震、 密封隔离处理,减少回音传播。
设计要点如下:
(1) MIC 间距:15-35mm
(2) MIC一致性(灵敏度和频响): <= 1dB
(3)两个mic 到达各自的拾音孔之间的空间尽量限制在一个半径与拾音孔半径一致的圆柱体内,并做好密封,防止与内部腔体连通。 两个mic 对应的圆柱体空间尽量一致,这样可以保证声音从同样距离到达两个mic 的相位以及增益一致。
(4)两个mic距离拾音孔的距离越短,额外附加的频响就越小。但要注意为mic增加减震措施,减少非线性的回声
(5)推荐腔体设计如下:

(6)推荐mic位置摆放设计如下:
(四)腔体气密性测试
双麦克风降噪算法依赖于不同的声源方向到达两个麦克风之间的相位差与幅度差来达到消除特定范围内噪声的效果。 如果外界声音到达麦克风的声音路径除了外壳进音孔外的其他路径的分量较大时则会破坏不同的声源方向到达两个麦克风之间的相位差与幅度差,从而让ENC效果变差。
为了保证外界声音进入到麦克风的能量主要经过外壳进音孔而不是其他路径,需要对麦克风与外壳之间的通道的气密性进行测试。
(1)测试的步骤如下:
step 1:准备一只装配好的耳机,烧写spp 音频导出程序
step2:耳机平放于桌面上。放置一个喇叭正对耳机。
step 3:用音频导出工具(安卓Audio_tool或者PC端工具)导出两个 mic 的音频数据
PC端工具
安卓端工具
step4:喇叭播放一段扫频信号(50Hz-8kHz),导出两个mic(均不堵)的原始数据。
step 5:用替丁胶,橡皮泥或者其他隔音材料堵住主麦克风进音孔,再播放扫频信号(保持耳机相对于喇叭位置不变),导出两个mic 的原始数据。
step6:移开堵住主麦克风的替丁胶,橡皮泥或者其他隔音材料
step 7:用替丁胶,橡皮泥或者其他隔音材料堵住副麦克风进音孔,再播放扫频信号(保持耳机相对于喇叭位置不变),导出两个mic 的原始数据。
step8:结束音频数据记录
(2)分析步骤如下:
step 1:用音频分析软件打开录音数据
step2:观察接收到的扫频信号有无出现饱和。如果有则减少喇叭音量,重复上面的测试步骤。
step 3:用频谱分析工具分别分析, (主、 副)麦克风收到的扫频信号与(主、 副)麦克风被堵住的时候收到的扫频信号。
step4:为了达到最佳效果, 同一个麦克风堵住的信号频谱相对于没堵住的信号频谱应当有-25dB 以上的衰减。
(3)数据分析示例如下:
【分析示例 1】不同场景录音数据如下:可以看到,两个mic都没有堵的情况下,都可以正常拾取到外部的声音,而堵住其中任何一个mic 的进音孔,都会使其拾取到的声音明显突变到很小。
(1)两mic都没有堵
(2)堵住副mic
(3)堵住主mic
主mic
副mic
【分析示例2】频响幅度差分析:可以看出,主副mic在堵住前后,有明显的幅度差,证明腔体气密性是合格的。 虽然气密性差,也可以调出一定的ENC 降噪效果,但达不到理论最优效果。
主副麦克风频谱对比(红色为未堵住,橙色为堵住)
(4)双麦降噪耳机气密性常见问题
问题 1:使用了胶套,但胶套与外壳有缝隙,细微的缝隙也可以造成巨大的漏气,通过这些缝隙声音传播的声音非常大。 应当让胶套比实际的空间稍大,靠装配的压力压紧,这样缝隙就基本被堵住。
问题2:使用质地较硬的硅胶套,装配的时候没办法跟PCB板完全贴合导致漏气的发生。
问题3:在外壳上做了开槽,把麦克风套在里面。这种情况因为外壳是硬质的塑料,与PCB板无法很好地贴合在一起,这种情况可以在麦克风周围增加一圈软性的胶垫来填补缝隙。
问题4:麦克风的进音孔跟外壳开孔成90度。 这种情况常见于主麦克风,这种情况可以通过特殊的胶套来保证麦克风的进音孔到外壳的进音孔的气密性,但这种成功率较低,经常因为胶套与外壳,或者与PCB 的贴合度问题导致漏气。 建议使用外壳开槽,麦克风周围增加一圈软性的胶垫来填补缝隙的方式构造麦克风的进音孔到外壳的进音孔之间的导音管,这样气密性比较容易得到保证。
(5)双麦降噪耳机如何增加气密性
当通过气密性测试发现耳机的气密性非常糟糕的情况下,可以使用一些可塑性的隔音物质对麦克风周围的空间进行填充,再测试气密性,从而找到漏气的位置。
一般推荐使用bostik牌的蓝丁胶,这种胶呈胶泥状,有良好的隔音性与可塑性,且易于清理,可以重复使用。 但对于一些过于细小的缝隙可能没法封住,这种情况可以使用704硅橡胶,用针筒注射到麦克风的附近,而且这种胶可以在生产中实际使用,但调试过程中不易清理,一般是蓝丁胶无法作用时使用。
调试的过程中应对注意,硅麦的振膜非常脆弱,如果不慎把胶挤到进音孔里,很容易导致麦克风的损坏,即使把胶重新清理干净。
当找到漏气的位置,就要考虑是使用打胶方式还是改进模具或者改进胶套方式来达到气密性增加的效果。
(五)设计误区(避免)
- mic 与拾音孔之间无密封。 这样mic 会与耳机内部腔体直接连通,声音的高频成分会被大大削减,声音到达两个mic 之间的相位也会因为内部的反射而失去声源方向信息,从而令双mic 系统失效。

- mic 与外壳之间没有添加减震措施。 喇叭播放的声音会通过外壳传到到mic 中形成回声,这部分回声因为是通过固体震动传播,可能具有高度的非线性,会影响整个通话效果。
- 【建议】尽量避免两个mic一个上进音一个下进音,即同用上进音或者下进音。调试过程发现,有些方案,一个上进音,一个下进音,容易出现灵敏度和相位严重不一致情况,导致ENC失效。 后续如果我们软件上面可以通过相关技术手段支持这种情况,再进行通知。

(六)开发生产测试指引
本章节主要说明在样机开发阶段、 试产阶段和量产阶段需要注意的事项和建议,最终目的是为了达到量产阶段产品性能一致性。我们强烈建议:开发和试产阶段,一定要使用仪器进行客观指标测试,确保后续量产的合格率。
当我们参照ENC调试指引(“五、ENC参数与调试指引”)调试完一款 ENC 降噪样机之后,对着耳机的不同角度, 比如0 °, 90 °, 180 °讲话,正常的效果应该是0 °的人声清晰舒适,对着90 °和 180 °讲话,人声基本很小或者基本听不到。 当满足这个主观感受之后,我们建议就可以多测试一些样机,来感受一致性了。
接下来就可以通过测试仪器,对样机的个个指标进行详细测试和评估。目前我们已经支持美格信、 兆华仪器、 指南测控仪器厂商,下面就以美格信(Megasig)测试仪器为例,做一下测试指引。
(1)具体数据指标测试
测试结构图如下:
打开测试仪器厂商编写好的测试序列,点击开始测试,便可以测试样机的各个指标了。 具体那些测试项需要测试,可以根据自己需求,进行增添和裁剪。
下面是某一个样机的实际测试数据图:
从上面的测试数据(本数据只测试一台样机),我们比较关心的是:左右耳降噪曲线,主副mic频响测试。
降噪曲线:客观评估样机的降噪深度和降噪频率范围。
主副mic频响:客观评估mic 的一致性,这一步和我们做数据导出分析频响的目的是一样的。
(2)指向性测试(极性图)
实物测试图如下:
步骤 1:点击“快速工具”,在快速工具面板选择“蓝牙控制器”,连接DUT设备,选择 “极性图测试”,进行设备的指向性测试
步骤2:蓝牙连接
step 1:功能选择“Search BT Address”->“运行”
step2:搜索到目标地址,功能选择 “Connect”, 同时在蓝牙地址码填入目标蓝牙地址
step 3:设置声卡播放测试信号
步骤3:极性图测试
蓝牙连接成功,先将转盘归0 °,然后将样机的主副mic 的连接线对着人工嘴,开始测试
下面给出两个典型的双mic和单mic 的指向性测试图
可以看到,合理的声学设计和参数配置,双mic的有效拾音范围为120 °
左右,而单mic表现出现是全方位角度的有效拾音。
三、 双麦ENC参数与调试指引
三、双麦ENC参数与调试指引
ENC_Process_MaxFreq:ENC处理的频率上限
ENC_Process_MinFreq:ENC处理的频率下限
理论上讲,线性情况下,ENC可以处理全频带的语音宽带信号(16k)。但是如果出现信号失真情况,会影响ENC 的处理结果,严重情况下,会导致消除失真的语音信号。 所以, 比如 5k 以上信号出现失真情况,则把 ENC_Process_MaxFreq 设置成5000,超出部分不做ENC处理。 当然,为了达到最佳效果,我们建议还是要保证待处理信号的保真性。 Mic_Distance:两个mic 拾音孔之间的物理距离,单位是m(0.015 即为 15mm)
该值要求尽量精确,需要借助测量工具进行科学测量。 Mic RMS diff(Target_Signal_Degradation) :目标信号到达主麦克风与副麦克风之间的幅度差异补偿。
该参数与两个mic 之间的距离以及声学设计有关,影响ENC对噪声的
抑制,以及对目标信号的保留。正常情况下,主mic信号大于等于参考mic 信号。 所以调试方法是, 当主mic和参考mic 的信号差异很小时,该值配 1.0 ,当主mic信号大于参考mic 时,则调小该值,即实现以下平衡:
主mic信号 * Target_Signal_Degradation = 参考mic信号可以使用以下方法确定最佳参数:
1.在安静,低混响环境中(如消音室, 室外空旷安静场地),使用人工嘴正对主mic,播放扫频或白噪信号,分别采集主mic或副mic信号。分析幅度差异。
2.在安静,低混响环境中(如消音室, 室外空旷安静场地),并且打开 ENC,使用人工嘴 1正对主mic,使用人工嘴2正对副mic,分别在人工嘴2 播放白噪,人工嘴 1播放扫频,计算得到两次测试的频响FR1 ,FR2(FR1对应人工嘴 1) ,计算降噪增益频响 FR_ENC = FR1-FR2。 迭代调整 Target_Signal_Degradation,使FR_ENC 最大。
注意:早期配置工具,Target_Signal_Degradation是需要手动计算的,新的工具, 已经可以通过填写主副mic采集信号的rms 幅值差,工具自动生成。
ENC_Aggressfactor:动态侵略系数,越大压制越强
ENC_Min suppress:静态压制最小值,越大压制越小
调试指引
1、 配套工具
(1)安卓手机apk:audio_tools(“AudioTools使用手册/记录”章节)
(2)PC 音频录制工具(内置于“杰理SDK 工具”,工具有帮助文档)
2、 SDK配置:打开数据导出宏定义
通过工具连接DUT样机,按照正常使用方式佩戴金机,然后开始录制音频数据。 该操作, 目的是为了录制通话人声(目标人声)到达两个mic 的差异性。 录制环境请遵循以下原则:
(1)空旷无混响环境
(2)安静无吵杂环境
(3)说话声音正常音量
3、 分析:
将通过spp导出到手机/电脑的主副mic 的数据,用音频分析软件检查频响和幅度差异,为参数调节提供理论支持。
(1)幅度方式示例如下:
主mic 的幅值:-35.65dB
副mic 的幅值:-37.20dB
差值:-1. 55dB(即Mic RMS diff)
根据公式:
主mic信号 * Target_Signal_Degradation = 参考mic信号
Target_Signal_Degradation = 10 ^ (-1.55 / 20)
= 0.8366
故配置参数Target_Signal_Degradation 填0.83
【 注】 后续版本支持直接填写两个mic 的幅度差, 由工具自己计算 Target_Signal_Degradation。
python计算如下:
windows 自带计算器计算如下:
(2)频响分析示例
如果两个mic 的频响曲线通过平移,3000Hz 以内有较好的重合,表示频响正常。 当然,如果全带宽频响一致,那是最好的了。 如果出现频响严
重不一致的问题,就需要检查电路或者mic 的工艺一致性了。
4、 在线调试
可以使用audio_tools在线调试ENC参数,感受实时效果。

四、AEC模块
四、AEC模块
双mic 降噪ENC默认需要打开AEC模块。
注意:AEC模块的参数基本不用调试,这里是为了兼容性考虑,所以放到配置工具。 如有需要, 由原开发人员指导修改
global_min suppress:全局最小压制系数
针对某些信噪比比较差的信号经过各个算法模块处理过后,压制太多,导致声音损失严重。 这个时候就可以通过配置全局最小压制系数来控制压制强度。该值越大,表示压制下限越高,压制效果越弱。0 的时候最强,即最小可以压制成静音。
五、NLP参数
五、 NLP参数
OverDrive:影响回声压制系数计算,数值越大压制则越强, 当值为0 的时候则无任何回声压制作用。
六、AGC参数
六、AGC参数
AGC调试的是远端听到的声音。即mic采集到的人声传到远端手机端的声音大小。 该模块是后级数字模块,即在一定的mic模拟增益的情况下,做完回音消除处理后,准备送到远端之前做的一个数字放大AGC。所以它只影响声音的大小。 流程如下:
调试指引:
(1)增益单位是dB
(2)当mic采集到的数据人声大于speech_thr(近端声音放大的阈值)时放大MAX_GAIN
(3)当mic采集到的数据人声小于等于speech_thr(近端声音放大的阈值)时放大MIN_GAIN
(4)最大放大倍数和最小放大倍数之间,是通过fade_in和fade_out 来淡入淡出的。 比如单端讲话,这个时候淡入的步进就是:ndt_fade_in,淡出的步进就是:ndt_fade_out。 讲话的时候淡入,没说话的时候淡出。双端讲话则用dt_fade_in和dt_fade_out,用法一样。
(5) speech_thr(近端声音放大的阈值)这个值根据mic采到的声音大小而定,如果太大,声音得不到均匀放大,即一会 放大max_gain,一会放大min_gain,听起来有可能忽大忽小。 太小则有可能环境声也会一并放大。
(6)使用AGC模块实现单工通话功能
在某些情况下,整个通话回路产生了严重失真,导致算法无法处理好回音,这个时候,就只能选择单工的通话方式。
所谓单工,即远端讲话的时候,听不到近端的声音,远端不讲话,可以听到近端的声音。 而近端,什么时候都可以听到远端的声音。 所以可以在检测到远端有说话,就开始将近端声音淡出,远端没说话,再自行淡入,就可以实现单工功能。
【注意】ECHO_PRESENT_THR 的值,决定什么时候进入单工处理。考虑到远
端讲话的声音一般是比较大的,所以可以适当将该值设置高一点,避免远端环境声或者其他非目标声音稍微一大,就听不到近端声音。 比如:远端过来的目标人声集中在-20dB 到-40dB 之间,则可以把ECHO_PRESENT_THR 设置成-45dB。 但是也要注意不能设置太大,太大会导致远端说话有些字达不到设定阈值,从而进入不了双端讲话模式,实现不了单工, 出现漏回音的情况。
七、ANS 参数
七、ANS 参数
注:降噪参数,推荐使用默认配置。如由需要调整,建议不要只调一个值,建议:
1、 如果要加强降噪效果,先调大一点动态压制AggressFactor,还不够,可以尝试调小一点静态压制minSuppress;
2、 如果要减弱降噪效果,先调大一点静态压制minSuppress,还不够,可以尝试调小一点动态压制AggressFactor ;
八、神经网络降噪DNS
八、神经网络降噪DNS
神经网络降噪:收集大规模的干净语音和噪声数据集, 提取干净语音特征和带噪声语音特征,采用深度神经网络技术进行降噪模型的训练。 训练出的降噪模型对输入信号实时进行噪声和语音的分类和回归,根据分类和回归的结果对语音信号进行噪声抑制,语音增强,提升信噪比。
对比传统降噪算法,采用深度神经网络进行语音降噪和增强,噪声估计更准确,语音失真更小, 同时也能适应非平稳噪声的降噪处理。
| 优点 | 缺点 | |
|---|---|---|
| ANS | 对平稳噪声处理效果好,对ram和 mips 要求低 | 适应性差,对动态噪声处理效果欠佳 |
| DNS | 噪声估计准确,语音保真度高,适应性好 | 对ram和mips要求高 |
1、 通用参数说明
(1) DNS_GainFl。。 r 增益平滑系数,该系数主要用于控制降噪增益最小值。 如果降噪后底噪较大,可以适当减小该值;如果出现吃音问题,可以适当提高该值,建议设定范围:0.05 ~ 0.3。
(2) DNS_OverDrive 降噪强度控制,DNS_OverDrive=1 为降噪中间值,即算法评估出来的降噪强度。 大于 1 的时候,即为加强降噪强度,小于 1
的时候,即为降低降噪强度,建议调节范围:0.2 ~ 3。
2、 常见问题调试指引
(1)出现吃音或者一句话某个字某个字变得很小声问题
出现该问题时,首先要确认所处环境是不是信噪比很低(如小于-5db),即噪声比人声大很多,这种情形下,优化空间有限,调试步骤如下:
步骤 1:通过调节mic 的增益来缓解:如果mic 的增益比较小(小于 10db),可以适当提高mic增益来缓解吃音问题,建议调节范围不要超过 15db;提高mic增益可能会导致噪声增大,据实际情况调节。
步骤 2: 调节 DNS_GainFloor 和 DNS_OverDrive 参数:适当提高 DNS_GainFloor 或 适当减小 DNS_OverDrive,可以通过配合 gain_floor 和over_drive适度调节。
(2)远端听到声音不均匀,忽大忽小
如果后处理开启了AGC模块, 出现该问题时,请参照“章节十:常见问题FAQ”第二个问题进行确认调整。
九、 第二版双麦dns算法
九、第二版双麦dns算法
1、 算法包含的模块
a.回音消除(AEC)
b.非线性压制(NLP)
c.神经网络降噪(DNS)
d.波束成形(ENC)
e.风噪检测(WNC)
2、 配置说明
2. 1、 配置使用新双麦算法

2.2、 配置使用非线性压制(NLP)模式

2.3、 配置使用风噪检测(WNC)模式
2.4、 风噪检测(WNC)参数说明 1. typedef struct
2. {
3. float wn_msc_th ;
4. float ms_th ;
[5.](5. int)[ int](5. int) wn_inty1; //不使用
[6.](6. int)[ int](6. int) wn_inty2; //不使用
7. float wn_gain1;//不使用
8. float wn_gain2;//不使用 [9.](9. int)[ int](9. int) t1_bot;
[10.](10. int)[ int](10. int) t1_top;
[11.](11. int)[ int](11. int) t2_bot;
[12.](12. int)[ int](12. int) t2_top;
[13.](13. int)[ int](13. int) offset;
[14.](14. int)[ int](14. int) t1_bot_cnt_limit;
[15.](15. int)[ int](15. int) t1_top_cnt_limit;
[16.](16. int)[ int](16. int) t2_bot_cnt_limit;
[17.](17. int)[ int](17. int) t2_top_cnt_limit; 18. }
(1)是否有风参数设置:
wn_msc_th: 双麦非相关性阈值,根据双麦采集到的音频相关性取值,相关性越小取值越大,取值范围(0~ 1),默认取值0.6
ms_th:麦增益能量阈值,用于衡量音频特定频段能量强度,需要根据实际风噪做确定;
确定方法如下:如果需要在大于3m/s风速下做降风噪,需要用样机在 3m/s 的实际环境下测试,使用intjlsp_get_wind_detect_info(int *wd_flag, int *wd_val, int *wd_lev)接口实时获取当前的风噪强度wd_val,把这个风噪强度的值wd_val填给ms_th。
注意:有无风是由wn_msc_th和ms_th 两个参数共同决定的。
(2)风噪等级参数设定,anc划分风强等级使用
t1_bot:低风噪等级能量下限阈值,即风强由强风/中风减小到弱风能量阈值,需要根据具体样机麦的增益以及采样率来确定,一般可以通过具体样机spp打印确定,取值范围 16bit
t1_top:低风噪等级能量上限阈值,即风噪由弱风增大到中风能量阈值,需要根据具体样机麦的增
益以及采样率来确定,一般可以通过具体样机spp打印确定,取值范围 16bit
t2_bot:强风噪等级能量下限阈值,即风强由强风减小到中风能量阈值,需要根据具体样机麦的增益以及采样率来确定,一般可以通过具体样机spp 打印确定,取值范围 16bit
t2_top:强风噪等级能量上限阈值,即风强由弱风/中风增大到强风能量阈值,需要根据具体样机麦的增益以及采样率来确定,一般可以通过具体样机spp打印确定,取值范围 16bit
offset:风噪能量增益偏移阈值,需要根据麦的增益确定
t1_bot_cnt_limit:风强变到弱风等级连续帧数计数,可根据对状态转移延时需求来确定,位宽 16bit
t1_top_cnt_limit:风强由弱风变到中风等级连续帧数计数,可根据对状态转移延时需求来确定,位宽 16bit
t2_bot_cnt_limit:风强由强风变到中风连续帧数计数,可根据对状态转移延时需求来确定,位宽 16bit
t2_top_cnt_limit:风强变到强风连续帧数计数,可根据对状态转移延时需求来确定,位宽 16bit
(3)风强等级参数状态图
弱风到中风条件:eng > t1_top 且 连续帧数大于t1_top_cnt_limit
弱风到强风条件:eng > t2_top 且 连续帧数大于t2_top_cnt_limit 中风到弱风条件:eng < t1_bot 且 连续帧数大于t1_bot_cnt_limit 中风到强风条件:eng > t2_top 且 连续帧数大于t2_top_cnt_limit
强风到中风条件:eng > t1_bot 且 eng < t2_bot 且 连续帧数大于 t2_bot_cnt_limit
强风到弱风条件:eng < t1_bot 且 连续帧数大于t1_bot_cnt_limit
保持弱风条件:弱风到中风、 强风条件都不满足
保持中风条件: 中风到弱风、 强风条件都不满足
保持强风条件:强风到中风、 弱风条件都不满足
3、 新旧双麦算法使用上的区别

十、EQ参数
3. 1、 回音消除的区别
第一版算法:回音消除功能默认使用nlp模块旧可以的,回音消除不够再打开aec模块。
第二版双麦dns算法:回音消除功能默认使用aec模块就可以的,回音消除不够再打开nlp模块,不能只使用nlp模块;但是为了兼容旧的算法,nlp 设置两只模式,模式一时,nlp 可以单独使用,模式二时,nlp 不可单独使用,需要和aec模块同时使用。
3.3、 风噪检测的区别
第一版算法:检测到风噪的时候调整降噪参数gainfloor 的值来降低降噪强度, 以保留更多的人声音
第二版双麦dns算法:模式一时,检测到风噪的时候,对风噪进行常规降噪;模式二时,检测到风噪的时候,对风噪进行神经网降噪,这个模式会比模式一多使用37k 的flash。
十、 EQ参数
考虑到有些MIC物理特性,或者腔体声学设计缺陷,导致MIC采集到的声音比较低沉,这种情况可以适当的对声音做EQ处理。 通话的EQ 通常最多3段,就可以基本满足需求。具体什么EQ参数合适,根据实际情景进行配置。 场景情景如下:
情景1:声音低沉, 闷,不够透亮
(1)适当提高MIC 的模拟增益
(2)使用high-pass 的滤波器做简单的处理,低频适当衰减。
情景2:声音听起来有唇齿音
如果使用msbc,有些mic 灵敏度比较高,MIC 可以采到6.8k 左右的唇齿音,如果介意,这个时候可以做一个high-shelf 的滤波器处理。

十一、双麦头戴式话务耳机开发设计指引
十一、双麦头戴式话务耳机开发设计指引
(一)概述
双麦ENC头戴式话务耳机是基于两个MIC拾取信号的能量差变化进行环境噪声抑制的信号处理系统,依赖于主、 副mic增益差对拾取有效语音的能量差异,一个典型的头戴式话务耳机物理结构如下:
区别于“章节四”提到的双麦ENC,头戴式话务耳机的ENC是全新的算法。 正常佩戴使用时, 因尽量调整主mic更靠近嘴(约 1-2cm 为宜), 因此建议主mic连杆应尽量设计成软质材质,方便不同用户使用时根据自身特点进行灵活调整主mic位置至合适距离;副mic的位置应尽量远离主mic,主要用来采集环境声,避免拾取到更多的有效语言。
(二)Microphone选型规格
| Microphone选型规格 | |
|---|---|
| 数量 | 2个模拟MIC |
| 方向性 | 全指向性,或者主MIC使用指向性MIC(效果更加) |
| 信噪比 | >=62dB (A) |
| 相位 | ±10 °@100-7kHz |
(三)声学设计要点
头戴式话务耳机ENC, 目标效果是为了消除使用时的环境背景噪声。为了能使系统达到最优效果,声学设计上需要有一定的约束,两个mic之间需要满足一定的增益差异。 另外,两个MIC在装配时,应该有减震、 密封隔离处理,减少回音传播。
设计要点如下:
(1)主mic孔开口朝向应正对嘴,或者主mic杆头做成可活动自由旋转调节。
(2)副mic开孔位置应尽量远离主mic,一般选择位于耳罩壳上方开孔,朝向无特殊指定。相比通用ENC,对主副mic 的距离限制在 15mm到35mm,相反,话务耳机的主副mic应该尽量远离(一般建议主副mic距离≥11cm),使得主mic 主要采集目标人声,副mic 主要采集背景声。 更重要的是,正常佩戴使用时, 因尽量调整主mic更靠近嘴(约 1-2cm 为宜)。
(3)主mic 咪头选择海绵套包裹,以有效降低说话时产生的气流干扰,减少风噪。
关于主、 副mic增益的设置,这里将给出一种基于播放单频信号测量
两个mic 收到信号幅频响应度的测定方式。测试环境为, 以正常佩戴耳机姿势将耳机至于声源正前方,声源播放 1KHz 的正弦波信号,分别对两个mic 收到信号进行幅频响应度(Total RMS Amplitude)的计算(可依托Audition 软件进行分析)。
| 表 1: mic0处1KHz正弦波声压级为90dB 时 | |||
|---|---|---|---|
| mic0(dB) | mic1(dB) | SPL(dB) | |
| 1KHz | -46.2 | -26.6 | 90 |
| 3KHz | -53.2 | -35.4 | 83 |
| 6KHz | -54.7 | -32.6 | 82 |
| 7KHz | -54 | -30.6 | 83 |
| 表2: mic0处1KHz正弦波声压级为80dB 时 | |||
|---|---|---|---|
| mic0(dB) | mic1(dB) | SPL(dB) | |
| 1KHz | -56.2 | -34.2 | 80 |
| 3KHz | -64.7 | -52 | 71 |
| 6KHz | -65.7 | -43.5 | 73 |
| 7KHz | -67.1 | -41.2 | 76 |
注:
1、 表 1/2 中,mic0表示主mic, mic1表示副mic;
2、 声压级为将移动声压计置于mic0 旁测得
3、 表中以 1KHz频率对应的响应度为准,其他频率下的响应度可做参考
4、主、副麦的频率响应应尽可能保持平坦,响应的最大点与最低点相差不超过5dB。
5、主、副麦间的针对实际收录到信号的各频率区间应保持 15-25dB 的能量差异。
上述表 1、 表2分别是表示mic0处声压等级为90dB和80dB下,主、副mic针对不同单频信号实际收录到的幅频响应度(Total RMS Amplitude)的对应关系。 需要说明的是,实际使用时两个mic 间增益差可在允许范围内与表中测定值存在差异。
(四)流程和参数配置说明
专为话务耳机开发的双mic 降噪算法,通过对主副mic采集到的信号进行运算,保留主mic语音,抑制衰减副mic采集到的环境声,从而实现在吵杂环境,对目标人声的清晰捕捉。 算法处理输出信号,可以通过蓝牙
发送给手机进行蓝牙通话,也可以通过usb audio 传输到电脑,进行网络通话。 其他更多应用,待各方案需求不断开发。
●SDK配置如下:
●工具参数配置选中“双mic话务耳机”:
●模块参数说明如下:
(1)自适应滤波ENC模块:AdaptiveFileter ENC
ENC_Suppress_Pre 自适应滤波器前级动态压制控制值,越大压制越强。
ENC_Suppress_Post 自适应滤波器后级动态压制控制值,越大压制越强。 ENC_MinSuppress 自适应滤波器后级动态压制控制值下限,防止动态后级压制ENC_Suppress_Post 过度压制,即后级动态压制最小抑制比率不会小于ENC_MinSuppress。
调试指引
步骤 1:调整ENC_Suppress_Pre, 当语音出现损伤时即为上限。 这一步的目的是最大限度保留语音成分, 同时抑制部分噪声。
步骤2:慢慢调整ENC_Suppress_Post,使得残余噪声环境音得到进一步的抑制衰减。
(1)降噪NS模块
参照章节九:ANS参数
(2)AGC模块
参照章节八:AGC参数
(3)EQ模块
参照章节十:EQ参数
(五)常见调试问题
(1)主mic远离嘴吧,距离超过 1-2cm
由于耳机结构设计上的原因,正常佩戴时,主mic距离嘴巴距离超过 1-2cm(比如5cm),这时候有两种处理方式:
方式 1:改耳机模具结构,使得主mic和嘴巴的距离在 1 到2cm左右(推荐)。
方式2:在原有的结构上,调出最优效果
如果选择方式2,则前面第3小节提到的主副mic采集信号要有15 到 20dB 的差值不再适用。这个时候,正常使用佩戴讲话,无背景噪声情况下,主mic 收到有效人声幅度应至少高于副mic 5dB 以上即可。 然后配合ENC 参数说明, 进行语音保留和噪声抑制深度的平衡调整。
十二、通话调试常见问题Q&A
http://www.zh-jieli.com/
十二、通话调试常见问题Q&A
(一)有噪声或者电流声
关闭回音消除,听mic 的原始声音是否有噪声或者电流声,如果有,则优先处理源头的噪声,因为干扰声会 严重影响通话效果。 可以做以下尝试:
(1)通话的时候切换成LDO
(2)降低发射功率
如果以上操作无效,再检查pcb是否合理
(二)声音忽大忽小,不均匀
(1)AGC放大参数是否合理(详细参考本文档“AGC参数”章节)
由于不同的mic 灵敏度不一样,这里可以讲max_gain和min_gain设置成一样,确认是否是AGC原因:
改完如果正常,则逐步加小相应的阈值SPEECH_THR,小于该阈值的当成噪声不放大。 或者缩小MaxGain和MinGain 的差值,优化声音在两个增益之间过度淡入淡出带来的不均匀效果。
改完依旧不正常可能是“ANS参数设置不合理”。
(2)ANS参数是否合理
如果mic本身(或者由于电路干扰)采到的声音信噪比比较低,经过降噪模块,则可能会损耗比较多的人声部分,说话小声的部分会变得比较
小声。 这个时候可以参数减弱ANS 的强度,优先调ANS_Suppress,步进不要超过0.1。 注意不要调太弱,降噪太弱,声音听起来也会不那么干净。
如果当前没有回音问题,也可以尝试提高一些mic 的增益,提高声音信噪比,提高ANS 的降噪空间,再尝试通话,根据文档解决剩下的问题。
(三)回音消不掉
(1)使能AEC 的所有模块
(2)硬件检查
1 查看各个电源配置电压差是否满足要求,
2 排查是不是硬件干扰过去的回音:可以将喇叭or麦换成等效电阻, AEC_MODE选择disable,如果这时候还存在回声,可能回音有部分来自于硬件的电路干扰,严重程度听回音大小。
如果暂时无法修改硬件环境,可通过降低DAC增益或者MIC增益,减小回音程度。
(四)远端听到的声音比较闷,不清晰
(1)确认麦的供电是否满足要求
具体查看的麦对应的datasheet 关于电源的供电范围说明,调整偏置电压到合适的范围内
(2)大声或者对着麦克风说话,看是否有改善
如果有,则考虑MIC 的增益设置不合理,加大MIC增益试试
(3)拆开样机外壳,试听声音效果
如果拆开样机外壳,声音明显改善,则怀疑是MIC 的是声学设计影响了拾音效果
注 1:MIC和外壳孔隙尽量小,有MIC套防震处理
注2:MIC开孔朝向尽量对着发声源(嘴巴)
注3:MIC 内部有独立腔体,减少声音回荡抵消部分频率成分
(4)声音大,不清晰,浑浊
录制MIC原始信号(通过spp导出或者关闭算法,远端手机录音),分析具体的MIC信号频率成分(频响/频谱),注意底噪情况。 使用EQ模块,对声音进行修饰处理:
一般处理是加一段高通处理,常用是 100~200Hz截止。 如果中高频不够,再加一个带通处理, 比如800 到 1200H 的增强处理。
(五)远端听到的声音有尾音
(1)可能mic本身(或者由于电路干扰)采到的声音信噪比比较低, 目前的ANS参数无法压制mic 的噪声,可以调整ANS参数, (详细参考本文档“ANS参数”章节)
(2)如果调节ANS参数会带来忽大忽小问题,那么还原ANS参数。降低AGC 的效果,逐步减小相应的放大上限MAX_GAIN,至声音比较干净,再轻微提高MIC 的增益,对声音的大小进行补偿。











