首页 > 乐器声学 专利正文
一种基于心理声学域加权损失函数的语音增强方法及系统与流程

时间:2022-02-18 阅读: 作者:专利查询

一种基于心理声学域加权损失函数的语音增强方法及系统与流程

1.本发明涉及语音增强领域,特别是涉及一种基于心理声学域加权损失函数的语音增强方法及系统。


背景技术:

2.语音增强作为一种抑制背景噪声提高语音可懂度的关键技术,常应用于智能设备的前端,来提高人机交互的语音识别成功率。近年来,基于深度学习的神经网络已经成功应用在语音增强领域,并且相比传统的语音增强方法,神经网络语音增强方法增强后的语音质量取得了显著的改进。根据是否已知训练样本,该语音增强算法大致可以分为无监督语音增强和有监督语音增强两类。经典的无监督语音增强算法包括,谱减法、维纳滤波法和基于最小均方误差估计的语音增强方法。这些算法虽然实现简单,能够抑制平稳噪声,但其对噪声频谱的估计要求严格,对噪声过估计和欠估计,则会引起语音严重失真和残留噪声过多的问题,并且其对非平稳噪声的抑制性能较差,在低信噪比环境下,增强语音失真现象较多。因此,现有的基于神经网络的语音增强方法重构后得到的语音增强信号仍然存在语音失真和残留噪声过多导致的语音质量差、增强效果不明显的问题。
3.因此,目前亟需一种更加有效的语音增强方法,以解决现有的神经网络语音增强方法存在的语音失真和残留噪声过多导致的语音质量差、增强效果不明显的问题。


技术实现要素:

