首页> 中国专利> 一种提高DNN模型泛化性能的语音增强方法

一种提高DNN模型泛化性能的语音增强方法

摘要

本发明公开了一种提高DNN模型泛化性能的语音增强方法,所述方法包括:步骤1)将原始带噪语音当前帧能量平均值与训练集能量平均值之间的比值作为当前帧增益,根据调整后的当前帧增益对原始带噪语音的当前帧幅度进行调整;步骤2)提取调整幅度后的带噪语音的特征并输入预先用训练集训练好的DNN模型中,估计纯净语音对数谱和噪声对数谱;步骤3)利用IRM后处理对纯净语音对数谱进行二次估计;步骤4)利用二次估计后的纯净语音对数谱和带噪语音的相位通过重叠相加法得到时域信号,并对此时域信号进行幅度调整反变换,最终估计出纯净语音时域信号。本发明的方法能够提高DNN模型在与训练集能量不匹配场景下的泛化能力,计算复杂度低,应用范围广。

著录项

  • 公开/公告号CN109767782A

    专利类型发明专利

  • 公开/公告日2019-05-17

    原文格式PDF

  • 申请/专利权人 中国科学院声学研究所;

    申请/专利号CN201811623918.6

  • 发明设计人 程琳娟;彭任华;郑成诗;李晓东;

    申请日2018-12-28

  • 分类号

  • 代理机构北京方安思达知识产权代理有限公司;

  • 代理人陈琳琳

  • 地址 100190 北京市海淀区北四环西路21号

  • 入库时间 2024-02-19 10:06:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-14

    授权

    授权

  • 2019-06-11

    实质审查的生效 IPC(主分类):G10L21/0224 申请日:20181228

    实质审查的生效

  • 2019-05-17

    公开

    公开

说明书

技术领域

本发明属于基于深度神经网络的单通道语音增强领域,具体涉及一种提高DNN模型泛化性能的语音增强方法。

背景技术

传统的单通道语音增强算法只适用于平稳噪声环境,无法有效追踪非平稳噪声。近几年基于DNN的单通道语音增强算法引起了国内外的广泛研究,通过监督式的学习,在非平稳噪声场景下取得了极大的进步。基于DNN的单通道语音增强算法首先要构造训练集对模型进行训练,训练集是由纯净语音和不同噪声按照不同信噪比组成的带噪语音。然后对带噪语音和纯净语音进行特征提取和学习目标的计算,训练DNN网络,直至误差收敛到一定范围,得到训练好的模型。在增强阶段,对待增强的带噪语音进行同样的特征提取,利用训练好的网络得到对纯净语音相关参数的估计。

由于是有监督的学习方式,训练好的模型在未见场景下的性能往往不如在训练集上的表现,如何提高DNN模型的泛化能力也是近年研究的热点。在构造训练集时,为了防止模型发散,加快模型收敛,通常将训练集语音的幅度限定到一定范围,比如用相同的时域幅度最大值规整所有的带噪语音。在语音增强阶段,如果带噪语音的幅度与训练集语音幅度相差过大,导致训练集与测试集能量失配,则会严重影响语音增强后的质量和可懂度。

发明内容

本发明的目的在于克服基于DNN的单通道语音增强算法在训练集与测试集能量不匹配时性能严重下降的问题,本发明提供了一种基于时域能量平均值的幅度调整的提高DNN模型繁华性能的语音增强方法,能够实时在线调整带噪语音的幅度,补偿与训练集之间失配的能量。

为了实现上述目的,本发明提出了一种提高DNN模型泛化性能的语音增强方法,所述方法包括:

步骤1)将原始带噪语音当前帧能量平均值与训练集能量平均值之间的比值作为当前帧增益,根据调整后的当前帧增益对原始带噪语音的当前帧幅度进行调整;

步骤2)提取调整幅度后的带噪语音的特征并输入预先用训练集训练好的DNN模型中,估计纯净语音对数谱和噪声对数谱;

步骤3)利用IRM后处理对纯净语音对数谱进行二次估计;

步骤4)利用二次估计后的纯净语音对数谱和带噪语音的相位通过重叠相加法得到时域信号,并对此时域信号进行幅度调整反变换,最终估计出纯净语音时域信号。

作为上述方法的一种改进,在所述步骤1)之前还包括:去除原始带噪语音中的谐波的步骤;具体包括:

将原始带噪语音变换到倒谱域,逐帧计算倒谱系数;

在指定频率范围内找到倒谱系数最大值;根据倒谱系数最大值是否大于设置的阈值判断是否有谐波成分存在;

