双向对讲(webrtc)

  • Post author:
  • Post category:其他




在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调优







流程图:










备注:

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可以单独使用可组合使用,提高声音质量







版权声明:本文为yuanchunsi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。