我已经做了一个软件,使用WebRTC数字信号处理器库(AEC,NS,AGC,VAD)。现在我需要知道用什么算法来写我的硕士论文,但我找不到任何关于这方面的信息。
有人知道这个库的算法,特别是声学回声消除(例如NLMS,我知道它很常用,但我不知道WebRTC是否也使用它)。
我试着通过查看源代码来了解算法,但我理解得还不够。
提前感谢!
发布于 2013-04-24 11:37:35
我刚刚成功地为安卓使用了独立的WebRTC aecm模块。这里有一些建议:
1.最重要的是所谓的“延迟”,你可以在dir中找到它的定义:
..\src\modules\audio_processing\include\audio_processing.h
引用:
设置AnalyzeReverseStream()接收远端帧和ProcessStream()接收包含相应回声的近端帧之间的|delay| (毫秒)。在客户端,这可以表示为delay = (t_render - t_analyze) + (t_process - t_capture)
哪里,
ProcessStream().
如果您想在独立模式下使用aecm模块,请确保严格遵守本文档。
2.AudioRecord和AudioTrack有时会阻塞(由于缓冲区大小最小化),所以当你计算延迟时,不要忘记增加阻塞时间。
3.如果您不知道如何编译aecm模块,可以先学习Android NDK,模块源路径为
..\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/
希望这能对你有所帮助。
发布于 2015-06-06 01:11:17
从自动增益控制算法在WebRtc中的代码检查来看,它与http://www.ti.com/lit/wp/spraal1/spraal1.pdf中的描述非常吻合
发布于 2019-02-10 19:00:55
它基于NLMS,但具有可变步长(µ)。
https://stackoverflow.com/questions/15302339
复制相似问题