双向对讲(webrtc)

在Webrtc的audio_proces中滚打的两个多月终于实现了一整套的AudioprocessSDK-android。成功实现Client2Device的双向对讲!!!


总结一下经验:

1、编译

提取webrtc的audio_process中AEC、NS、VAD、AGC模块通过ndk编译


2、接口调试

工具:Audacity 或Cool Edit

编写TestDemo调用AEC、NS、VAD、AGC接口调试


3、移植

将TestDemo中的接口移植到产品中


4、功能调试

方法:参考博文webrtc回音消除 一 ~三

a)客户端手机可以先插耳机避免回音干扰,只调试设备端回音消除(speaker数据先本地后网络)

b)设备端成功后,移植客户端调试


5、双向对讲

方法:

a)确定双方回声正常消除(客户端设备端不能靠的太近,否则出现震荡啸叫)

b)VAD、NS、AGC调优


流程图:

双向对讲(webrtc)_第1张图片

备注:

1、Farend为speaker数据,Near+Farend-2为Mic录入数据,回音消除即消除Mic中的Farend-2

2、Farend-0是否进行AGC由能量大小决定,如果Farend-2远远大于Farend-0则需要进行AGC

3、NS和AGC可根据事实情况对speaker和mic声音进行效果调优

4、VAD可选取决于AEC使用固定delay还是可变delay

5、VAD、NS、AGC可以单独使用可组合使用,提高声音质量



你可能感兴趣的:(回音抑制,webrtc,&,speex)