最近在使用3520D芯片,要求增加回音抵消功能,优化对讲效果。通过实验发现一下几点:
1. 直接调用HI_MPI_AI_EnableAec()接口去开启回音抵消功能没有效果,而且调用之后ai线程里面连ai数据都获取不到了。
2. 通过设置VQE属性参数,可以开启aec回音抵消功能,调用接口HI_MPI_AI_SetVqeAttr()设置 AI 的声音质量增强功能相关属性
3. 回音抵消功能开启后,需要给HI_MPI_AI_GetFrame()函数增加参考帧参数,不用给参数赋值,程序会自动从ao数据中
获取数据进行填充。
4. 回音抵消功能自带噪音抑制,所以开启回音抵消时,可以不用开启噪音抑制
5. 噪音抑制功能对采样点有要求,噪声抑制仅支持 8/16kHz、 80/160 采样点的音频数据 ,例如我现在的程序用的是8K 320采样点,开启噪音抑制就没有效果。但是开启回音抵消时,确实有降噪效果
HI_S32 HI_MPI_AI_SetVqeAttr(AUDIO_DEV AiDevId, AI_CHN AiChn, AUDIO_DEV AoDevId, AO_CHN AoChn, AI_VQE_CONFIG_S *pstVqeConfig);