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、首先需要使用滤波函数将音频数据分高低频,以高频和低频的方式传入降噪函数内部<