4.本发明的目的是提供一种基于心理声学域加权损失函数的语音增强方法及系统,以增强语音质量,提升语音的可懂度,解决现有的神经网络语音增强方法存在的语音失真和残留噪声过多导致的语音质量差、增强效果不明显的问题。
5.为实现上述目的,本发明提供了如下方案:
6.一方面,本发明提供了一种基于心理声学域加权损失函数的语音增强方法,包括:
7.获取训练语音集和测试语音集;其中,所述训练语音集包括纯净语音、噪声以及一部分带噪语音,所述测试语音集包括另一部分所述带噪语音;
8.对所述训练语音集中的语音样本进行预处理,得到带噪语音特征和时频掩蔽值;
9.将所述带噪语音特征和所述时频掩蔽值输入到神经网络语音增强模型中进行预训练,输出初步增强语音;
10.将所述初步增强语音和所述纯净语音同时转换到心理声学bark域上,并在所述心理声学bark域上计算语音信号的响度谱;
11.根据所述响度谱计算语音失真误差和残留噪声误差,并根据所述语音失真误差和所述残留噪声误差构建bark域加权损失函数;
12.根据所述bark域加权损失函数,采用误差反向传播算法对所述神经网络语音增强模型进行训练,得到优化后的神经网络语音增强模型;
13.将所述测试语音集中的所述带噪语音输入所述优化后的神经网络语音增强模型,
输出重构后的增强语音。
14.可选的,所述对所述训练语音集中的语音样本进行预处理,得到带噪语音特征和时频掩蔽值,具体包括:
15.对所述训练语音集中的所述带噪语音、所述纯净语音和所述噪声分别进行短时傅里叶变换,得到带噪语音频谱、纯净语音频谱和噪声频谱;
16.对所述带噪语音频谱进行语音特征提取,得到所述带噪语音特征;
17.对所述纯净语音频谱和所述噪声频谱分别进行时域分解,得到所述时频掩蔽值。
18.可选的,所述将所述初步增强语音和所述纯净语音同时转换到心理声学bark域上,并在所述心理声学bark域上计算语音信号的响度谱,具体包括:
19.利用bark域变化矩阵将所述初步增强语音转换到所述心理声学bark域上,并在所述心理声学bark域上计算初步增强语音信号的响度谱,得到增强语音响度谱;
20.利用bark域变化矩阵将所述纯净语音转换到所述心理声学bark域上,并在所述心理声学bark域上计算纯净语音信号的响度谱,得到纯净语音响度谱。
21.可选的,所述根据所述响度谱计算语音失真误差和残留噪声误差,并根据所述语音失真误差和所述残留噪声误差构建bark域加权损失函数,具体包括:
22.根据所述增强语音响度谱和所述纯净语音响度谱计算得到所述语音失真误差和所述残留噪声误差;
23.引入加权因子,通过所述加权因子将所述语音失真误差和所述残留噪声误差结合,得到所述bark域加权损失函数。
24.可选的,所述根据所述bark域加权损失函数,采用误差反向传播算法对所述神经网络语音增强模型进行训练,得到优化后的神经网络语音增强模型,具体包括:
25.对所述神经网络语音增强模型进行训练,并根据bark域加权损失函数值与预设阈值的大小关系,确定训练是否完成;
26.当所述bark域加权损失函数值小于所述预设阈值时,则停止训练并保存网络参数,得到所述优化后的神经网络语音增强模型;
27.当所述bark域加权损失函数值大于或等于所述预设阈值时,则采用误差反向传播算法调整网络参数继续训练,直至所述bark域加权损失函数结果小于所述预设阈值为止。
28.可选的,所述将所述测试语音集中的所述带噪语音输入所述优化后的神经网络语音增强模型,输出重构后的增强语音,具体包括:
29.提取所述测试语音集中所述带噪语音的带噪语音特征,并输入所述优化后的神经网络语音增强模型中,输出预测时频掩蔽值;
30.根据所述预测时频掩蔽值对所述测试语音集中的所述带噪语音进行波形合成,得到所述重构后的增强语音。
31.可选的,所述提取所述测试语音集中所述带噪语音的带噪语音特征,具体包括:
32.对所述测试语音集中的所述带噪语音进行短时傅里叶变换,得到所述带噪语音频谱;
33.对所述带噪语音频谱进行语音特征提取,得到所述带噪语音特征。
34.可选的,所述根据所述预测时频掩蔽值对所述测试语音集中的所述带噪语音进行波形合成,得到所述重构后的增强语音,具体包括:
35.将所述预测时频掩蔽值与所述测试语音集中的所述带噪语音的幅度谱相乘,得到所述增强语音的幅度谱;
36.将所述增强语音的幅度谱与所述带噪语音的相位谱结合,得到所述重构后的增强语音。
37.可选的,所述神经网络语音增强模型为由两个受限玻尔兹曼机堆叠而成的深度神经网络语音增强模型。
38.另一方面,本发明还提供了一种基于心理声学域加权损失函数的语音增强系统,包括:
39.训练语音集和测试语音集获取模块,用于获取训练语音集和测试语音集;其中,所述训练语音集包括纯净语音、噪声以及一部分带噪语音,所述测试语音集包括另一部分所述带噪语音;
40.训练语音集预处理模块,用于对所述训练语音集中的语音样本进行预处理,得到带噪语音特征和时频掩蔽值;
41.神经网络语音增强模型训练模块,用于将所述带噪语音特征和所述时频掩蔽值输入到神经网络语音增强模型中进行预训练,输出初步增强语音;
42.心理声学bark域转换与响度谱计算模块,用于将所述初步增强语音和所述纯净语音同时转换到心理声学bark域上,并在所述心理声学bark域上计算语音信号的响度谱;
43.bark域加权损失函数构建模块,用于根据所述响度谱计算语音失真误差和残留噪声误差,并根据所述语音失真误差和所述残留噪声误差构建bark域加权损失函数;
44.神经网络语音增强模型优化模块,用于根据所述bark域加权损失函数,采用误差反向传播算法对所述神经网络语音增强模型进行训练,得到优化后的神经网络语音增强模型;
45.增强语音重构模块,用于将所述测试语音集中的所述带噪语音输入所述优化后的神经网络语音增强模型,输出重构后的增强语音。
46.根据本发明提供的具体实施例,本发明公开了以下技术效果:
47.本发明提出了一种基于心理声学域加权损失函数的语音增强方法,将增强语音和纯净语音同时转换到心理声学bark域上,并在心理声学bark域上计算出相应语音信号的响度谱,又利用响度谱计算得到语音失真误差和残留噪声误差,再根据语音失真误差和残留噪声误差构建bark域加权损失函数,从而利用bark域加权损失函数中的加权因子将语音失真误差和残留噪声误差结合到一起并参与到模型训练中的参数调节过程,实现了模型训练过程中语音失真误差和残留噪声误差的同时最小化,同时考虑语音失真误差和残留噪声误差两方面对增强语音的语音质量的影响,使得优化后的神经网络语音增强模型重构出的增强语音效果更好,有效提升了增强语音的音质和可懂度,解决了传统损失函数由于没有考虑到语音失真问题而导致的重构语音听觉感知度较差、语音可懂度不高的问题。
附图说明
48.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获
得其他的附图。以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本发明的主旨。
49.图1为本发明实施例1提供的基于心理声学域加权损失函数的语音增强方法的流程图;
50.图2为本发明实施例1提供的深度神经网络的训练过程示意图;
51.图3为本发明实施例1提供的bark域加权损失函数的循环应用过程的流程图;
52.图4为本发明实施例1提供的将bark域加权损失函数应用于深度神经网络过程的流程图;
53.图5为本发明实施例1提供的神经网络语音增强模型的训练阶段和测试阶段的流程图;
54.图6为本发明实施例1提供的white噪声下不同加权因子值在4种信噪比下的pesq和stoi的对比曲线图;
55.图7为本发明实施例1提供的babble噪声下不同加权因子值在4种信噪比下的pesq和stoi的对比曲线图;
56.图8为本发明实施例1提供的基于mse和bark域加权损失函数的时域波形对比图;
57.图9为本发明实施例1提供的基于mse和bark域加权损失函数的语谱对比图;
58.图10为本发明实施例2提供的基于心理声学域加权损失函数的语音增强系统的结构框图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.如本发明和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
61.虽然本发明对根据本发明的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
62.本发明中使用了流程图用来说明根据本发明的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
63.现有基于神经网络的语音增强算法是通过最小化重构语音和纯净语音间的mse来进行增强的,这与人耳的听觉感知并不密切,会导致增强语音的语音可懂度较差。随后,研究人员提出使用si

