0

aecm(webrtc)在基于 ARM 的嵌入式设备上使用了语音通信。现在,我正在尝试更改aecmaec双向回声消除。

这很简单aecm

WebRtcAecm_Create()->WebRtcAecm_Init()->WebRtcAecm_BufferFarend()->WebRtcAecm_Process(). 

并且所有data(near, far, out)格式都是 16 位签名短格式。但是,仅将函数从WebRtcAecm_* to WebRtcAec_*有符号短数据更改为浮点数(除以 32768)不起作用。

我试图在 audio_processing 中找到一些示例unittest,但找不到任何示例。我错过了什么?

4

1 回答 1

0

WebRTC AEC 只是比较了从 Mic 中提取的 Farend Buffer 和 NearBuffer,并在 Farend 的基础上去除 NearBuffer 中的 Echo。所以你要清除的 Echo 必须存在于 Farend Buffer 中,然后 AEC 可以将其移除。请检查您的设备延迟,Farend Buffer 基本上只保持 128m/s 的长度。

于 2017-02-09T00:38:29.137 回答