如果存在,则将对应倒谱系数最大值的频点附近的倒谱系数置零;

根据谐波抑制后得到的带噪语音的对数谱以及原带噪语音的相位,通过重叠相加法恢复出谐波抑制后的时域信号。

作为上述方法的一种改进,所述步骤1)具体包括:

步骤1-1)计算带噪语音当前帧能量平均值:

将抑制谐波后的带噪语音进行分帧处理,帧与帧之间不重叠,然后逐帧计算每一帧各个采样点的幅值的平方,并相加,取平均,得到每一帧的能量平均值;

步骤1-2)计算训练集能量平均值:

将训练集所有带噪语音的所有采样点合在一起计算幅值的平方和,并取平均;

步骤1-3)计算训练集能量平均值与当前帧能量平均值的比值,作为需要调整的当前帧增益;

步骤1-4)考虑前一帧增益与当前帧增益之间的比值,对当前帧增益进行调整;

如果前一帧增益比当前帧增益相比较大,则当前帧可能为噪声段到语音段的过渡,导致当前帧能量比前一帧能量大,所以计算出的增益较小,则此时保持当前帧增益与前一帧增益一致;

步骤1-5)利用调整后的当前帧增益对原始的带噪语音进行幅度调整。

作为上述方法的一种改进,所述步骤2)具体包括:

步骤2-1)提取调整后的带噪语音的对数谱特征、梅尔频域倒谱系数和噪声特征,所述噪声特征为每句调整后的带噪语音的前6帧特征的平均值;

步骤2-2)将对数谱特征、梅尔频域倒谱系数和噪声特征输入预先用训练集训练好的DNN模型中;得到纯净语音对数谱和噪声对数谱。

作为上述方法的一种改进,所述步骤2)具体包括:

步骤2-1′)提取调整后的带噪语音的对数谱特征、梅尔频域倒谱系数;

步骤2-2′)对调整后的带噪语音的对数谱特征进行指数运算,得到当前帧频谱,计算当前帧频谱的幅值平方和并取平均,得到第一平均值;

步骤2-3′)计算整个训练集的所有带噪语音的频谱,并计算这些带噪语音频谱的幅值平方和并取平均,得到第二平均值;

步骤2-4′)计算第二平均值与第一平均值的比值,作为需要补偿的当前帧特征补偿增益;利用当前帧特征补偿增益对调整后的带噪语音的当前帧频谱的幅值进行调整,然后取对数,得到补偿后的对数谱特征;

步骤2-5′)将补偿后的对数谱特征、梅尔频域倒谱系数及噪声特征一起输入到预先用训练集训练好的DNN模型中,所述噪声特征为每句调整后的带噪语音的前6帧的特征的平均值;所述特征包括补偿后的对数谱特征和梅尔频域倒谱系数;所述DNN模型输出纯净语音对数谱和噪声对数谱;

步骤2-6′)对步骤2-5′)中DNN模型输出的纯净语音对数谱和噪声对数谱作指数运算,得到估计的频谱,然后对当前帧特征补偿增益取倒数,与对应帧的频谱相乘,完成特征补偿反变换,再取对数谱,得到特征补偿逆变换之后的纯净语音对数谱和噪声对数谱的估计。

作为上述方法的一种改进,所述步骤3)具体包括:

步骤3-1)根据步骤2)估计的纯净语音对数谱和噪声对数谱,计算带噪语音的第l帧的第k个频点的理想率掩蔽IRM(l,k):

其中,代表估计的纯净语音对数谱,代表估计的噪声对数谱;

步骤3-2)利用IRM(l,k)的取值范围,对纯净语音对数谱进行二次估计,得到

其中,Y(l,k)是带噪语音对数谱。

本发明的优势在于:

1、本发明提供的方法能够提高DNN模型在与训练集能量不匹配场景下的泛化能力,而且本发明不需要重新训练网络,计算复杂度低,无延时,能够做到在线处理,应用范围广;

2、本发明的方法能够提高模型在训练集与测试集之间能量不匹配情况下的语音质量和可懂度;该方法利用时域信号当前帧能量平均值与训练集能量平均值之间的差对带噪语音的幅度进行调整,同时利用谐波抑制方法,并考虑相邻帧信息,进一步提高语音增强方法的性能。

附图说明

图1是本发明的基于幅度调整的语音增强方法流程图;

图2是本发明的基于幅度调整与特征补偿相结合的语音增强方法流程图;

图3(a)为幅度较小的带噪语音的示意图;