sdr作为网络的损失函数,使用si

sdr优化的网络在消除噪声的同时会产生语音失真现象,使重构语音的听觉感知度较差,语音质量不高。基于此,本发明提出了
一种基于心理声学域加权损失函数的语音增强方法及系统,用于优化神经网络语音增强系统,bark域加权损失函数改变传统mse直接在时域上最小化误差的方法,将信号转换到与听觉感知更加密切的bark域上优化损失函数数值,从而提高增强语音的语音可懂度。并且为了使重构语音的残留噪声和语音失真两个方面同时达到最优,新损失函数引入加权因子平衡二者间关系,在训练过程中同时最小化,最终达到提高网络重构语音可懂度的目的。
64.以本发明采用的神经网络语音增强模型为例,该神经网络语音增强模型为加性噪声语音模型,其中加性语音指带噪语音的合成过程是由纯净语音与噪声相加得到的,模型训练时使用的是加性带噪语音。下面对比各种损失函数的神经网络优化方法:
65.传统均方误差(mse)损失函数优化神经网络的方法:
66.假设带噪语音由纯净语音和噪声相加得到,并在一般情况下,将直接读入的信号从时域通过短时傅里叶变换转换到频域,结合时频域信息一起对带噪信号进行处理。则语音信号的频域表达式为:
67.y(t,f)=x(t,f)+n(t,f)
68.其中,t表示时间帧,f表示频率帧,x(t,f)、n(t,f)和y(t,f)分别表示纯净语音、噪声和带噪语音在t帧、f频率处的短时傅里叶变换。
69.mse表示纯净值和输出值之间的平均差异,以mse作为神经网络的损失函数,具体计算公式为:
[0070][0071]
其中,表示传统均方误差损失函数优化神经网络预测的增强语音,y表示传统均方误差损失函数优化神经网络下的纯净语音,n表示训练样本数量,ζ
mse
表示mse损失函数的值。
[0072]
标度不变信号失真比(si

sdr)损失函数优化神经网络的方法:
[0073]
通过大量的实验验证,si

sdr作为深度学习网络的损失函数在语音客观评价性能指标上明显优于其他损失函数,其计算公式为:
[0074][0075]
其中,x表示标度不变信号失真比损失函数优化神经网络下的纯净语音,表示标度不变信号失真比损失函数优化神经网络下的增强语音,α为最优尺度因子,
[0076]
最终表达式为:
[0077]
因此,si

sdr损失函数定义公式为:ζ
si

sdr


si

