一种基于二维语谱图和条件生成对抗网络的语音增强方法与流程

文档序号:19747606发布日期:2020-01-21 18:47阅读:488来源:国知局
一种基于二维语谱图和条件生成对抗网络的语音增强方法与流程
本发明涉及一种基于二维语谱图和条件生成对抗网络的语音增强方法,属于语音增强
技术领域

背景技术
:语音增强是指语音信号受到噪声干扰或抑制,从背景噪声中提取有效信号的技术,其目的是尽可能消除噪声与干扰的影响,提高信噪比和语音可懂度,提升语音质量。语音增强技术可以提高语音信号处理系统的整体性能。当前语音增强算法种类繁多,根据不同的分类标准可以对其进行归类。根据传感器或麦克风的数量,可以分为单通道(单麦克风)语音增强和阵列(多麦克风)语音增强。单通道语音增强算法可以根据训练是否含有标签分为无监督语音增强方法(传统语音增强方法)和有监督语音增强方法。传统的非监督语音增强方法包括谱减法、维纳滤波方法、基于最小均方误差的语音增强、基于子空间的语音增强算法等。传统语音增强方法存在许多不足,如对非平稳噪声抑制效果不明显,泛化性能较差等。监督语音增强方法主要包括基于隐马尔可夫模型的语音增强、基于稀疏表示类算法和基于深度学习类算法等。基于半监督的生成对抗网络gan(generativeadversarialnets)的语音增强实现了端到端的语音增强,且提升了算法的泛化性能,但gan网络属于半监督学习的,没有指定对应的标签,导致生成网络g比较自由,在处理较大数据时具有不可控性。技术实现要素:为解决上述问题,本发明公开了一种基于二维语谱图和条件生成对抗网络cgan(conditionalgenerativeadversarialnets)的语音增强方法,将语音的二维语谱图作为指定标签,充分考虑相邻帧之间的关联性,提出基于条件生成对抗网络的含噪语谱图到增强语谱图的映射算法。条件生成对抗网络借鉴了相互对抗的博弈思想,采用原始含噪语音作为条件与随机噪声一起输入到g网络中,即编码器-解码器结构进行训练,在上采样层和下采样层之间添加跳跃连接,保证了浅层特征在整个网络中的流通性。测试过程中将语谱图作为二维特征参数,利用训练好的g网络对语音信号进行增强。本发明为解决上述技术问题采用以下技术方案:本发明提供一种基于二维语谱图和条件生成对抗网络的语音增强方法,包括以下步骤:(1)在训练语音信号中加入不同类型、不同信噪比的噪声,得到含噪训练语音信号;(2)对步骤(1)得到的含噪训练语音信号进行预处理,得到分帧后的含噪训练语音信号,所述预处理包括依次进行的归一化、分帧和加窗;(3)对于步骤(2)得到的分帧后的含噪训练语音信号进行短时傅里叶变换,并将短时傅里叶变换得到的若干帧含噪训练语音频谱组成含噪训练语音的二维语谱图;(4)将步骤(3)得到的含噪训练语音的二维语谱图作为条件生成对抗网络的输入特征,通过条件生成对抗网络g和判别网络d的相互对抗来训练条件生成对抗网络g;(5)对不同声学环境下的含噪测试语音信号进行预处理,得到分帧的含噪测试语音信号,所述预处理包括依次进行的归一化、分帧和加窗;(6)对于步骤(5)得到的分帧后的含噪测试语音信号进行短时傅里叶变换,并将短时傅里叶变换得到的若干帧含噪测试语音频谱组成含噪测试语音的二维语谱图;(7)将步骤(6)得到的含噪测试语音的二维语谱图作为步骤(4)训练得到的条件生成对抗网络g的输入特征,输出增强后的语谱图;(8)将步骤(7)得到的增强后的语谱图,结合步骤(6)中短时傅里叶变换后的相位信息进行短时逆傅里叶变换,得到增强后的时域语音信号。2.根据如权利要求1所述的一种基于二维语谱图和条件生成对抗网络的语音增强方法,其特征在于,所述步骤(1)中语音信号加入噪声的计算公式为:d(n)=s(n)+v(n)其中,d(n)表示含噪语音信号,s(n)为单声道语音信号,v(n)表示指定信噪比下的某一类型噪声信号,n表示样本点序号。3.根据如权利要求1所述的一种基于二维语谱图和条件生成对抗网络的语音增强方法,其特征在于,所述步骤(2)和步骤(5)中的预处理具体包括:归一化方法为:其中,d(n)为含噪语音信号,dmax为d(n)绝对值的最大值,x(n)为归一化后的语音信号;分帧方法为:采用预设分帧长度和帧移,将x(n)划分为多个单帧信号x(k·n/2+m),0≤k<k,0≤m<n,其中,k为帧序号,k为总帧数,m表示一帧内采样序号,n为帧长,帧移取n的一半;加窗方法为:x(k,m)=w(m)x(k·n/2+m)其中x(k,m)为预处理后第k帧的语音信号,w(m)为窗函数。4.根据如权利要求1所述的一种基于二维语谱图和条件生成对抗网络的语音增强方法,其特征在于,所述步骤(3)和步骤(6)中的二维语谱图即语音的幅度谱图,由若干帧语音频谱按照帧顺序排列组成,其横坐标表示帧序号,纵坐标表示频率;预处理后第k帧的语音信号x(k,m)的短时傅里叶变换的表达式为:其中,i表示傅里叶变换的第i个频谱,n为帧长;对x(k,i)取其幅值得到|x(k,i)|,根据其频谱的对称性,选择前n/2个频点的幅度谱,同时选择n/2帧,将这n/2帧每一帧中前n/2个频点的幅度谱按照帧的前后顺序拼接在一起,得到二维语谱图s,其构成形式为:5.根据如权利要求1所述的一种基于二维语谱图和条件生成对抗网络的语音增强方法,其特征在于,所述步骤(4)中的条件生成对抗网络模型的总体损失函数为:其中,λ表示正则化系数,ll1表示正则化项,ll1(g)=e[||p-g(s)||1],lcgan表示不带正则化项的损失函数,lcgan(g,d)=e[logd(s,p)]+e[log(1-d(s,g(s))],s表示含噪训练语音的二维语谱图,p表示含噪训练语音对应的纯净训练语音的语谱图,g(·)表示g的输出,d(·)表示d的输出,e[·]表示期望运算,||·||1表示l1范数。6.根据如权利要求1所述的一种基于二维语谱图和条件生成对抗网络的语音增强方法,其特征在于,所述步骤(4)中的条件生成对抗网络训练阶段具体包括以下子步骤:(4-1)以卷积神经网络为基础搭建条件生成对抗网络g和判别网络d,并初始化参数;(4-2)对g输入含噪训练语音的二维语谱图s,得到s的增强语谱图g(s);(4-3)固定d的参数,计算s和g(s)的损失,对g进行优化,其优化损失函数为:其中,s表示含噪训练语音的语谱图,p表示含噪训练语音对应的纯净训练语音的语谱图,λ表示正则化系数,g(·)表示g的输出,d(·)表示d的输出,e[·]表示期望运算,||·||1表示l1范数。(4-4)将s和g(s)输入d,输出第一个判决结果,若判决结果为真,则输出1,反之,输出0;(4-5)将s和p输入d,输出第二个判决结果,若判决结果为真,则输出1,反之,输出0;(4-6)综合步骤(4-4)和(4-5)中的判决结果对d进行优化,所使用的损失函数为:(4-7)重复步骤(4-2)和(4-3)优化g,重复步骤(4-4)至(4-6)优化d,直至网络收敛,条件生成网络训练过程结束。本发明采用以上技术方案与现有技术相比,具有以下技术效果:在多种噪声和不同信噪比环境下进行仿真实验后,结果表明利用本发明方法增强后的语音感知质量pesq(perceptualevaluationofspeechquality)分值得到较大幅度的提升,尤其是对混合人声环境下的pesq有明显提升效果,且该算法泛化性能较好,具有较强的鲁棒性。附图说明图1为本发明整体算法流程图;图2为二维语谱图示例;图3为本发明基于二维语谱图和条件生成对抗网络的语音增强算法训练流程图;图4为采用本方法在不同噪声种类、信噪比情况下处理前后的pesq变化;图5为采用本方法在不同信噪比下pesq增幅变化。具体实施方式以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。如图1所示,本实施例提供的基于二维语谱图和条件生成对抗网络的语音增强方法包括以下步骤:步骤一、在训练和测试语音信号中加入不同类型、不同信噪比的噪声,得到含噪训练和测试语音信号,计算公式为:d(n)=s(n)+v(n)其中,d(n)表示加入噪声后的语音信号,s(n)为单声道语音信号,v(n)表示指定信噪比下的某一类型噪声信号,n表示样本点序号。本例中采用noisex-92噪声库的数据,主要包含pink噪声,white噪声,来自餐厅的babble噪声以及来自工厂的factory噪声。纯净语音为来自chainsspeechcorpus语音库单通道男声和女声的语音信号,分别是male1、male2、female1、female2,语音段为speech2、speech3、speech4;将以上四个说话人和四种不同的噪声叠加,分别生成信噪比snr为0db、5db、10db、15db、20db的含噪语音,共240段语音。取male1、male2、female1、female2的speech2和speech3作为训练语音集,共160段,平均时长均为30s;取female1的speech4作为测试语音集,共80段,平均时长为40s。步骤二、对步骤(1)中得到的训练单通道语音信号进行归一化、分帧和加窗,得到分帧加窗后的训练信号,具体包括以下子步骤:(1)归一化方法:其中,d(n)为含噪语音信号,dmax为d(n)绝对值的最大值,x(n)为归一化后的语音信号。(2)分帧:采用预设分帧长度和帧移,将处理后的语音信号x(n)划分为多个单帧信号x(k·n/2+m),0≤k<k,0≤m<n,其中,k为帧序号,k为总帧数,m表示一帧内采样序号,n为帧长,帧移取其一半。本例输入的语音信号的频率为16khz,为了使特征参数平滑过渡,取帧长为32ms(512点),即n=512,帧移为16ms(256点)。(3)加窗:x(k,m)=w(m)x(k·n/2+m)其中x(k,m)为预处理后第k帧的语音信号,本例的w(m)选取汉明窗,其函数表达式为:步骤三、对分帧加窗后的语音信号进行短时傅里叶变换,从而得到语谱图。每一帧语音信号x(k,m)的短时傅里叶变换的表达式为:其中,i表示傅里叶变换的第i个频谱,k为帧序号。对x(k,i)取其幅值得到|x(k,i)|,根据其频谱的对称性,选择前n/2个的幅度谱,同时选择n/2帧,将其按帧顺序拼接在一起得到语谱图s,其构成形式为:在本例中,n/2=256,则以256帧为单位,选择其前256维的幅度谱,从而得到256*256维的语谱图,将其作为条件生成对抗网络的输入。图2为语谱图示例,|x(k,i)|的值越大,其对应点的颜色越深。步骤四、对于步骤三得到的含噪训练语谱图,将其作为条件生成对抗网络的输入,输出则是相等大小的增强语谱图,通过生成网络g网络和判别网络d网络的相互对抗进而完成g网络的训练。下面给出本实施例的条件生成对抗网络cgan。事实上,本发明的cgan网络结构不限制于此实施例的网络结构。本例中,cgan模型其总体损失函数为:其中,λ表示正则化系数,ll1表示正则化项,lcgan表示不带正则化项的损失函数,分别有以下公式:lcgan(g,d)=e[logd(s,p)]+e[log(1-d(s,g(s))]ll1(g)=e[||p-g(s)||1]其中,s表示含噪训练语音的语谱图,p表示对应的纯净训练语音的语谱图,g(·)表示g网络输出,d(·)表示d网络输出,e[·]表示期望运算,||·||1表示l1范数。如图3所示,cgan的训练阶段为两个部分,分别是对判别网络d的训练和生成网络g的训练。其中g网络的训练过程为:输入含噪语谱图,输出增强语谱图,并通过计算含噪语谱图和增强语谱图的损失进行优化。而d网络的训练过程可以分为两个部分:第一部分是将g网络输出的增强语谱图和原始含噪语谱图一起输入d网络,输出判断结果。第二部分是将含噪语谱图和纯净语谱图输入d网络,输出判断结果,最终将两部分的损失相加作为d网络的总体损失进行网络优化。而cgan的测试阶段只需通过g网络得到增强后的语谱图即可。g网络为卷积神经网络,主要由五部分构成,分别是输入层、卷积层、降采样层、分类器和输出层,卷积神经网络的输入为二维矩阵,输入矩阵进入卷积层,卷积层后面是子采样层,也称为池化层,其后是全连接层,最后输出层使用softmax实现多分类功能。在训练阶段需要优化与g网络相关的损失函数,因此需要在优化g网络时,固定d网络的参数,也即优化损失函数:其中,s表示含噪训练语音的语谱图,p表示对应的纯净训练语音的语谱图,λ表示正则化系数,g(·)表示g网络输出,d(·)表示d网络输出,e[·]表示期望运算,||·||1表示l1范数。判别网络d是一个任务为分类的卷积神经网络。输入语谱图经过卷积层,而后进行展平的操作后输入全连接层,最后通过sigmoid函数得到一个(0,1)之间的数值表示真假样本的概率,0表示为假样本,1表示真样本。其损失函数如下:其中,s表示含噪训练语音的语谱图,p表示对应的纯净训练语音的语谱图,g(·)表示g网络输出,d(·)表示d网络输出,e[·]表示期望运算。生成网络g和判别网络d交替进行优化过程,最终使得生成器输出的增强语谱能够很好的拟合纯净语谱的分布。本例中条件生成对抗网络网络结构中卷积层的卷积核大小为5x5;激活层使用leaklyrelu激活函数;在每轮优化过程中,更新两次生成网络g,更新一次判别网络d,防止生成器收敛太快;使用自适应距估计adam优化器对gan进行优化,并且设置adam的动量参数为0.5;dropout概率为0.5。网络训练参数在经过多组实验验证后,选择了以下最优参数:训练迭代轮数为10,批处理大小为1,学习率初始化为0.003,l1正则化系数设置为100,网络的权重初始化满足均值为0、方差为0.02的正态分布。当然,本专利并没有限制网络的相关设置参数。步骤五、对不同声学环境下的含噪测试语音信号进行预处理,包括归一化、分帧和加窗,得到分帧后的含噪测试语音信号。其中,预处理过程与步骤二相同。步骤六、对于步骤(5)得到的分帧含噪测试语音信号进行短时傅里叶变换,并将若干帧语音信号的傅里叶变换频谱组成二维的语谱图。其中,短时傅里叶变换、语谱图的计算与步骤三相同。步骤七、将测试语音的含噪语谱图作为步骤四训练后得到的g网络的输入特征,输出增强的语谱图。步骤八、将步骤七得到的增强语谱图,结合步骤六傅里叶变换后的相位信息进行短时逆傅里叶变换,得到最终增强后的时域语音信号。对以上方法进行仿真验证,最终的性能评估如下:本例采用pesq分值来评估语音信号的感知质量,不同噪声类型、不同信噪比下的语音增强前后pesq结果如表所示。pesq的分值范围为[0,5],分值越接近5代表语音质量越好。表1白噪声环境下cgan增强前后pesq均值比较snr(db)处理前增强后增幅01.6051.7120.10751.8882.0770.189102.2022.4110.209152.5282.6980.170202.8622.9060.044表2pink噪声环境下cgan增强前后pesq均值比较snr(db)处理前增强后增幅01.4851.7140.22951.7982.0920.294102.1292.4260.297152.4582.6950.237202.7832.9260.143表3babble噪声环境下cgan增强前后pesq均值比较snr(db)处理前增强后增幅01.5751.6530.07851.7952.0260.231102.0972.3500.253152.4162.6400.224202.7342.8870.153表4factory噪声环境下cgan增强前后pesq均值比较snr(db)处理前增强后增幅01.4621.6340.17251.7091.9750.266102.0292.3170.288152.3582.6210.263202.6822.8690.187从表1至表4可以看出,在四种不同类型噪声情况下,pink噪声和factory噪声的pesq增幅较大,平均增幅分别为0.240和0.235,而white噪声和babble噪声平均增幅相对较少,分别为0.144和0.188,说明该算法对pink、factory类噪声特性增强效果较为明显,而对white、babble类噪声增强效果相对较小。将上述结果汇总为条形图如图4所示。结合表1至表4数据和图4可以看出,在同一类噪声不同信噪比情况下,pesq增幅数值大小随着信噪比的增加先上升后下降,即在信噪比为10db时pesq增幅最大,pink噪声和factory噪声增幅分别为0.294和0.288,white和babble噪声增幅分别为0.209和0.253。表5列出所有噪声在不同信噪比情况下的增幅变化情况:表5不同信噪比下含噪语音cgan增强前后pesq均值snr(db)处理前增强后增幅01.5311.6780.14751.7982.0420.244102.1142.3760.262152.4412.6640.223202.7662.8970.131将表5中的pesq增幅数据由折线图表示如图5所示。由图5可以清晰看出,随着信噪比的增加,语音增强结果pesq的增幅先上升后下降,说明在信噪比为10db左右时语音增强效果最好,而在20db时pesq提升效果相对较小,原因是当信噪比为20db时,原始语音pesq值本身就较高,均值为2.766,此时语音质量已经较好,可提升幅度范围较小。而在低信噪比0db时,pesq的提升程度也会由于原始语音本身质量较差而受限制。综上,在复杂的声学环境下,例如在混合人声环境下,基于条件生成对抗网络的语音增强方法在提升客观评价指标pesq上效果很好,且该算法较为稳定,对于未经过训练的语音泛化性能较好。以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1