先明确智能硬件中声学(麦克风)使用的三个场景,避免简单的问题复杂化。
第一个场景,通话使用。这是大部分智能硬件设计麦克风的主要原因,很多声学做起来感觉很简单的错觉也来源于此。
第二个场景,较安静环境下人机交互。复用第一个场景的声学硬件,第二个场景马马虎虎也能用,虽然部分情况下效果不理想,但是,还没到完全不能用的状态。
第三个场景,高噪环境下人机交互。主要是户外和人流量较多的环境下使用人机交互,第一个场景的声学硬件完全不能使用。
对于第一个场景,通话使用,现在的主流芯片基本上已经内置了通话降噪算法,再加上绝大部分通话都是在安静场景下,因此,只要麦克风的性能指标不是太拉跨、电路设计没有硬伤,第一个场景中智能硬件的声学部分并不用做额外的测试。但是,很多开发者带着这样的惯性开发第二个和第三个场景的智能硬件时,就完全走不通了,售后问题比比皆是,基本都集中在声音处理上。
那么,对于第二个和第三个场景,应该如何科学地自测声学部分呢?怎么判断声学部分是否符合量产条件呢?
下面分享声学自测的规范。
测试环境准备:
- 环境安静,噪音<40dB,如无条件,选安静会议室
- 设备周围无遮挡物
测试工具准备:
- 待测设备---预留50MB存储空间
- 专业声压计--- 条件有限可使用手机app(例:手机应用市场-- Sound Meter HD)
- 音频分析软件---Audition
- 高保真音箱---条件有限可使用蓝牙音箱,无蓝牙音箱可使用电脑
- 密封材料---淘宝购买 EVA海绵密封胶带10mm厚度
测试音频准备:
- 密封性测试音频(白噪声)
- 1khz音频
- 信号质量测试音频
测试附件准备:单独提供
- 测试记录表格《声学测试结果目标》
- 测试音频附件
测试方法
一、自播自录制测试
1-10项测试只录制一个音频:
(1)设备调节到100%音量
(2)设备先开始录制音频并保存,然后设备播放信号质量测试音频
(3) 自播自录后,人正常说话,测试mic处人声音量为65db,保存原始音频和识别音频
1、mic和回采幅度检查
最低幅度检查
1.用Audition软件打开音频,检查采样值。识别引擎要求采样值>2k,确保mic处65db人正常说话时峰值振幅采样值>2k。否则需要提高mic增益
截幅检查
- 检查每个声道振幅最大部分,确保每个声道无截幅
- 鼠标中间放大波形,保证波形连续,且无削顶
整改方式:减小增益或降低最大音量,让设备最大音量播放歌曲时,音频不截幅
2、幅度一致性(单麦免测)
(1)确保所有mic声道的幅度均值差值≤3db
示例:1声道(-12db ),2声道(-9db),相差3db合格
(2)回采的增益不能太小,最大音量时在[-1,-9] DBFS之间
(3)双回采平均幅度差≤3db
3、通道顺序稳定性检查
多次录音, 同一个mic对应软件中的声道要固定。可以多次录音按相同顺序用手轻触麦克风,录音上会有比较明显的振幅,检查多次录音的麦序
4、底噪检查
(1)不播放音乐时,回采底噪<-65dbfs
安静环境下,设备底噪 < -50dbfs
操作方法:最右侧数字区域鼠标右键选择Decibels
(2)运行时底噪检查(设备运行时自噪较大的设备才需要测,比如投影仪运行时有风扇噪声,扫地机工作时的噪声,其他免测。)
让设备运行应用,使cpu占用>70%, 此时用声压计测量mic处噪声≤50db
5、丢数据检查
查看音频的长度(Duration)是否为21.6秒
丢数据可能原因:
(1)重采样算法异常
(2)驱动异常
2.在频谱上找一竖一竖的地方, 看时域波形采样点是否减少,如下图的频域波形,对应的时域少了5个采样点
6、最大音量检查
设备最大音量播放音频进行测试。
- AEC算法消除量为30db左右, 建议麦克风口处最大音量<=85dB,打断唤醒效果较好
- 特殊场景,例如全双工, 建议麦克风口处最大音量<=75db,打断唤醒效果较好
7、回采信号检查
(1)回采信号提前于mic信号,时间差<80ms
(2)每次录制时,回采和MIC时延差稳定
(3)回采与原信号波形基本一致,无畸变
(4)回采不能截幅
反例: (1)回采比MIC慢
(2)回采和MIC信号的时间差太长
(3)电视盒子外接电视的喇叭,时延差不可控,效果会受很大的影响
8、波形失真
原因:音量太大导致失真
质量测试音频原始波形(下图)
设备回采波形失真(下图)注:轻微型波形失真也算失真
9、单双回采检查
如果有2个喇叭,2回采信号效果更好
10、喇叭主观听感
测试方法:最大音量播放0dB 20Hz-20kHz的扫描信号,有无POP噪声/失真感/破音/共振音/杂音
11、麦克风阵列角度检查
二、相位一致性检查(单麦免测)
正常情况:麦克风同一时刻的相位一致(波形一致)
回采同一时刻可以一致或者反向
检查方法:找原始音频正弦波的位置进行检查
异常情况
三、密封性和通道顺序测试
1、录制音频
1.音箱和待测设备距离20~30cm
2.音箱播放,调节音量使待测设备麦克风(Mic)处音量为80~90dB(估算)
3.设备录音并保存文件,命名为 sealing_test.pcm
4.使用EVA海绵胶带10mm厚度(淘宝可购买)按逆时针顺序逐个密封mic,密封后停顿5~10秒,然后换下一个mic堵住继续该操作至结束。
2、 导入音频文件
1.结束录音,导出录音文件,确保格式为wav。
2.拖动文件到audition软件中,根据设备情况选择采样率和声道数
由于白噪声能量较高,可以清楚看到被堵mic的频段,同时也能看到mic的顺序。如下图所示,实际mic顺序和测试顺序一致,时域谱中每个通道振幅明显较大的部分(或者频域谱中每个通道中暗的部分)即为被堵住mic的部分。
3.、对比声道振幅
1.单击鼠标左键不松开,拖动选择区域后松开鼠标左键, 选中声道1中堵住mic停顿5s~10s区间的部分
注意:在选择扫描选区的时候,请选择停顿 5~10s 的中间的平坦部分,不要将有信号残留的部分选中,这部分会影响最后的结果!
2.依次点击窗口(Window),振幅统计(Amplitude Statistics),扫描选区(Scan Selection)
3.查看平均RMS振幅(Average RMS Amplitude),声道1密封 -57.26dB,其他声道未密封为-28dB,差值30dB>气密标准10dB,单声道气密性合格。要求设备所有mic气密性合格
反例:第2和第6声道气密性不合格
四、算法效果测试
使用降噪测试工具处理保存的质量测试音频,检查降噪后的音频回声残留量,残留噪声低于-30dbfs
以上,是整个声学部分自测的全部流程。