解决音频AEC效果差的问题

我与影子孤独终老i 提交于 2020-02-05 09:25:47

AEC简介

Acoustic Echo Cancellation(AEC), 是声学回声消除的意思。音频算法领域中使用这项技术达到正确拾音的效果。

项目背景

项目中,我需要送入8路PCM数据到算法接口实现语音识别的功能,但实际在设备播放大音量音乐时语音唤醒的效果很差,俗称音频AEC效果差。

如下图是设备播放大音量音乐时8路音频数据的情况:

其中前4路是麦克风数据,第5,6路为空数据,第7,8路为功放的回路数据。
图1
原因定位为麦克风回路的数据失真了。 项目采用的麦克风是模拟麦克风,经过AD采集得到PCM数据。 AD模块可以设置增益,对于算法要求默认增益为0即可。
实际检查驱动代码发现AD的增益不为0。

修改后PCM数据情况如下:
图2
参考了AD数据手册,设置增益为0,完美解决问题,80dB情况下90%以上实现语音唤醒。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!