对讲消回音参数调试

关键字说明

  • AGC
    AGC(Automatic Gain Control),自动增益控制,用于控制输出增益。
  • EQ
    EQ(Equalizer),均衡器处理,用于对特定频段进行处理。
  • ANR
    ANR(Acoustic Noise Reduction),降噪,用于去除环境中持续存在,频率固定的噪声。
  • AEC
    AEC(Acoustic Echo Cancellation),回声消除。

录音、播放的流程框图

录音数据流向分析

上图中绿色箭头方向为AI数据的流向,数据由麦克风采集,经过芯片内部的增益,到达(A点),此处(A点)的数据为原始的PCM数,接着和AO端的数据(B点)一起送入AEC算法进行处理,AEC算法处理后的数据(C点)会继续送到后面的APC算法(APC为ANR、EQ、HPF、AGC算法的集合)进行处理,处理后的数据即为最终的数据(D点)。

测试音频

TestFile1_pink_noise,TestFile1为一段噪声,用于辅助确认microphone和speaker的增益。
TestFile2_speech,TestFile2为一段对话语音,主要是外国友人的声音,频段比较全,消除难度相对比TestFile4高,用于调整AEC参数。
TestFile4_Chinese_speech,TestFile4为一段对话语音,主要是国人的声音,用于调整AEC参数。

利用Audacity软件分析音频

在对讲的调试过程中可以利用Audacity需要分析音频。

  1. 下载Audacity软件,并安装。
  2. 打开软件导入原始数据。

    注意,一定要填入正确的音频格式。

  3. 好的录音数据,它的波峰尽量在0.5左右,不能有失真(如果波形上下达到1或者-1,则录音音量太大,应该降低录音音量)

  4. 选取需要分析的时间段,选择分析 -> Measure RMS , 可查看选区的平均振幅

确定speaker和microphone的增益

首先根据实际场景的需求(mic的收音距离和speaker的音量),通过测量确定好microphone和speaker的增益。
此步骤为后续调音最重要的一步,若用户需要更改这两个增益,所有的算法相关参数都需要重新调整。

确认speaker的增益

寻找一个比较安静的环境,保证环境噪音低于40dbA。
用待测设备播放TestFile1,调整speaker的增益,在保证没有失真的前提下,使之达到用户的需求。

确认microphone的增益

  1. 寻找一个比较安静的环境,保证环境噪音低于40dbA。
  2. 在距离待测设备一米处,放置一台播放设备,用播放设备播放TestFile1,并调节播放设备的增益,使分贝仪达到70dbA。(没有两台机子请跳转到第4步)

  3. 使用待测试设备进行录音,得到A点处的数据(或在不打开任何算法的情况下录制的最终数据),调整microphone增益,使RMS达到-25 DBRMS或以上,并且保证声音没有失真的情况。(使用Audacity查看RMS的方法)

  4. 确定speaker和microphone的增益后,待测设备使用确认speaker的增益得到的增益播放TestFile2,同时使用调整好的microphone增益录制音档,确认microphone录制的音档有没有失真。若有失真请继续调整speaker或microphone的增益(减小speaker的增益或减小microphone的增益)。但有时候会因为结构、speaker、功放等因素,无论你怎么调整录回来的音档都会有某些频段存在失真,此时只能从音档上分析是什么原因造成的,尽量去调整,找到原因。

  5. 若结构设计不合理或者microphone选型灵敏度太低没法达到-25 DBRMS,则在开启AEC后microphone录回来的回音没有爆音的情况下,将microphone的增益调整到足够大。

确认原始数据和算法处理正常

在确定speaker及microphone增益后, 编写测试程序,寻找一个安静的环境,设备自播自录,在启用AEC的情况下,最终得到的录音,理想情况下应该是没有任何声音。 可微调参数,朝理想情况靠近。

常见问题及解决方案

问题 现象 原因 解决方案
通话存在底噪消不掉问题 语音间出现较大噪声,随后又被压下去 持续的噪声,但语音间隔短,导致NR收敛慢 开启AEC的舒适噪声辅助NR收敛
语音间会有一点回声(“吱吱吱的噪声”) 主机AEC消不干净留下尾音 抓音档分析,若频率固定,则使用AO端EQ/HPF来消掉。若频率不固定则使用AO端AGC,设置noise gate来砍掉主机消不干净的回声
单向对讲问题 明显回声 分机AEC消不干净 主机听到回声:则为分机AEC消不干净,抓出分机的音档分析
1. 调节分机AEC的频段划分和消除强度。
2. 减小分机mic/speaker的增益
3. 测试分机的气密性,排除结构原因
4. 若回声为固定频段,用AI的EQ砍
5. 减小主机的mic增益
主机AEC消不干净 分机听到回声:则为主机AEC消不干净。
1. 减小主机mic/speaker的增益
2. 测试主机的气密性,排除结构原因
3. 减小分机的mic增益
4. 若主机传过来的回声是固定频段,则可以使用分机AO端的EQ来砍
双方同时说话 声音忽大忽小 分机到主机的声音忽大忽小 抓出分机端的AI音档分析
1. 可能分机AEC开得太强,调整AEC强度
2. 若分机speaker端有开启AGC,则看是否为AGC参数没有调好,调整AGC参数
3. 若分机端的信号没问题,则可能为主机端speaker开启了AGC/EQ等算法,把信号处理出问题了,这里最好的处理方法是解主机。(从分机解需要分机去猜主机的行为)
主机到分机的声音忽大忽小 抓出分机AO端的音档分析。 若主机过来的声音本来就是这样,则可能是主机mic端的AEC/AGC处理的问题。
1. 可能是主机AEC消得太干净。(这里可能尝试将主机mic/speaker、分机mic的增益减小来确认是否是主机AEC的问题)
2. 可能是主机AGC砍掉。(可以将主机的mic增益加大来实验,看是否为主机端AGC砍掉)
若主机过来的声音没有问题,则确认是否为分机AO端算法处理的问题还是分机结构/speaker的原因。
1. 若分机AO端有开启AGC,则检测是否为AGC参数没有调好导致的。
2. 可能为结构或speaker的原因导致某些频段信号打不出来
漏字(全消没了) AEC开得太强 1. 调整AEC强度
2. 减小mic/speaker端或对方mic的增益
Speaker端有打开AGC/EQ等算法 调整相应的算法参数
响度小 1. 调整speaker端的增益或对方mic的增益
2.结构问题
喇叭声音失真、破音、颤音 1. 调整speaker端的增益
2. 调整对方的mic端的增益
3. 检查结构问题
powered by Gitbooklast modified: 2022-06-29 10:50:02

results matching ""

    No results matching ""