webrtc AEC algorithm



我制作了一个使用WebRTC DSP库(AEC, NS, AGC, VAD)的软件。现在我需要知道每个算法使用什么算法来写我的硕士论文,但是我没有找到任何关于这方面的信息。

有人知道这个库的算法,特别是声学回声消除(比如NLMS,我知道它是常用的,但我不知道WebRTC是否也使用它)。

我试图了解算法查找源代码,但我不太了解。

提前感谢!

我刚刚成功地使用独立的WebRTC aecm模块为android。这里有一些提示:

1。最重要的是"delay",你可以在dir:

中找到它的定义

. . src audio_processing 模块包括 audio_processing.h

:

设置AnalyzeReverseStream()接收a远端帧和ProcessStream()接收近端帧包含相应的回显。在客户端可以是这样表示为delay = (t_render - t_analyze) + (t_process - t_capture)

,

  • t_analyze是一个帧被传递给AnalyzeReverseStream()的时间,t_render是同一帧的第一个样本的时间由音频硬件渲染。
  • t_capture是音频硬件捕获帧的第一个样本的时间,t_pull是同一帧被传递到
    的时间。ProcessStream()。

如果你想在独立模式下使用aecm模块,请确保你严格遵守这个文档

2。AudioRecord和AudioTrack有时会阻塞(由于最小化缓冲区大小),所以当你调用延迟时,不要忘记添加阻塞时间。

3。如果你不知道如何编译aecm模块,你可以先学习Android NDK,模块src路径为

. . audio_processing src 模块aecm

顺便说一下,这个博客可能对本地开发和调试有很大帮助。

http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/

http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-debugging/

从WebRtc中AGC算法的代码检查来看,它与http://www.ti.com/lit/wp/spraal1/spraal1.pdf

中的描述非常吻合。

它基于NLMS,但具有可变步长(mu)。

相关内容

  • 没有找到相关文章

最新更新