我制作了一个使用WebRTC DSP库(AEC,NS,AGC,VAD)的软件。现在我需要知道什么算法使用每一个算法来写我的硕士论文,但我没有找到任何有关这方面的信息。有人知道这个库的算法,尤其是声学回声消除(例如NLMS,我知道它是常用的,但我不知道WebRTC是否也使用它)。webrtc AEC算法
我试着去知道查看源代码的算法,但我不太明白。
在此先感谢!
我制作了一个使用WebRTC DSP库(AEC,NS,AGC,VAD)的软件。现在我需要知道什么算法使用每一个算法来写我的硕士论文,但我没有找到任何有关这方面的信息。有人知道这个库的算法,尤其是声学回声消除(例如NLMS,我知道它是常用的,但我不知道WebRTC是否也使用它)。webrtc AEC算法
我试着去知道查看源代码的算法,但我不太明白。
在此先感谢!
我刚刚成功使用Android独立WebRTC aecm模块。这里面的一些技巧:
1,最重要的是所谓的“延迟”的东西,你可以找到的dir它的定义:
.. \ 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有时会阻塞(由于缓冲区大小最小),所以当您计算延迟时,不要忘记增加阻塞时间。
3.如果你不知道如何编译AECM模块,可以学习Android NDK第一,模块SRC路径是
.. \ SRC \模块\ audio_processing \ AECM
BTW,这个博客可能会在本地开发中帮助很大。和调试。
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/
希望这可以帮助你。
从AGC算法中的WebRTC的代码检查,它与http://www.ti.com/lit/wp/spraal1/spraal1.pdf
对不起说明紧密地匹配......但你回答的东西,它不是根据我的问题。也许你错过了你想写的那篇文章! 没有人知道WebRTC的AEC模块中使用的算法?我拼命想知道它在写我的硕士论文... 我会非常感激的任何答案! – rafita82 2013-05-17 19:30:43
抱歉我对你的问题有误解。我只是使用模块,但没有什么信息。关于算法,我投了你的问题和最好的祝愿! – BillHoo 2013-05-18 03:53:12
非常感谢您的投票和您的时间试图回答我的问题。我还没有答案,我的问题...但我有一个不同的问题,也许你可以回答我:我试图使用函数“AnalyzeReverseStream()和”ProcessStream()“,但这些参数功能是类型“AudioFrame *”,我不知道如何处理它。在我的程序中,我将10ms的音频帧变成了一个简短的*。你可以(或某人)帮助我吗?提前致谢! – rafita82 2013-07-09 12:19:19