本发明专利技术公开了一种基于Speex的噪音识别方法,其包括以下步骤:S1、对原始音频信号使用Speex降噪,得到一次降噪音频信号以及被滤出的一次噪音信号;S2、对一次噪音信号每T毫秒计算一个噪音值并记录到一次噪音数组D;S3、计算D的一次噪音平均差MD;S4、对一次降噪音频信号再次使用Speex降噪,得到二次降噪音频信号以及被滤出的二次噪音信号;S5、对二次噪音信号每T2毫秒计算一个噪音值并到二次噪音数组D2;S6、计算D2的二次噪音平均差MD2;S7、计算MD和MD2的变异系数K,如果K大于噪音阈值则表示噪音存在。本发明专利技术准确度高,适用于广播音频信号处理领域。处理领域。处理领域。
【技术实现步骤摘要】
一种基于Speex的噪音识别方法
[0001]本专利技术涉及音频信号分析领域,尤其是涉及一种针对广播音频信号的基于Speex的噪音识别方法。
技术介绍
[0002]在广播电台实际应用场景中,有时候因环境因素,导致接收到噪音,我们需要检测出来并提示,让工作人员能够及时处理。在分析音频信号过程中,当音频信号的信噪比(SNR)不高时,会有很高的概率发生噪音误判,使系统的可用性降低。
[0003]Speex是一套主要针对语音的开源免费,无专利保护的应用集合,它不仅包括编解码器,还包括AEC(回声消除),NS(去噪)等实用模块。但是单纯的Speex降噪准确度不够,对于广播音频信号来说效果难以令人满意。
技术实现思路
[0004]本专利技术主要是解决现有技术所存在的噪音识别准确度较低的技术问题,提供一种具有高识别率的基于Speex的噪音识别方法。
[0005]本专利技术针对上述技术问题主要是通过下述技术方案得以解决的:一种基于Speex的噪音识别方法,包括以下步骤:
[0006]S1、对原始音频信号使用Speex降噪,得到一次降噪音频信号以及被滤出的一次噪音信号;
[0007]S2、对一次噪音信号每T毫秒计算一个噪音值,并将计算得到的噪音值记录到一次噪音数组D;T为预设参数;
[0008]S3、计算一次噪音数组D的一次噪音算术平均数V,进而计算一次噪音平均差MD;
[0009]S4、对一次降噪音频信号再次使用Speex降噪,得到二次降噪音频信号以及被滤出的二次噪音信号;
[0010]S5、对二次噪音信号每T2毫秒计算一个噪音值并将计算得到的噪音值记录到二次噪音数组D2;T2为预设参数;
[0011]S6、计算二次噪音数组D2的二次噪音算术平均数V2,进而计算二次噪音平均差MD2;
[0012]S7、计算一次噪音平均差MD和二次噪音平均差MD2的变异系数K,公式为:
[0013]K=(MD2/MD)
×
100%
[0014]如果K大于噪音阈值则表示噪音存在。
[0015]作为优选,T和T2均为50。
[0016]作为优选,步骤S7中的噪音阈值为80%。
[0017]作为优选,Speex降噪具体为:
[0018]A1、对输入信号进行加窗、交叠和时频傅里叶变换;
[0019]A2、计算信号的频域能量以及基于临界频带内的带噪信号能量;
[0020]A3、使用固定迭代因子平滑算法更新噪声能量;
[0021]A4、更新噪声谱能量;
[0022]A5、计算后验信噪比并进行先验信噪比更新;
[0023]A6、先验信噪比平滑处理;
[0024]A7、计算临界频带内的EM算法增益和线性频域上的EM算法增益;
[0025]A8、将幅度谱增益gain2作用于傅里叶变换幅度谱;
[0026]A9、后处理,包括反傅立叶变换、加合成窗函数和交叠相加,最终得到去噪以后的时域信号。
[0027]作为优选,所述噪音值即为统计时间段内的噪音更新个数,即在统计时间段内,在使用固定迭代因子平滑算法更新噪声能量时,如果存在噪音更新,则噪音值加1,初始噪音值为0,最终噪音值即为所计算的结果。
[0028]作为优选,一次噪音算术平均数的公式为:
[0029][0030]式中,n为一次噪音数组D中的噪音值个数,D
i
为一次噪音数组D中的第i个噪音值;
[0031]二次噪音算术平均数的算法与一次噪音算术平均数的算法相同。
[0032]作为优选,一次噪音平均差MD的公式为:
[0033][0034]二次噪音平均差的算法与一次噪音平均差的算法相同。
[0035]本专利技术带来的实质性效果是,可以准确识别广播音频信号中的噪音,为后续的及时处理提供依据和基础。
附图说明
[0036]图1是本专利技术的一种流程图。
具体实施方式
[0037]下面通过实施例,并结合附图,对本专利技术的技术方案作进一步具体的说明。
[0038]实施例:本实施例的一种基于Speex的噪音识别方法,如图1所示,包括以下步骤:
[0039]S1、对原始音频信号使用Speex降噪,得到一次降噪音频信号以及被滤出的一次噪音信号;
[0040]S2、使用Speex降噪后的噪音估值在变量noise里面,对一次噪音信号每50毫秒计算一个噪音值,一秒钟就有200个值,并将计算得到的噪音值记录到一次噪音数组D;
[0041]S3、计算一次噪音数组D的一次噪音算术平均数V,进而计算一次噪音平均差MD(综合反映了总体各单位标志值的变动程度);
[0042]S4、对一次降噪音频信号再次使用Speex降噪,得到二次降噪音频信号以及被滤出的二次噪音信号;
[0043]S5、对二次噪音信号每50毫秒计算一个噪音值并将计算得到的噪音值记录到二次
噪音数组D2;
[0044]S6、计算二次噪音数组D2的二次噪音算术平均数V2,进而计算二次噪音平均差MD2;
[0045]S7、计算一次噪音平均差MD和二次噪音平均差MD2的变异系数K,公式为:
[0046]K=(MD2/MD)
×
100%
[0047]如果K大于噪音阈值(80%)则表示噪音存在。
[0048]1秒音频数据字节数=采样大小*采样率*声道数/8;例如采样率为48KHz,采样大小为16bit,双声道的PCM编码的WAV文件,它的码率为48K*16*2=1536Kb/s,每秒的音频数据字节为48K*16*2/8=192000。
[0049]Speex降噪通过调用库函数直接实现,具体为:
[0050]1)preprocess_analysis()主要是加窗交叠傅立叶(fft)变换等常用的信号处理算法;
[0051]2)update_noise_prob()更新噪声能量,这里如果存在噪音更新,就噪音值加1;
[0052]3)更新mel噪声谱能量;
[0053]4)计算后验信噪比和进行先验信噪比更新;
[0054]5)先验信噪比平滑(zeta[i]),用于本底增益计算,计算范围包括fft域和Bark域;
[0055]6)计算Bark带(临界频带)内的EM算法增益和线性频域上的EM算法增益;
[0056]7)将幅度谱增益gain2作用于fft幅度谱;
[0057]8)后处理,包括反傅立叶变换(ifft)、加合成窗函数、交叠相加,最终得到去噪以后的时域信号。
[0058]噪音值即为统计时间段内的噪音更新个数,即在统计时间段内,在使用固定迭代因子平滑算法更新噪声能量时,如果存在噪音更新,则噪音值加1,初始噪音值为0,最终噪音值即为所计算的结果。
[0059]一次噪音算术平均数的公式为:
[0060][0061]式中,n为一次噪音数组本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于Speex的噪音识别方法,其特征在于,包括以下步骤:S1、对原始音频信号使用Speex降噪,得到一次降噪音频信号以及被滤出的一次噪音信号;S2、对一次噪音信号每T毫秒计算一个噪音值,并将计算得到的噪音值记录到一次噪音数组D;T为预设参数;S3、计算一次噪音数组D的一次噪音算术平均数V,进而计算一次噪音平均差MD;S4、对一次降噪音频信号再次使用Speex降噪,得到二次降噪音频信号以及被滤出的二次噪音信号;S5、对二次噪音信号每T2毫秒计算一个噪音值并将计算得到的噪音值记录到二次噪音数组D2;T2为预设参数;S6、计算二次噪音数组D2的二次噪音算术平均数V2,进而计算二次噪音平均差MD2;S7、计算一次噪音平均差MD和二次噪音平均差MD2的变异系数K,公式为:K=(MD2/MD)
×
100%如果K大于噪音阈值则表示噪音存在。2.根据权利要求1所述的一种基于Speex的噪音识别方法,其特征在于,T和T2均为50。3.根据权利要求1或2所述的一种基于Speex的噪音识别方法,其特征在于,步骤S7中的噪音阈值为80%。4.根据权利要求1所述的一种基于Speex的噪音识别方法,其特征在于,Speex降噪具体为:A1、对输入信号进行加窗、交叠和时...
【专利技术属性】
技术研发人员:金海林,俞振飞,吕连新,余海,宋晹,汪丽芳,李一君,刘旭伟,张得军,肖非,
申请(专利权)人:浙江广播电视集团,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。