sdr。
[0078]
本发明的目的是提供一种基于心理声学域加权损失函数的语音增强方法及系统,将增强输出和训练目标转换到符合听觉感知的心理声学bark域上计算损失函数,利用人耳的掩蔽效应改善传统网络在时域上优化参数,增强语音听觉感知度不高的问题;其次,构建一种新加权损失函数,通过同时考虑噪声抑制和语音质量两个方面,进一步提高重构语音的语音可懂度;最后,将新提出的bark域加权损失函数作为神经网络语音增强算法中网络参数的调优准则,并通过反向误差传播准则进行优化,得到最优的神经网络语音增强模型。
[0079]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0080]
实施例1
[0081]
如图1所示,本实施例提出了一种基于心理声学域加权损失函数的语音增强方法,该方法具体包括以下步骤:
[0082]
步骤s1、获取训练语音集和测试语音集;其中,所述训练语音集包括纯净语音、噪声以及一部分带噪语音,所述测试语音集包括另一部分所述带噪语音。
[0083]
其中,带噪语音通常理解为掺有噪声的纯净语音,因此,带噪语音一般是由纯净语音和噪音混合后形成的混合语音。而本发明的终极目标就是对带噪语音进行语音增强,使带噪语音更加接近于纯净语音,使其更加清晰,可懂度更高。
[0084]
应说明的是,步骤s1实际上就是将大量语音样本划分为训练语音集和测试语音集的过程,其中,训练语音集包括纯净语音样本、噪声样本以及带噪语音样本,由于是对带噪语音进行语音增强处理,因此,测试语音集中仅包括带噪语音样本,本实施例中将训练语音集中的带噪语音样本和测试语音集中的带噪语音样本的比例设置为3:1。应理解的是,这个比例值仅仅是一个优选值,本发明不对训练语音集和测试语音集中具体样本数量进行限定,因此,语音样本的具体的数量和比例并不是固定的、唯一的,可根据实际情况进行设置。
[0085]
步骤s2、对所述训练语音集中的语音样本进行预处理,得到带噪语音特征和时频掩蔽值。具体包括:
[0086]
步骤s2.1、对所述训练语音集中的所述带噪语音、所述纯净语音和所述噪声分别进行短时傅里叶变换,得到带噪语音频谱、纯净语音频谱和噪声频谱;
[0087]
步骤s2.2、对所述带噪语音频谱进行语音特征提取,得到所述带噪语音特征;
[0088]
语音特征提取是通过将语音波形以相对最小的数据速率转换为参数表示形式进行后续处理和分析来实现的。本实施例中,可以采用mel频率倒谱系数(mfcc)、线性预测系数(lpc)、线性预测倒谱系数(lpcc)、线谱频率(lsf)、离散小波变换(dwt)或者感知线性预测(plp)等语音提取技术其中一种方法进行语音特征提取,这些方法已经被普遍使用,具有
很高的可靠性和可接受性,且语音特征提取不作为本发明的重点,因此,本实施例中不再赘述。
[0089]
步骤s2.3、对所述纯净语音频谱和所述噪声频谱分别进行时域分解,得到所述时频掩蔽值。
[0090]
语音频谱是指一个时域的语音信号在频域下的表示方式,可以针对语音信号进行短时傅里叶变换得到,简单来说,语音频谱可以表示一个语音信号是由哪些频率的弦波所组成,也可以看出各频率弦波的大小及相位等信息。而频谱分析是一种将复杂语音信号分解为较简单语音信号的技术。比如语音信号可以表示为许多不同频率简单信号的和,而找出一个语音信号在不同频率下的信息(例如幅度、功率、强度或相位等)的方法就是频谱分析。
[0091]
本发明首先对语音信号进行短时傅里叶变换得到相应的频谱,然后直接对频谱进行时域分解得到时频掩蔽值。其中,时频掩蔽值是基于深度学习的神经网络语音增强模型的学习目标,当训练完成后,该模型输出的是预测的时频掩蔽值。
[0092]
步骤s3、将所述带噪语音特征和所述时频掩蔽值输入到神经网络语音增强模型中进行预训练,输出初步增强语音。
[0093]
应说明的是,这里的初步增强语音是在将带噪语音特征和所时频掩蔽值输入到神经网络语音增强模型中进行预训练阶段时初步输出的增强语音结果,可以是第一次输出的增强语音,也可是前几次训练中某一次输出的增强语音,由于此时的初步增强语音并不是训练完成后得到的优化后的神经网络语音增强模型的输出结果,因此,其相较于训练完成后最终模型输出的重构语音的清晰度较差,可懂度较差。
[0094]
基于深度学习的语音增强算法的性能主要受输入网络的语音特征、学习目标和损失函数的三类所影响。损失函数又称为误差函数,在神经网络语音增强模型中起到优化网络参数的作用,可以表示模型对数据的拟合程度。在整个增强算法的训练过程中,使用误差反向传播(error back propagation,bp)算法训练网络的过程如下:(1)使用当前参数计算出样本数据的输出值和当前纯净值间的误差;(2)根据得到的误差计算出网络输出层的梯度值;(3)将梯度值沿着与输入数据不同的方向传播到网络隐藏层,接着计算隐藏层神经元节点的梯度值;(4)根据上一步计算的数值更新网络各层神经元间连接的权重矩阵和偏置值。使用bp算法精细调优的目的是使网络预测的增强语音和实际纯净语音之间的误差达到最小,这可通过最小化损失函数的值来实现,本发明结合心理声学域提出一种更加符合人耳听觉感知的新损失函数来优化网络,图2示出了深度神经网络的具体训练过程。本发明中,深度神经网络由多层受限玻尔兹曼机(restricted boltzmann machine,rbm)堆叠组成,其中,rbm隐含层和可见层的层内神经元无连接,可见层包括输入层和输出层。
[0095]
本发明使用两个rbm堆叠成的深度神经网络进行语音增强,训练网络采取无监督预训练以及有监督反向微调的方法。其中,在无监督预训练阶段,采用对比散度算法(contrastive divergence,cd)预训练rbm,每一个rbm的输出作为下一个rbm的输入,多个rbm堆集逐层训练结束之后,在最后增加一个输出层,并设置与输入层相同的节点数,权值和偏置值随机初始化,即得到初始化好的神经网络语音增强模型,此时输出的就是初步增强语音,也就是对神经网络语音增强模型开始进行预训练并初始化好后最先输出的增强语音。在有监督反向微调阶段,经过无监督的预训练后,采用有监督反向微调的方法对深度神
经网络进行精细调优,使训练得到的增强语音和原始纯净语音之间的损失函数间的误差值小于预设阈值,此时结束神经网络语音增强模型的训练,得到优化后的神经网络语音增强模型,再测试输出得到增强语音。
[0096]
在实际操作过程中,如果选择的损失函数不恰当,即使训练的次数很多,也不会得到的增强效果好的神经网络语音增强模型。研究表明,使用si

