webrtc AEC算法

raf*_*a82 8 aec webrtc

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

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

我已经尝试了解查看源代码的算法,但我还不够了解.

提前致谢!

Bil*_*Hoo 2

我刚刚成功使用适用于 Android 的独立 WebRTC aecm 模块。还有一些提示:

1.最重要的是“延迟”这个东西,你可以在dir中找到它的定义:

..\src\modules\audio_processing\include\audio_processing.h

引用:

设置|延迟| 接收远端帧的 AnalyzeReverseStream() 和接收包含相应回声的近端帧的 ProcessStream() 之间的时间间隔(以毫秒为单位)。在客户端,这可以表示为延迟 = (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路径为

..\src\modules\audio_processing\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/

希望这可以帮助你。