图3(b)图是不加谐波抑制,不考虑相邻帧的幅度调整方法对图3(a)图中带噪语音进行幅度调整后的结果;

图3(c)是加谐波抑制,不考虑相邻帧的幅度调整方法对图3(a)图中带噪语音进行幅度调整后的结果;

图3(d)是加谐波抑制,考虑相邻帧的幅度调整方法对图3(a)图中带噪语音进行幅度调整后的结果;

图4是在训练集的机械噪声场景下,本发明的方法与现有方法的PESQ和STOI得分对比;

图5是在未见噪声场景下,本发明的方法与现有方法的PESQ和STOI得分(不同噪声平均结果);

图6是factory噪声场景下,SNR=10dB,幅度最大值-40dB,本发明的方法与现有方法的主观测听评价结果。

具体实施方式

下面结合附图对本发明的方法进行详细的说明。

本发明的方法能够提高训练集与测试集之间能量不匹配情况下的语音质量和可懂度。基于时域能量平均值的幅度调整不需要重新训练模型,只需要对待增强的带噪语音进行预处理,首先对其进行谐波抑制,然后计算幅度补偿增益,同时考虑相邻帧增益对当前帧增益进行调整,根据此增益对带噪语音时域信号进行幅度调整,对调整后的带噪语音进行特征提取,利用训练好的网络对纯净语音进行估计。最后再对估计出的纯净语音时域信号进行反变换。此外,本发明还提出可以进一步考虑特征补偿方法,与上述基于时域幅度能量平均值的方法相结合,进一步提高方法的性能

如图1所示,一种提高DNN模型泛化性能的语音增强方法,包括如下步骤:

步骤1)抑制谐波。

首先将时域带噪语音变换到倒谱域,逐帧计算倒谱系数;然后在特定频段内(如70-300Hz)找到倒谱系数最大值;根据此倒谱系数是否大于设定的阈值来判断此帧是否有谐波存在;若存在谐波成分,则将对应倒谱系数最大值的频点附近的倒谱系数置零,抑制谐波;将抑制谐波后的倒谱系数变换到时域,完成谐波抑制。

步骤2)计算需要补偿的增益。

首先要计算当前帧能量能量平均值及训练集能量平均值。其中当前帧能量平均值的计算是将抑制谐波后的带噪语音进行分帧处理,帧与帧之间不重叠,然后逐帧计算每一帧各个采样点的幅值的平方,并相加,取平均,得到每一帧的能量平均值。训练集能量平均值的计算是指将训练集所有带噪语音的所有采样点合在一起计算幅值的平方和,并取平均。计算出上述两个值之后,用训练集能量平均值与当前帧能量平均值的比值计算需要补偿的当前帧增益。同时,考虑前一帧增益与当前帧增益之间的比值,对当前帧增益进行调整。如果前一帧增益比当前帧增益相比较大,则当前帧可能为噪声段到语音段的过渡,导致当前帧能量比前一帧能量大,所以计算出的增益较小,则此时保持当前帧增益与前一帧增益一致。

步骤3)对带噪语音幅度进行调整。

根据步骤2)计算出的增益,对原始的带噪语音(未进行谐波抑制)进行幅度补偿,即将每一帧的增益与当前帧每个采样点相乘,分帧操作与步骤2)一致。

步骤4)对步骤3)得到的幅度调整后的带噪语音进行特征提取,利用训练好的DNN网络进行语音增强,得到对纯净语音时域信号的估计。然后再将此信号做分帧处理,进行幅度调整逆变换,即将步骤2)得到的增益取倒数,与对应帧的采样点相乘。

为了进一步提高方法的性能,本发明还提出将上述的幅度调整算法与特征补偿相结合,进一步提高了估计的纯净语音的语音质量和可懂度。该方法具体实施方式如下:

1)在进行上述基于时域能量平均值的幅度调整算法的步骤1),步骤2)和步骤3)之后,计算当前带噪语音每一帧频谱的平均能量和以及整个训练集的语音频谱的平均能量和。当前带噪语音每一帧频谱的平均能量和是指计算每一帧的语音频谱的幅度平方和并取平均,同样的,整个训练集的语音频谱的平均能量和是指对整个训练集的带噪语音进行短时傅里叶变换,然后所有帧的频谱合在一起计算他们的幅度平方和,并取平均。然后根据这两个值计算训练集带噪语音频谱的平均能量和与当前带噪语音每一帧频谱的平均能量和之间的比值。

2)得到上述步骤1)中带噪语音每一帧的比值之后,将此比值与带噪语音对应的帧相乘,得到补偿后的频谱幅值,然后取对数,得到补偿后的带噪语音对数谱。