sdr作为深度学习网络的损失函数在语音客观评价性能指标上明显优于其他损失函数。但大多数语音增强算法都是以语音失真为代价来抑制噪声,增强语音的残留噪声和语音可懂度两个方面不能同时达到最佳。基于此,本发明采用的是基于心理声学bark域的加权损失函数,该损失函数的具体构建过程如下:
[0097]
步骤s4、将所述初步增强语音和所述纯净语音同时转换到心理声学bark域上,并在所述心理声学bark域上计算语音信号的响度谱。具体包括:
[0098]
步骤s4.1、利用bark域变化矩阵将所述初步增强语音转换到所述心理声学bark域上,并在所述心理声学bark域上计算初步增强语音信号的响度谱,得到增强语音响度谱;
[0099]
步骤s4.2、利用bark域变化矩阵将所述纯净语音转换到所述心理声学bark域上,并在所述心理声学bark域上计算纯净语音信号的响度谱,得到纯净语音响度谱。
[0100]
图3示出了bark域加权损失函数的循环应用过程,具体包括计算bark域响度谱,计算加权损失函数,以及将bark域加权损失函数应用于深度神经网络语音增强场景三个主要步骤。
[0101]
首先计算bark域响度谱,将增强语音通过变化矩阵h转换为bark频率尺度,计算公式为:
[0102][0103]
其中,表示增强语音信号,x表示纯净语音信号,h表示bark域变换矩阵,表示增强语音转换到bark域的语音信号,表达式为:
[0104][0105]
其中,q表示bark域频带数,本实施例中q取值为24;t表示帧数;表示增强语音在第t帧,第q个频带的bark域频谱,q表示频带,q=0,1,

,q

1;t表示转置。
[0106]
其次,将纯净语音通过变化矩阵h转换为bark频率尺度,计算公式为:
[0107]
b=h
·
x
[0108]
其中,x表示纯净语音信号,h表示bark域变换矩阵,b表示纯净语音转换到bark域的语音信号,表达式为:
[0109]
b=[b(t,0),b(t,1),

,b(t,q

1)]
t
[0110]
其中,q表示bark域频带数,本实施例中q取值为24;t表示时间帧,b(t,q)表示纯净语音在第t帧,第q个频带的bark域频谱;表示增强语音在第t帧,第q个频带的bark域频谱,q表示频带,q=0,1,

,q

1;t表示转置。
[0111]
然后通过zwicker转换准则将bark域频谱转换成响度级,计算公式为:
[0112][0113]
其中,s
l
表示响度比例因子,本实施例中s
l
取值为0.08;p0(q)表示第q个频带的听力阈值,由于人耳无法感知,因此,本实施例将所有响度值小于听力阈值的频带设为0;γ表示加权幂指数,本实施例中γ取值为0.23;s(t,q)表示纯净语音在第t帧,第q个频带的响度谱;b(t,q)表示纯净语音在第t帧,第q个频带的bark域频谱。
[0114]
最后,将上述过程应用于转换后的bark域信号,得到增强语音和纯净语音的bark域响度谱,其表达式分别为:
[0115][0116][0117]
其中,表示增强语音的响度谱,s表示纯净语音的响度谱;s(t,q)表示纯净语音在第t帧,第q个频带的响度谱;表示增强语音在第t帧,第q个频带的响度谱,t表示转置。
[0118]
步骤s5、根据所述响度谱计算语音失真误差和残留噪声误差,并根据所述语音失真误差和所述残留噪声误差构建bark域加权损失函数。
[0119]
在构建加权损失函数时,为了更好的权衡语音失真和残留噪声两个方面,本发明将bark域加权损失函数定义为:
[0120]
ζ
new

β
=βζ
distortion
+(1

β)ζ
noise
[0121]
其中,ζ
new

