AEC算法的WebRTC

问题描述 投票:7回答:3

我已经使用的WebRTC DSP库(AEC,NS,AGC,VAD)软件。现在我需要知道什么算法使用每一个给我写论文大师级的,但我没有找到有关的任何信息。

有人知道这个图书馆,特别是声学回声消除的算法(例如像NLMS,我知道这是常用的,但我不知道是否还的WebRTC使用它)。

我试图了解该算法寻找到的源代码,但我不明白就好了。

提前致谢!

webrtc aec
3个回答
2
投票

我刚刚成功地使用独立的WebRTC AECM模块机器人。这里面的一些技巧:

1,最重要的是所谓的“延迟”的东西,你可以找到在目录中定义它:

.. \ SRC \模块\ audio_processing \包括\ 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有时块(由于最小缓冲器大小),所以当你calc下的延迟,不要忘记加入阻塞时间到它。

3.如果你不知道如何编译AECM模块,可以先学习Android NDK,模块SRC路径

.. \ SRC \模块\ 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/

希望这可以帮助你。


1
投票

从AGC的WebRTC算法的代码检查,它与http://www.ti.com/lit/wp/spraal1/spraal1.pdf描述紧密匹配


0
投票

它基于NLMS,但是具有可变的步长(MU)。

© www.soinside.com 2019 - 2024. All rights reserved.