概述
webrtc的ns原理:把启动前50帧的数据拿来构建噪声模型,把启动前200帧的信号强度用来计算归一化的频谱差值计算。根据这两个模型使用概率目的函数来计算出每帧的信噪比并区分出噪声和声音,然后根据计算出的信噪比在频域使用维纳滤波器对噪声信号进行噪声消除,最后在根据降噪前后的能量比和信号噪声似然比对降噪后的数据进行修复和调整后输出。
在研究webrtc的降噪模块,这里简述如何使用webrtc的降噪模块。
1、创建降噪句柄:
NsHandle *pNS_inst = NULL;
WebRtcNs_Create(&pNS_inst);
2、初始化降噪句柄
WebRtcNs_Init(pNS_inst, samplerate);//samplerate可为8000, 16000,32000
3、设置降噪策略
WebRtcNs_set_policy(pNS_inst,nMode);//nMode可为0,1,2,3
4、首先需要使用滤波函数将音频数据分高低频,以高频和低频的方式传入降噪函数内部
WebRtcSpl_AnalysisQMF(shBufferIn,in_len,shInL,shInH,filter_state1,filter_state12);
5、将需要降噪的数据以高频和低频传入对应降噪处理接口,同时需要注意返回数据也是分高频和低
最后
以上就是谦让学姐为你收集整理的WebRTC音频降噪使用的全部内容,希望文章能够帮你解决WebRTC音频降噪使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复