β
表示加权损失函数;β为加权因子,β的取值在[0,1]之间变化,当β<0.5时,语音失真误差在降噪中起主要作用;当β>0.5时,残留噪声误差在降噪中起主要作用,当β=0.5时,语音失真误差和残留噪声误差在降噪中作用相当。因此,本发明能够通过将加权因子β设置为不同的值,实现语音失真和残留噪声之间的平衡。ζ
distortion
表示语音失真误差,其表示式为:
[0122][0123]
ζ
noise
表示噪声残留误差,其表达式为:
[0124][0125]
其中,λ为比例因子,其表达式为:
[0126][0127]
其中,|| ||2表示双竖线中间的变量的平方;表示增强语音的响度谱,s表示纯净语音的响度谱;mean(
·
)表示求均值;表示双竖线中间的变量的平方最小时λ的取值;t表示转置。
[0128]
本发明从语音失真误差和残留噪声误差的角度入手,利用bark域加权损失函数中的加权因子β将语音失真误差和残留噪声误差这两种误差结合到一起并参与到模型训练中的参数调节过程,使得语音失真误差和残留噪声误差同时达到最小化,由于同时考虑语音失真误差和残留噪声误差两方面对增强语音的语音质量的影响,从而使得优化后的神经网络语音增强模型重构出的增强语音效果更好,音质更强,可懂度更高,进而解决了传统损失函数由于没有考虑到语音失真问题而导致的重构语音听觉感知度较差、语音可懂度不高的问题。
[0129]
步骤s6、根据所述bark域加权损失函数,采用误差反向传播算法对所述神经网络语音增强模型进行训练,得到优化后的神经网络语音增强模型。具体包括:
[0130]
步骤s6.1、对所述神经网络语音增强模型进行训练,并根据bark域加权损失函数值与预设阈值的大小关系,确定训练是否完成;
[0131]
步骤s6.2、当所述bark域加权损失函数值小于所述预设阈值时,则停止训练并保存网络参数,得到所述优化后的神经网络语音增强模型;
[0132]
当所述bark域加权损失函数值大于或等于所述预设阈值时,则采用误差反向传播算法调整网络参数继续训练,直至所述bark域加权损失函数结果小于所述预设阈值为止。
[0133]
bark域是专门针对人耳耳蜗特殊结构提出的一种声音的心理声学尺度,本发明通过将语音信号转换到心理声学bark域上,构建出不同于传统损失函数的bark域加权损失函数,并将bark域加权损失函数应用于深度神经网络语音增强场景中,用于改进增强语音的语音质量问题,使重构的语音更符合人耳的听觉感知系统,具体过程如图4所示。
[0134]
在神经网络训练阶段,选择bark域加权损失函数作为反向调优的误差准则,使用基于梯度下降策略的误差反向传播(accumulated error back propagation,aebp)算法,以目标的负梯度方向对网络参数进行调整,将网络可见输出单元计算的差异值,沿与输入数据不同的方向回传至隐层单元,计算出隐层神经元的差异梯度值,最后根据计算结果对神经网络各节点间的参数进行小幅调整,一直循环该调优过程,直至训练到损失函数值低于所设预设阈值ε即可结束训练,保存得到的最优的网络模型用于网络的测试阶段。图4中rbm为多层受限玻尔兹曼机,本发明的神经网络语音增强模型为由两个受限玻尔兹曼机堆叠而成的深度神经网络模型,其中,w0、w1为网络连接层之间的矩阵权重,v0、h0分别表示第一个rbm中的可见层和隐含层,v1、h1分别表示第二个rbm中的可见层和隐含层,ε为训练过程中优化损失函数的预设阈值,当训练的bark域加权损失函数结果小于该预设阈值时,停止网络训练,输出增强语音,否则持续循环训练,直至bark域加权损失函数结果小于预设阈值时终止训练。
[0135]
步骤s7、将所述测试语音集中的所述带噪语音输入所述优化后的神经网络语音增强模型,输出重构后的增强语音。
[0136]
如图5所示,神经网络语音增强模型包括训练阶段和测试阶段两个阶段,其中,在训练阶段,对训练语音集中的纯净语音和噪声分别进行时域分解后得到时频掩蔽值,并提取带噪语音的带噪语音特征后,将带噪语音特征和时频掩蔽值输入神经网络语音增强模型进行模型训练,同时在心理声学bark域上计算初步增强语音信号的响度谱以及纯净语音信号的响度谱,从而构建出bark域加权损失函数,然后再将bark域加权损失函数与预设阈值的大小关系作为判断训练是否结束的条件,训练完成后得到优化后的神经网络语音增强模
型,此时将测试语音集中带噪语音的带噪语音特征输入到优化后的神经网络语音增强模型中,得到预测出的时频掩蔽值,将预测出的时频掩蔽值用于波形合成得到最终重构出的增强语音。
[0137]
步骤s7具体包括:
[0138]
步骤s7.1、提取所述测试语音集中所述带噪语音的带噪语音特征,并输入所述优化后的神经网络语音增强模型中,输出预测时频掩蔽值,包括:
[0139]
步骤s7.1.1、对所述测试语音集中的所述带噪语音进行短时傅里叶变换,得到所述带噪语音频谱;
[0140]
步骤s7.1.2、对所述带噪语音频谱进行语音特征提取,得到所述带噪语音特征;
[0141]
步骤s7.1.3、将所述带噪语音特征输入所述优化后的神经网络语音增强模型中,输出预测时频掩蔽值;
[0142]
步骤s7.2、根据所述预测时频掩蔽值对所述测试语音集中的所述带噪语音进行波形合成,得到所述重构后的增强语音,具体包括:
[0143]
步骤s7.2.1、将所述预测时频掩蔽值与所述测试语音集中的所述带噪语音的幅度谱相乘,得到所述增强语音的幅度谱;
[0144]
步骤s7.2.2、将所述增强语音的幅度谱与所述带噪语音的相位谱结合,得到所述重构后的增强语音。
[0145]
本发明首次提出了一个符合人耳听觉感知的新的损失函数,即基于心理声学bark域的加权损失函数,简称bark域加权损失函数,从模型优化的角度,该bark域加权损失函数能够明显提高增强语音的语音质量和语音可懂度。在神经网络语音增强模型训练过程中,将增强语音和纯净语音同时转换到心理声学bark域上,计算相应的响度谱,然后通过响度谱计算出可以表示语音失真程度的语音失真误差函数和噪声残留误差函数,再通过引入一个加权因子λ,将其整合在一起,在训练过程中同时将语音失真误差和噪声残留误差最小化,保证了增强语音的残留噪声和语音失真同时达到最小,与传统基于mse优化的神经网络相比,该算法在不同信噪比下的增强语音效果得到显著改善,同时语音可懂度也有了明显提升。
[0146]
以下采用实例对本发明方法的语音增强效果进行验证:
[0147]
实验选用ieee语音库,noise

