一种基于神经网络的语音增强方法、装置、设备及介质

未命名 07-20 阅读:106 评论:0


1.本技术涉及音频处理技术领域,尤其涉及一种基于神经网络的语音增强方法、装置、设备及介质。


背景技术:

2.语音增强旨在从带噪语音中恢复干净的语音,以提高人与人之间或机器与人之间的通信效率。目前智能语音系统(如智能家居、智能机器人)基本上都采用基于深度神经网络(deep neural network,dnn)的语音增强方法,典型的做法是输入频域特征(如对数功率谱(lps)、梅尔倒谱系数(mfcc)、复数特征)到神经网络,然后神经网络输出时频掩膜(time frequency mask,tfm)作用于带噪语音的频谱实现语音增强。将基于dnn的语音增强算法应用于嵌入式系统主要考虑:系统的时间复杂度(运算量)和空间复杂度(内存)、语音质量。为了降低系统的复杂度,通常的做法有:设计相对简单的网络结构、减少特征维度和网络节点数量;多阶段降噪处理。为了克服系统的语音失真问题,通常的做法有:加入多种损失函数;输出复数时频掩膜、采用复数网络结构提高语音感知质量。
3.虽然上述的解决方案在一定程度上改善了语音增强系统的复杂度和语音质量的问题,但是这些解决方案存在一定的矛盾关系,在实际实施过程中会存在以下问题:设计简单的网络结构、减少特征维度和网络节点数量通常会导致模型效果不佳、模型的泛化性能差;多阶段降噪在减少模型复杂度方面是有效的,但很容易加剧语音失真问题,例如前一阶段降噪损伤了语音,后一阶段的降噪不仅难以弥补语音失真很可能进一步破坏语音;常规的损失函数为均方误差(mean square error,mse)损失,但在低信噪比下容易导致语音失真,即使加入了其他损失函数协同训练,还是难以解决此问题;输出复数频掩膜的方式相比常规的实数掩膜虽然在提高语音可懂度上有一定优势,但需要设计更合理且复杂的网络结构。


技术实现要素:

4.本技术实施例的主要目的在于提供一种基于神经网络的语音增强方法、装置、设备及介质,至少能够解决相关技术中语音失真以及网络结构较复杂的问题。
5.为实现上述目的,本发明实施例第一方面提供了一种基于神经网络的语音增强方法,该方法包括:
6.将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;
7.将对应于目标语音的第二频域特征以及所述第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;其中,所述第二频域特征为复数特征,所述第二频带增益包括实部增益和虚部增益;
8.对所述第一频带增益、所述第二频带增益以及目标语音频谱进行运算,得到增强语音。
9.进一步地,所述第二神经网络模型包括多个子神经网络;每个所述子神经网络包括多个第一网络层;所述第一网络层包括多个网络子层;
10.所述将对应于目标语音的第二频域特征以及所述第一频带增益输入至第二神经网络模型,得到第二频带增益的步骤,包括:
11.根据所述目标语音频谱的频带信息,提取对应于各频带的第二频域特征;
12.根据预设的特征输入规则,分别将各所述第二频域特征以及所述第一频带增益输入至第二神经网络模型中对应的所述子神经网络,得到第三频带增益;
13.将各所述第三频带增益进行拼接,得到第二频带增益。
14.再进一步地,所述分别将各所述第二频域特征以及所述第一频带增益输入至第二神经网络模型中对应的所述子神经网络,得到第三频带增益的步骤,包括:
15.将所述第二频域特征以及所述第一频带增益输入至第二神经网络模型中对应的所述子神经网络的各所述网络子层,得到对应于所述网络子层的第一中间参数;
16.依次将上一所述第一网络层输出的各所述第一中间参数进行拼接后输入至下一所述第一网络层,得到第三频带增益。
17.进一步地,所述第一神经网络模型的损失函数表示为:
18.l=αl
mse
+(1-)l
speech
[0019][0020][0021]
其中,l为所述第一神经网络模型的损失函数,α为语音保留的控制因子,l
mse
为均方误差损失函数,l
speech
为语音保留损失函数,t为所述目标语音的时间,f为所述目标语音的频率,t为总的时间点数,f为总的频率点数,x(t,f)为参考增强语音的时频表示,g(t,f)为时频增益,y(t,f)为所述目标语音的时频表示。
[0022]
进一步地,所述第一神经网络模型包括多个第二网络层;
[0023]
所述将对应于目标语音的第一频域特征输入至第一神经网络模型,得到第一频带增益的步骤包括:
[0024]
将对应于目标语音的第一频域特征输入至第一神经网络模型中所述第二网络层,输出第二中间参数;
[0025]
依次将上一所述第二网络层输出的所述第二中间参数输入至下一所述第二网络层,得到第一频带增益。
[0026]
进一步地,所述对所述第一频带增益、所述第二频带增益以及目标语音频谱进行运算,得到增强语音的步骤,包括:
[0027]
对所述第一频带增益与目标语音频谱进行运算,得到第一增强语音频谱;
[0028]
将所述第二频带增益与所述第一增强语音频谱进行复数域的乘法运算,得到第二增强语音频谱;
[0029]
对所述第二增强语音频谱进行反傅里叶变换,得到增强语音。
[0030]
再进一步地,所述对所述第一频带增益与目标语音频谱进行运算,得到第一增强
语音频谱的步骤,包括:
[0031]
对所述第一频带增益进行线性插值,得到第四频带增益;
[0032]
将所述第四频带增益与目标语音频谱进行相乘,得到第一增强语音频谱。
[0033]
本技术实施例第二方面提供了一种基于神经网络的语音增强装置,包括:
[0034]
第一处理模块,用于将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;
[0035]
第二处理模块,用于将对应于目标语音的第二频域特征以及所述第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;其中,所述第二频域特征为复数特征;所述第二频带增益包括实部增益和虚部增益;
[0036]
运算模块,用于对所述第一频带增益、所述第二频带增益以及目标语音频谱进行运算,得到增强语音。
[0037]
本技术实施例第三方面提供了一种电子设备,包括:存储器及处理器,其中,处理器用于执行存储在存储器上的计算机程序,处理器执行计算机程序时,实现上述本技术实施例第一方面提供的基于神经网络的语音增强方法中的各步骤。
[0038]
本技术实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本技术实施例第一方面提供的基于神经网络的语音增强方法中的各步骤。
[0039]
由上可见,根据本技术方案所提供的基于神经网络的语音增强方法、装置、设备及介质,将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;将对应于目标语音的第二频域特征以及第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;其中,第二频域特征为复数特征,第二频带增益包括实部增益和虚部增益;对第一频带增益、第二频带增益以及目标语音频谱进行运算,得到增强语音。通过本技术方案的实施,分别将对应于目标语音的第一频域特征以及第二频域特征输入至两个神经网络模型,再对两个神经网络模型输出的频带增益以及目标语音频谱进行运算,即可得到增强语音,多阶段的增强处理以及输出复数增益可有效降低网络结构的复杂度,提高语音的感知质量。
附图说明
[0040]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]
图1为本技术第一实施例提供的基于神经网络的语音增强方法的基本流程示意图;
[0042]
图2为本技术第一实施例提供的一种第二神经网络模型的结构示意图;
[0043]
图3为本技术第二实施例提供的基于神经网络的语音增强方法的细化流程示意图;
[0044]
图4为本技术第二实施例提供的一种两阶段分频分组的语音增强网络的结构示意图;
[0045]
图5为本技术第三实施例提供的一种基于神经网络的语音增强装置的模块示意图;
[0046]
图6为本技术第四实施例提供的电子设备的结构示意图。
具体实施方式
[0047]
为使得本技术的发明目的、特征、优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0048]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0049]
为了解决相关技术在增强语音过程中语音失真以及网络结构较复杂的问题,本技术第一实施例提供了一种基于神经网络的语音增强方法,如图1为本实施例提供的基于神经网络的语音增强方法的基本流程示意图,该基于神经网络的语音增强方法包括以下的步骤:
[0050]
步骤101、将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益。
[0051]
具体的,在本实施例中,系统的结构包括两个深度神经网络模型,采用两阶段语音增强的手段,为了减少第一阶段的复杂度,提取的频域特征为低维度的fbank特征,第一神经网络模型为低复杂度的循环神经网络(gru网络),将低维度的频域特征输入至低复杂度的神经网络中,输出为频带增益。其中,fbank的全称是filterbank,人耳对声音频谱的响应是非线性的,fbank就是一种前端处理算法,以类似于人耳的方式对音频进行处理,可以提高语音识别的性能。获得语音信号的fbank特征的一般步骤是:预加重、分帧、加窗、短时傅里叶变换(stft)、mel滤波器滤波。mel滤波器是按照人耳听觉感知特性将频率划分为固定个数的频带如本实施例的为32个频带,然后乘上三角窗。
[0052]
在本实施例一些实施方式中,第一神经网络模型包括多个第二网络层;将对应于目标语音的第一频域特征输入至第一神经网络模型,得到第一频带增益的步骤包括:将对应于目标语音的第一频域特征输入至第一神经网络模型中第二网络层,输出第二中间参数;依次将上一第二网络层输出的第二中间参数输入至下一第二网络层,得到第一频带增益。
[0053]
具体的,在本实施例中,第一神经网络模型为低复杂度的gru网络,该神经网络模型包括多个网络层,在将频域特征输入至该神经网络后,各网络层依次对该频域特征进行处理,上一网络层的输出将作为下一次网络层的输入,直到最后一个网络层处理完成后,输出频带增益。
[0054]
进一步地,在本实施例的一些实施方式中,第一神经网络模型的损失函数表示为:
[0055]
l=αl
mse
+(1-)l
speech
[0056][0057][0058]
其中,l为第一神经网络模型的损失函数,α为语音保留的控制因子,l
mse
为均方误差损失函数,l
speech
为语音保留损失函数,t为目标语音的时间,f为目标语音的频率,t为总的时间点数,f为总的频率点数,x(t,f)为参考增强语音的时频表示,是参考增强语音也即干净语音的波形经过傅里叶变换得到的,其包含时间和频率两个维度,g(t,f)为时频增益,是由神经网络模型输出的,其与y(t,f)的每一个时、频点相乘,得到降噪后的语音(时频域),y(t,f)为目标语音的时频表示,是目标语音也即带噪语音经过傅里叶变换得到。
[0059]
具体的,在本实施例中,由于采用多阶段降噪系统会引入语音失真的问题,并且语音的保真度十分依赖于第一阶段的处理效果,若第一阶段损伤了语音成分,在第二阶段损伤会被加剧。在基于时频掩码的深度神经网络系统中,主流的损失函数依然是mse。在上述mse准则下,时频增益((t,f)的训练目标为幅度掩码(smm),也就是|(t,f)|/|9t,f)|。在低信噪比条件下以及两阶段降噪网络系统中,常规的mse损失函数由于其固定的训练目标,很容易产生语音失真问题。
[0060]
针对上述问题,本实施例设计了一种适用于两阶段网络训练的损失函数。在常规mse的基础上,加入一个语音保留损失函数l
speech
。但如果单纯的使该语音保留损失函数作用于两阶段降噪网络系统,g(t,f)的训练目标始终是1,也就是没有任何的降噪功能。对于两阶段的训练网络来说,噪声残留的问题在第二阶段可以得到解决,关键在于如何防止第一阶段的语音失真,因此本实施例提供的一种做法是将常规的mse损失函数和语音保留损失函数模块结合起来,尽量保证在语音不失真的基础上实现降噪。引入语音保留的控制因子α,α的取值范围为0~1,当α为1时,适用于第一阶段的损失函数l退化为mse损失函数,当α为0时,第一阶段将没有降噪功能(此时语音也没有失真),通过控制的α值,可以权衡第一阶段的降噪程度,同时可以在一定程度上保证语音的保真度,从而有利于提高整个系统的鲁棒性。
[0061]
步骤102、将对应于目标语音的第二频域特征以及第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益。
[0062]
具体的,在本实施例中,第二频域特征为复数特征,第二频带增益包括实部增益和虚部增益。目前,基于复数掩码和复数网络结构的语音增强方法被证明可以很有效的提高语音的感知质量和语音的可懂度。复数特征一般有实部虚部、幅度结合相位、对数幅度结合相邻频点的相位差等。本实施例中第二阶段的神经网络模型输入特征为高维度特征,可选的采用对数功率谱(lps)特征,获得lps特征的一般步骤是:分帧、加窗、短时傅里叶变换(stft)、加平方,最后取log,得到lps。
[0063]
在本实施例一些实施方式中,第二神经网络模型包括多个子神经网络;每个子神经网络包括多个第一网络层;第一网络层包括多个网络子层;将对应于目标语音的第二频域特征以及第一频带增益输入至第二神经网络模型,得到第二频带增益的步骤,包括:根据目标语音频谱的频带信息,提取对应于各频带的第二频域特征;根据预设的特征输入规则,
分别将各第二频域特征以及第一频带增益输入至第二神经网络模型中对应的子神经网络,得到第三频带增益;将各第三频带增益进行拼接,得到第二频带增益。
[0064]
具体的,在本实施例中,针对语音谐波成分在全频带并非均匀分布以及人耳对各个频带的敏感性不同等特点,第二神经网络模型采用按照频带划分分组的方式设计网络结构。如图2所示为本实施例提供的一种第二神经网络模型的结构示意图。相应频带所对应的频域特征输入对应的子神经网络中,各网络层根据被划分为不同数量的网络子层。通过对带噪语音的频带进行划分,然后分别提取每一频带的频域特征,再根据对频带的实际需求将提取到的对应于每一频带的频域特征输入至相应的子神经网络中,最后将每一子神经网络输出的频带增益进行拼接即可得到最终的频带增益。
[0065]
进一步地,在本实施例的一些实施方式中,分别将各第二频域特征以及第一频带增益输入至第二神经网络模型中对应的子神经网络,得到第三频带增益的步骤,包括:将第二频域特征以及第一频带增益输入至第二神经网络模型中对应的子神经网络的各网络子层,得到对应于网络子层的第一中间参数;依次将上一第一网络层输出的各第一中间参数进行拼接后输入至下一第一网络层,得到第三频带增益。
[0066]
具体的,在本实施例中,第二神经网络模型中每个子神经网络中又包括多个网络层,每个网络层包括多个网络子层,当频域特征输入至子神经网络中,在每一网络层的网络子层对该频域特征进行处理后,再将处理得到的中间参数进行拼接后作为下一网络层的输入,直到最后一个网络层处理完成后输出相应频带的频域特征所对应的频带增益。
[0067]
应当理解的是,常规的基于dnn语音增强系统的框架一般是对带噪语音进行特征提取,将得到的特征输入至神经网络中,经多个网络层进行处理后得到增强语音频谱。而当输入特征的维度越高、网络层的节点数目越多时,系统预测的目标(掩码或者幅度谱等)会更准确,语音增强效果越好,但不管网络层是全连接(fc)层还是循环神经网络(rnn)层,随着节点数目的增加,网络的参数量也会急剧上升。采用网络层分组的方式可以在一定程度上解决此问题。网络层分组的做法是将一个网络层划分成很多子层,例如,一个128节点输入、128节点输出的线性层或循环神经网络层可以分为2个64节点输入、64节点输出的线性层或循环神经网络层,这种分组的groups为2;同理,其也可以分为4个32节点输入、32节点输出的网络层,这种分组的groups为4。分组越多,参数量越少。虽然这种做法在对降低复杂度是有效的,但存在以下不足:分组通常以性能为代价,分组越多,性能下降越明显;固定的分组模式一方面限制了模型的灵活设计,另一方面很难解决复杂度和性能之间的矛盾。
[0068]
针对上述问题,通过本实施例中分频带分组的网络设计方式可以得到有效地解决。首先,该网络设计更加灵活,例如分频带的方式可以使得每个频带对应的的网络设计不一样、网络层分组大小不一样。还可以根据不同的应用场景、不同的人群进行不同的频带资源划分,例如,如果听障患者对于1000hz-2000hz敏感而对其他频带存在严重的听力损失,此时可以自适应的为这些人群设计特殊的系统结构。其次,网络参数配置可以更加合理,有的频带是没有必要使用大量参数的,但是固定分组同样分配了同比例的参数量,对于语音而言,大部分谐波成分集中在4khz以下,这需要网络很好的学习到这部分的信息,通过分频带分组的网络结构可以给低频分配更多的网络资源(如网络节点更大、分组少),而高频则可以分配相对少的资源(如网络节点更小、分组更多),这使得网络配置更加合理,且不会牺牲性能。
[0069]
步骤103、对第一频带增益、第二频带增益以及目标语音频谱进行运算,得到增强语音。
[0070]
具体的,在本实施例中,将两个神经网络模型输出的频带增益以及带噪语音的频谱进行相应的运算后,即可得到干净的语音。
[0071]
在本实施例一些实施方式中,对第一频带增益、第二频带增益以及目标语音频谱进行运算,得到增强语音的步骤,包括:对第一频带增益与目标语音频谱进行运算,得到第一增强语音频谱;将第二频带增益与第一增强语音频谱进行复数域的乘法运算,得到第二增强语音频谱;对第二增强语音频谱进行反傅里叶变换,得到增强语音。
[0072]
具体的,在本实施例中,第一神经网络模型输出的频带增益gb(t,f)与带噪语音频谱y1(t,f)进行运算得到增强语音频谱x1(t,f)(幅度谱),将增强语音频谱x1(t,f)与第二神经网络模型输出的复数增益gr(t,f)、gi(t,f)进行复数域的乘法运算,得到增强语音频谱x2(t,f),最后再对增强语音频谱x2(t,f)进行反傅里叶变换得到增强语音。第一阶段的网络输出频带增益与带噪语音频谱相乘实现基本的降噪功能,第二阶段的网络输出频带增益与第一阶段输出的初步增强的语音频谱相乘实现进一步降噪。这种方法的优点在于,其将一个大的系统拆分为多个小的子系统,分别优化子系统的性能,一方面提高了系统对噪声的抑制能力,另一方面也减少了系统的复杂度。
[0073]
进一步地,在本实施例的一些实施方式中,对第一频带增益与目标语音频谱进行运算,得到第一增强语音频谱的步骤,包括:对第一频带增益进行线性插值,得到第四频带增益;将第四频带增益与目标语音频谱进行相乘,得到第一增强语音频谱。
[0074]
具体的,在本实施例中,在第一神经网络模型输出频带增益gb(t,f)后,再对该频带增益gb(t,f)进行线性插值得到全频带增益g1(t,f),最后将全频带增益g1(t,f)与带噪语音频谱y1(t,f)进行相乘得到增强语音频谱x19t,f)。
[0075]
应当理解的是,目前主流的复数域下的dnn语音增强系统的一般流程为提取带噪语音的复数特征,将复数特征输入至基于cnn的编解码结构中,输出包含实部增益和虚部增益,最后采用复数域乘法得到增强语音频谱。其中,基于cnn的编解码结构通常采用跳连接的方式进行特征融合,编解码结构中间有时也会加上循环神经网络来学习时序信息。然而,在实际嵌入式系统中,上述方案是难以实施的,主要存在以下问题:复数特征输入、复数掩码输出的方式很依赖网络的学习能力,通常网络需要设计的比较复杂;虽然cnn自身的共享权重的特性使得参数量较少,但是其复用卷积核的计算方式使得系统运算复杂度很高。通常,减少输入特征维度和设计简单的网络结构这两种方式可以极大的减少网络复杂度,但也伴随性能不佳的问题。而本实施例设计的两阶段降噪网络可有效解决这些问题,且该两阶段降噪网络具有以下特点:复杂度极低;可以有效提高语音质量和语音可懂度;结构简单,设计灵活;可人为调节系统降噪深度。
[0076]
基于上述本技术实施例的技术方案,将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;将对应于目标语音的第二频域特征以及第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;其中,第二频域特征为复数特征,第二频带增益包括实部增益和虚部增益;对第一频带增益、第二频带增益以及目标语音频谱进行运算,得到增强语音。通过本技术方案的实施,分别将对应于目标语音的第一频域特征以及第二频域特征输入至两个神经网络模型,再对两个神经网络模型输出的频
带增益以及目标语音频谱进行运算,即可得到增强语音,多阶段的增强处理以及输出复数增益可有效降低网络结构的复杂度,提高语音的感知质量。
[0077]
图3中的方法为本技术第二实施例提供的一种细化的基于神经网络的语音增强方法,该基于神经网络的语音增强方法包括:
[0078]
步骤301、将对应于目标语音的第一频域特征输入至第一神经网络模型,得到第一频带增益。
[0079]
步骤302、根据目标语音频谱的频带信息,提取对应于各频带的第二频域特征。
[0080]
步骤303、将第二频域特征以及第一频带增益输入至第二神经网络模型中对应的子神经网络的各网络子层,得到对应于网络子层的中间参数。
[0081]
步骤304、依次将子神经网络中上一网络层输出的各中间参数进行拼接后输入至下一网络层,得到第二频带增益。
[0082]
步骤305、将各第二频带增益进行拼接,得到第三频带增益。
[0083]
步骤306、对第一频带增益与目标语音频谱进行运算,得到第一增强语音频谱。
[0084]
步骤307、将第三频带增益与第一增强语音频谱进行复数域的乘法运算,得到第二增强语音频谱。
[0085]
步骤308、对第二增强语音频谱进行反傅里叶变换,得到增强语音。
[0086]
具体的,在本实施例中,第二神经网络模型采用的是分频带结合网络层分组的网络结构。例如在语音频率为16khz、fft点数为512的条件下,该网络结构如图4所示,第一神经网络模型输入的低维度特征为fbank,第二神经网络模型输入的高维度特征为lps,fbank在经过线性网络层和gru网络层后输出频带增益gb(t,f),第二神经网络模型采用分频分组的网络结构,输入为频带增益gb(t,f)以及lps特征,其中,线性网络层和gru网络层的分组数量均为2,第二神经网络模型输出的是复数增益,也即实部增益gr(t,f)和虚部增益gi(t,f),括号中的数字表示节点数量。
[0087]
应当理解的是,本实施例中各步骤的序号的大小并不意味着步骤执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成唯一限定。
[0088]
基于本技术实施例的上述技术方案,将对应于目标语音的第一频域特征输入至第一神经网络模型,得到第一频带增益;根据目标语音频谱的频带信息,提取对应于各频带的第二频域特征;将第二频域特征输入至第二神经网络模型,得到第三频带增益;其中,第二神经网络模型中采用分频分组的网络设计方式;对第一频带增益与目标语音频谱进行运算,得到第一增强语音频谱;将第三频带增益与第一增强语音频谱进行复数域的乘法运算,得到第二增强语音频谱;对第二增强语音频谱进行反傅里叶变换,得到增强语音。通过本技术方案的实施,采用多阶段结合分频带分组的网络结构,在保证降噪效果的同时,还可有效降低基于深度神经网络的语音增强系统的复杂度。
[0089]
图5为本技术第三实施例提供的一种基于神经网络的语音增强装置,该基于神经网络的语音增强装置可应用于前述基于神经网络的语音增强方法。如图5所示,该基于神经网络的语音增强装置主要包括:
[0090]
第一处理模块501,用于将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;
[0091]
第二处理模块502,用于将对应于目标语音的第二频域特征以及第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;其中,第二频域特征为复数特征,第二频带增益包括实部增益和虚部增益;
[0092]
运算模块503,用于对第一频带增益、第二频带增益以及目标语音频谱进行运算,得到增强语音。
[0093]
在本实施例的一些实施方式中,第一处理模块具体用于:将对应于目标语音的第一频域特征输入至第一神经网络模型中第二网络层,输出第二中间参数;依次将上一第二网络层输出的第二中间参数输入至下一第二网络层,得到第一频带增益。
[0094]
在本实施例的一些实施方式中,第二处理模块具体用于:根据目标语音频谱的频带信息,提取对应于各频带的第二频域特征;根据预设的特征输入规则,分别将各第二频域特征以及第一频带增益输入至第二神经网络模型中对应的子神经网络,得到第三频带增益;将各第三频带增益进行拼接,得到第二频带增益。
[0095]
进一步地,在本实施例的一些实施方式中,第二处理模块还用于:将第二频域特征以及第一频带增益输入至第二神经网络模型中对应的子神经网络的各网络子层,得到对应于网络子层的第一中间参数;依次将上一第一网络层输出的各第一中间参数进行拼接后输入至下一第一网络层,得到第三频带增益。
[0096]
在本实施例的一些实施方式中,运算模块具体用于:对第一频带增益与目标语音频谱进行运算,得到第一增强语音频谱;将第二频带增益与第一增强语音频谱进行复数域的乘法运算,得到第二增强语音频谱;对第二增强语音频谱进行反傅里叶变换,得到增强语音。
[0097]
进一步地,在本实施例的一些实施方式中,运算模块还用于:对第一频带增益进行线性插值,得到第四频带增益;将第四频带增益与目标语音频谱进行相乘,得到第一增强语音频谱。
[0098]
应当说明的是,前述实施例中的基于神经网络的语音增强方法均可基于本实施例提供的基于神经网络的语音增强装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的基于神经网络的语音增强装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0099]
基于本技术上述实施例的技术方案,将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;将对应于目标语音的第二频域特征以及第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;其中,第二频域特征为复数特征,第二频带增益包括实部增益和虚部增益;对第一频带增益、第二频带增益以及目标语音频谱进行运算,得到增强语音。通过本技术方案的实施,分别将对应于目标语音的第一频域特征以及第二频域特征输入至两个神经网络模型,再对两个神经网络模型输出的频带增益以及目标语音频谱进行运算,即可得到增强语音,多阶段的增强处理以及输出复数增益可有效降低网络结构的复杂度,提高语音的感知质量。
[0100]
图6为本技术第四实施例提供的一种电子设备,该电子设备可用于实现前述实施例中的基于神经网络的语音增强方法,主要包括:
[0101]
存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序603,存储器601和处理器602通过通信连接。处理器602执行该计算机程序603时,实现前
述实施例一或二中的方法。其中,处理器的数量可以是一个或多个。
[0102]
存储器601可以是高速随机存取记忆体(ram,random access memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器601用于存储可执行程序代码,处理器602与存储器601耦合。
[0103]
进一步地,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述电子设备中,该计算机可读存储介质可以是前述图6所示实施例中的存储器。
[0104]
该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的基于神经网络的语音增强方法。进一步地,该计算机可存储介质还可以是u盘、移动硬盘、只读存储器(rom,read-only memory)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0105]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0106]
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0107]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0108]
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0109]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
[0110]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0111]
以上为对本技术所提供的基于神经网络的语音增强方法、装置、设备及介质的描述,对于本领域的技术人员,依据本技术实施例的思想,在具体实施方式及应用范围上均会
有改变之处,综上,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种基于神经网络的语音增强方法,其特征在于,包括:将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;将对应于目标语音的第二频域特征以及所述第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;其中,所述第二频域特征为复数特征,所述第二频带增益包括实部增益和虚部增益;对所述第一频带增益、所述第二频带增益以及目标语音频谱进行运算,得到增强语音。2.根据权利要求1所述的基于神经网络的语音增强方法,其特征在于,所述第二神经网络模型包括多个子神经网络;每个所述子神经网络包括多个第一网络层;所述第一网络层包括多个网络子层;所述将对应于目标语音的第二频域特征以及所述第一频带增益输入至第二神经网络模型,得到第二频带增益的步骤,包括:根据所述目标语音频谱的频带信息,提取对应于各频带的第二频域特征;根据预设的特征输入规则,分别将各所述第二频域特征以及所述第一频带增益输入至第二神经网络模型中对应的所述子神经网络,得到第三频带增益;将各所述第三频带增益进行拼接,得到第二频带增益。3.根据权利要求2所述的基于神经网络的语音增强方法,其特征在于,所述分别将各所述第二频域特征以及所述第一频带增益输入至第二神经网络模型中对应的所述子神经网络,得到第三频带增益的步骤,包括:将所述第二频域特征以及所述第一频带增益输入至第二神经网络模型中对应的所述子神经网络的各所述网络子层,得到对应于所述网络子层的第一中间参数;依次将上一所述第一网络层输出的各所述第一中间参数进行拼接后输入至下一所述第一网络层,得到第三频带增益。4.根据权利要求1所述的基于神经网络的语音增强方法,其特征在于,所述第一神经网络模型的损失函数表示为:l=αl
mse
+(1-α)l
speechspeech
其中,l为所述第一神经网络模型的损失函数,α为语音保留的控制因子,l
mse
为均方误差损失函数,l
speech
为语音保留损失函数,t为所述目标语音的时间,f为所述目标语音的频率,t为总的时间点数,f为总的频率点数,x(t,f)为参考增强语音的时频表示,g(t,f)为时频增益,y(t,f)为所述目标语音的时频表示。5.根据权利要求1所述的基于神经网络的语音增强方法,其特征在于,所述第一神经网络模型包括多个第二网络层;所述将对应于目标语音的第一频域特征输入至第一神经网络模型,得到第一频带增益的步骤包括:
将对应于目标语音的第一频域特征输入至第一神经网络模型中所述第二网络层,输出第二中间参数;依次将上一所述第二网络层输出的所述第二中间参数输入至下一所述第二网络层,得到第一频带增益。6.根据权利要求1所述的基于神经网络的语音增强方法,其特征在于,所述对所述第一频带增益、所述第二频带增益以及目标语音频谱进行运算,得到增强语音的步骤,包括:对所述第一频带增益与目标语音频谱进行运算,得到第一增强语音频谱;将所述第二频带增益与所述第一增强语音频谱进行复数域的乘法运算,得到第二增强语音频谱;对所述第二增强语音频谱进行反傅里叶变换,得到增强语音。7.根据权利要求6所述的基于神经网络的语音增强方法,其特征在于,所述对所述第一频带增益与目标语音频谱进行运算,得到第一增强语音频谱的步骤,包括:对所述第一频带增益进行线性插值,得到第四频带增益;将所述第四频带增益与目标语音频谱进行相乘,得到第一增强语音频谱。8.一种基于神经网络的语音增强装置,其特征在于,包括:第一处理模块,用于将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;第二处理模块,用于将对应于目标语音的第二频域特征以及所述第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;其中,所述第二频域特征为复数特征,所述第二频带增益包括实部增益和虚部增益;运算模块,用于对所述第一频带增益、所述第二频带增益以及目标语音频谱进行运算,得到增强语音。9.一种电子设备,其特征在于,包括存储器及处理器,其中:所述处理器用于执行存储在所述存储器上的计算机程序;所述处理器执行所述计算机程序时,实现权利要求1至7中任意一项所述方法中的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7中的任意一项所述方法中的步骤。

技术总结
本申请提供了一种基于神经网络的语音增强方法、装置、设备及介质。所述方法包括:将对应于目标语音的第一频域特征输入至第一神经网络模型进行处理,得到第一频带增益;将对应于目标语音的第二频域特征以及第一频带增益输入至第二神经网络模型进行处理,得到第二频带增益;对第一频带增益、第二频带增益以及目标语音频谱进行运算,得到增强语音。通过本申请方案的实施,分别将对应于目标语音的第一频域特征以及第二频域特征输入至两个神经网络模型,再对两个神经网络模型输出的频带增益以及目标语音频谱进行运算,即可得到增强语音,可有效降低网络结构的复杂度,提高语音的感知质量。质量。质量。


技术研发人员:欧阳康 郑能恒
受保护的技术使用者:深圳大学
技术研发日:2023.02.01
技术公布日:2023/7/19
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