3)得到步骤2)中补偿后的带噪语音对数谱之后,与其他特征联合一起送入DNN网络中得到纯净语音对数谱和噪声对数谱的估计。

4)对估计的纯净语音对数谱和噪声对数谱进行特征补偿反变换。首先对纯净语音对数谱和噪声对数谱作指数运算,得到估计的频谱,然后将步骤1)中计算得到的比值取倒数,与对应帧的频谱相乘,完成特征补偿反变换,再取对数谱,得到特征补偿反变换之后的纯净语音对数谱和噪声对数谱的估计。

5)根据步骤4)得到的纯净语音对数谱和噪声对数谱计算IRM(Ideal Ratio Mask,理想率掩蔽),计算公式如下:

其中,代表估计的纯净语音对数谱,代表估计的噪声对数谱。当IRM(l,k)小于0.1时,说明噪声占的比重较大,则保留DNN对纯净语音对数谱的估计。当IRM(l,k)大于0.75时,说明纯净语音占的比重较大,为了减少语音的失真,将带噪语音对数谱与DNN估计的纯净语音对数谱取平均,得到对纯净语音对数谱的二次估计。其他情况下,为了进一步去除噪声,将估计的纯净语音对数谱幅值减去1,得到对纯净语音对数谱的二次估计。如下式所示:

其中Y(l,k)是带噪语音对数谱。

6)根据步骤5)得到的纯净语音对数谱的二次估计,以及原带噪语音的相位,通过重叠相加法得到对纯净语音时域信号的估计。

7)得到步骤6)的纯净语音时域信号的估计之后,对其进行分帧处理,将上述基于时域能量平均值的幅度调整算法步骤2)得到的增益取倒数,与对应帧的采样点相乘,实现幅度调整的反变换。

训练集所用的纯净语音来自Timit数据库,训练集噪声有115种,信噪比包括[-5,0,5,10,15,20]六种,所有的训练集带噪语音的最大幅值被规整为-16.5dB,总训练时长约100小时。

图3(a)图代表一段幅度较小的带噪语音,图3(b)图是不加谐波抑制,不考虑相邻帧的幅度调整方法对图3(a)图中带噪语音进行幅度调整后的结果。图3(c)图是加入谐波抑制之后的幅度调整算法的结果,图3(d)图是加入谐波抑制方法并考虑相邻帧的增益的算法对幅度调整的结果。可以看出,直接基于能量平均值对带噪语音的幅度进行调整,由于噪声与语音之间的能量相差较大,容易使幅度调整后的带噪语音的信噪比变大,而加入了谐波抑制方法之后,能够弱化噪声与语音能量之间的差距,保持原有信噪比。当原始带噪语音的信噪比较高时,谐波抑制不能完全消除语音的特征,考虑相邻帧增益的方法可以考虑到噪声与语音段的差异,进一步还原真实的信噪比。

图4是在训练集中机械噪声场景下,不同信噪比条件下的PESQ得分和STOI得分对比。横轴代表测试时,每段语音的幅度最大值。测试所用的纯净语音是未被训练过的Timit数据库中的语音。其中noisy代表原始带噪语音,baseline代表不加任何调整或补偿算法的语音增强结果,Alg1代表本发明提出的基于时域能量平均值的幅度调整的语音增强方法,Alg2代表本发明提出的基于时域能量平均值的幅度调整与特征补偿相结合的语音增强方法。图中可以明显看出,随着幅度的下降,baseline的PESQ得分和STOI都在迅速下降,而本文提出的两种方法,不论是PESQ得分还是STOI都能保持稳定的性能,不随幅度变化。

图5是在未见噪声场景下,不同补偿方法的PESQ和STOI得分,其中未见噪声是来自Noise-92语料库中的factory,babble,f16,leopard,buccaneer和destroyerengine共6种噪声,图5是这六种噪声的平均结果。与图4中的结果类似,本发明提出的Alg1方法和Alg2方法能够不受幅度变化的影响,在不同信噪比下保持稳定的性能。其中基于时域能量平均值的幅度调整与特征补偿相结合的方法Alg2在高信噪比情况下优于Alg1,但两种方法相比baseline的结果都有很大的提升。

图6是在factory噪声场景下,SNR=10dB,幅度最大值被规整为-40dB时,不同算法的主观测听评价结果,与图4和图5的结论一致,本发明提出的两种方法大大提高了基于DNN的单通道语音增强算法在能量不匹配场景下的性能。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号