92噪声库中的white噪声、babble噪声、f16噪声以及factory噪声。使用50条纯净语音在每种噪声下创建信噪比为

5db、0db和5db、10db的600条训练集。使用10条语音在相同条件下创建120条测试集。评价指标采用分段信噪比(segmental snr,segsnr)、主观语音质量(perceptual evaluation ofspeech quality,pesq)和短时客观可懂度(short term objective intelligibility,stoi)。得出的具体实验数据如下:
[0148]
表1示出了dnn

mse(deep neural networks

mean square error,dnn

mse,深度神经网络

均方误差损失函数)和dnn

bark域加权损失函数(dnn

weighted loss function in bark,dnn

bw,深度神经网络

bark域加权损失函数)的分段信噪比segsnr的增强性能对比。表1中数据是在四种背景噪声不同信噪比下得到的三种评价指标的实验结果。分析表1中数据可知,本发明提出的dnn

bw算法可以更好的抑制噪声,其segsnr值比带噪语音平均提升了9.1372db,并且比使用传统mse损失函数的segsnr平均提升了0.3321db。
[0149]
表1 dnn

mse和dnn

bw的segsnr增强性能对比
[0150][0151]
表2和表3分别示出了dnn

mse和dnn

bw的主观语音质量pesq和短时客观可懂度stoi的增强性能对比:
[0152]
表2 dnn

mse和dnn

bw的主观语音质量pesq增强性能对比
[0153][0154]
表3 dnn

mse和dnn

bw的短时客观可懂度stoi增强性能对比
[0155]
[0156][0157]
从表2和表3中可以直观看出,本发明提出的bark域损失函数重构的增强语音比原始带噪语音的pesq值提高了0.5351,stoi值提升了0.1002。比传统用mse优化的深度神经网络的pesq值和stoi值分别提升了0.1407和0.0208,证明了本发明提出的bark域损失函数可以明显提高增强语音的语音可懂度和清晰度。
[0158]
图6和图7分别示出了white噪声、babble噪声下的不同加权因子值在4种信噪比下的主观语音质量pesq和短时客观可懂度stoi的大小对比情况。其中,图6(a)为white噪声下不同加权因子下的pesq得分情况;图6(b)为white噪声下不同加权因子下的stoi得分情况;图7(a)为babble噪声下不同加权因子下的pesq得分情况,图7(b)为babble噪声下不同加权因子下的stoi得分情况。从图中可直观看出,无论是在white噪音、babble噪声还是其他有色噪声下,当加权因子β=1时,本发明提出的损失函数可以看作是mse,当加权因子β=0和β=1这两种极端情况下时,本发明的神经网络语音增强模型在不同信噪比下的性能指标均没有达到最优。通过全局来看,β的值在[0,0.6]之间时,各种性能指标呈上升趋势,而β的值在[0.6,1]之间时,相应的pesq和stoi得分呈下降趋势。这表明当β的值在0.6左右时,将语音失真误差作为新构建的bark域加权损失函数的主要因素,可以很好地实现降噪和语音失真之间的平衡策略。
[0159]
为进一步验证本发明提出的bark域加权损失函数的性能,采用mfcc(mel

frequency cepstral coefficients,mfcc)语音特征和irm学习目标训练神经网络,设计两组对比实验,进一步说明符合人耳听觉的损失函数对于提高重构语音的语音质量的重要性。
[0160]
实验1:采用基于传统mse的损失函数训练神经网络语音增强模型。
[0161]
实验2:采用本发明的bark域加权损失函数训练神经网络语音增强模型。
[0162]
为了直观展示本发明提出的bark域加权损失函数的优越性,以5db的babble噪声下随机一组语音信号为例,图8示出了基于mse和bark域加权损失函数的时域波形对比图。其中,图8(a)为纯净语音的时域波形图,图8(b)为带噪语音的时域波形图,图8(c)为mse损失函数优化的增强语音的时域波形图,图8(d)为本发明bark域加权损失函数优化的增强语音的时域波形图。由图8中矩形框标注的位置可知,bark域加权损失函数优化的增强语音较mse优化的增强语音而言,对原始纯净语音信号的波形保持比较完整,语音失真程度较小;并且在静音段,本发明采用的bark域加权损失函数优化的增强语音,抑制噪声的能力较强。
[0163]
图9示出了基于mse和bark域加权损失函数的语谱对比图。其中,图9(a)为纯净语音的语谱图,图9(b)为带噪语音的语谱图,图9(c)为mse损失函数优化的增强语音的语谱图,图9(d)为本发明bark域加权损失函数优化的增强语音的语谱图。如图9所示,基于本发明提出的bark域加权损失函数重构后的语音在频谱结构上保持更加完整,且频谱中残留的噪声少于基于传统mse损失函数重构的语音,这与图8中的时域波形图反映出的信息相互映证。因此,本发明提出的语音增强方法,语音增强效果更佳,语音质量更高,可懂度也更高。
[0164]
实施例2
[0165]
如图10所示,本实施例提供了一种基于心理声学域加权损失函数的语音增强系统,该系统采用的是实施例1中的基于心理声学域加权损失函数的语音增强方法,系统各个模块的功能与实施例1的方法各个步骤相同且一一对应,该系统具体包括:
[0166]
训练语音集和测试语音集获取模块m1,用于获取训练语音集和测试语音集;其中,所述训练语音集包括纯净语音、噪声以及一部分带噪语音,所述测试语音集包括另一部分所述带噪语音;
[0167]
训练语音集预处理模块m2,用于对所述训练语音集中的语音样本进行预处理,得到带噪语音特征和时频掩蔽值;
[0168]
神经网络语音增强模型训练模块m3,用于将所述带噪语音特征和所述时频掩蔽值输入到神经网络语音增强模型中进行预训练,输出初步增强语音;
[0169]
心理声学bark域转换与响度谱计算模块m4,用于将所述初步增强语音和所述纯净语音同时转换到心理声学bark域上,并在所述心理声学bark域上计算语音信号的响度谱;
[0170]
bark域加权损失函数构建模块m5,用于根据所述响度谱计算语音失真误差和残留噪声误差,并根据所述语音失真误差和所述残留噪声误差构建bark域加权损失函数;
[0171]
神经网络语音增强模型优化模块m6,用于根据所述bark域加权损失函数,采用误差反向传播算法对所述神经网络语音增强模型进行训练,得到优化后的神经网络语音增强模型;
[0172]
增强语音重构模块m7,用于将所述测试语音集中的所述带噪语音输入所述优化后的神经网络语音增强模型,输出重构后的增强语音。
[0173]
本发明提出一种基于心理声学域加权损失函数的语音增强方法及系统,采用bark域加权损失函数改变传统mse直接在时域上最小化误差的方法,将增强语音信号同纯净语音信号一并转换到与听觉感知更加密切的bark域上优化损失函数数值,从而提高了增强语音的语音可懂度。并且,为了使重构语音的残留噪声和语音失真两个方面同时达到最优,bark域加权损失函数引入了加权因子以平衡残留噪声和语音失真两者之间的关系,在训练
过程中实现了残留噪声和语音失真的同时最小化,最终达到提高网络重构语音可懂度的目的。
[0174]
容易理解的是,除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
[0175]
上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。