1.本技术涉及通信技术领域,尤其涉及一种语音增强方法、装置及电子设备。
背景技术:2.语音通常情况下容易受到环境噪声的干扰而使通话质量下降,随着科学技术的发展,越来越多的语音增强技术能够对语音进行加强处理,抑制噪声。
3.传统的语音增强技术为单通道的无监督语音增强技术,随着深度学习的发展,一些深度学习网络被用来增强语音,通常使用生成对抗网络、条件生成对抗网络、语音增强生成对抗网络等,采用全卷积结构,直接对原始音频进行处理,无需手动提取特征。
4.但是,使用生成对抗网络进行训练的语音,容易出现模式崩塌的情况,并且非线性拟合能力差,对非平稳噪声的语音增强效果还有待完善。
技术实现要素:5.本技术提供一种语音增强方法、装置及电子设备,用以提高非平稳噪声环境下的语音增强效果。
6.第一方面,本技术提供一种语音增强方法,包括:
7.使用已训练的生成器中的编码模块对输入语音数据进行处理,输出编码后的语音数据;其中,编码模块包括第1级卷积层和多层依次级联的残差网络;
8.使用已训练的生成器中的解码模块对编码后的语音数据进行解码处理,输出增强后的语音数据。
9.可选地,使用已训练的生成器中的编码模块对输入语音数据进行处理,输出编码后的语音数据,具体包括:
10.使用第1级卷积层对输入语音数据进行处理,输出第1级语音编码数据;
11.使序号i从1以单位步长逐渐增加到(n-1),每次增加时使用第i级残差网络对第i级语音编码数据进行处理,输出第i+1级语音编码数据;
12.其中,i为正整数,1≤i≤(n-1),编码后的语音数据包括第1级语音编码数据到最后一级语音编码数据。
13.可选地,使用第i级残差网络对第i级语音编码数据进行处理,输出第i+1级语音编码数据,具体包括:
14.第i级残差网络包括第i+1级卷积层、第1残差卷积层、第2残差卷积层以及第3残差卷积层;
15.使用第i+1级卷积层对第i级语音编码数据进行处理,输出第1个第i+1级中间数据;
16.使用第1残差卷积层对第1个第i+1级中间数据进行处理,输出第2个第i+1级中间数据;
17.使用第2残差卷积层对第2个第i+1级中间数据进行处理,输出第3个第i+1级中间
数据;
18.使用第3残差卷积层对第1个第i+1级中间数据进行处理,输出第4个第i+1级中间数据;
19.使用线性整流函数对第3个第i+1级中间数据和第4个第i+1级中间数据进行处理,输出第i+1级语音编码数据。
20.可选地,使用已训练的生成器中解码模块对编码后的语音数据进行解码处理,输出增强后的语音数据,具体包括:
21.使用噪声向量与最后一级语音编码数据进行计算输出第n级语音解码数据;
22.使序号j从n以单位步长逐渐减少到2,使用第j级反卷积层对第j级语音解码数据和第1个第j级中间数据进行处理,输出第j-1级语音解码数据;
23.使用第1级反卷积层对第1级语音解码数据和第1级语音解码数据进行处理,输出增强后的语音数据。
24.可选地,第i级卷积层的卷积核尺寸大于第i+1级卷积层的卷积核。
25.可选地,在使用生成器的解码模块对编码后的语音数据进行解码处理,输出增强后的语音数据之后,方法包括:
26.对增强后的语音数据进行滤波处理,输出再次增强后的语音数据。
27.第二方面,本技术提供一种语音增强装置,包括:
28.编码模块,用于通过使用已训练的生成器中的编码模块对输入语音数据进行处理,输出编码后的语音数据;其中,编码模块包括第1级卷积层和多层依次级联的残差网络;
29.可选地,语音增强装置,还包括:
30.解码模块,用于通过使用已训练的生成器中的解码模块对编码后的语音数据进行解码处理,输出增强后的语音数据。
31.第三方面,本技术提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
32.存储器存储计算机执行指令;
33.处理器执行存储器存储的计算机执行指令,以实现如上第一方面所涉及的方法。
34.第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上第一方面所涉及的方法。
35.本技术提供的一种语音增强方法、装置及电子设备,基于语音增强的生成对抗网络,将残差网络加入语音增强的生成对抗网络的卷积中,使每一个带噪语音信号在经过语音增强的生成对抗网络的卷积计算后,继续经过残差网络的卷积计算,加快收敛速度,防止特征丢失,之后使用维纳滤波的方法与加入残差网络的语音增强的生成对抗网络结合,有效去除语音信号中的长段带噪语音信号,并使用小批梯度下降法优化训练算法,增强语音信号的去噪效果。
附图说明
36.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
37.图1为本技术实施例提供的一种传统单通道算法的流程图;
38.图2为本技术实施例提供的一种语音信号增强技术的原理图;
39.图3为本技术实施例提供的一种语音增强生成对抗网络训练流程图;
40.图4为本技术实施例提供的一种维纳滤波增强语音信号的示意图;
41.图5为本技术实施例提供的一种语音增强方法的流程图;
42.图6为本技术实施例提供的一种语音增强方法的流程图;
43.图7为本技术实施例提供的一种判别网络的结构示意图;
44.图8为本技术实施例提供的一种语音增强方法的流程图;
45.图9为本技术实施例提供的一种语音增强信号客观语音质量的对比示意图;
46.图10为本技术实施例提供的一种语音增强信号信噪比的对比示意图;
47.图11为本技术实施例提供的一种语音增强装置的结构示意图;
48.图12为本技术实施例提供的一种电子设备的结构示意图。
49.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
50.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
51.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
52.语音增强方法基于深度学习算法,在深度学习算法尚未成熟时,单通道语音增强是运用的传统无监督学习的硬件滤波的方法,例如基于模型的,基于滤波器的等。这些传统的方法大多数都已十分成熟,也是目前工业上用于前端去噪的常用方法,目前使用基于维纳滤波降噪算法的有经典的webrtc(web real-time communication,网页即时通信),用来进行回声消除。
53.其中,图1为本技术实施例提供的一种传统单通道算法的流程图,单通道的无监督语音增强技术作为传统的滤波方法,其基本步骤如图1所示。首先进行分帧,计算短时傅里叶变换;再运用最小值跟踪算法、时间递归平均算法、基于直方图的技术等估计噪声;然后计算后验信噪比,再根据后验信噪比运用最大似然法、判决引导法等估计先验信噪比;根据不同的除噪方法如谱减法、维纳滤波、mmse、log-mmse等计算增益函数计算噪声存在的概率;最后将增益函数与输入带噪信号频谱相乘,作反向快速傅里叶变换得到增强语音信号的估计。
54.对于语音增强的方法,其中信号去噪的主要技术原理是一致的,图2为本技术实施例提供的一种语音信号增强技术的原理图,如图2所示。纯净信号、干扰信号和背景噪声信
号共同输入系统进行处理,进入信道后,同传输噪声一起实现音频信号的去噪处理,最终得到去噪信号。
55.随着通讯技术和人工智能技术的迅猛发展,原有的传统语音去噪方法已无法满足市场应用需求,学者们开始研究如何运用深度神经网络进行语音去噪。最早出现的当属基于全连接深度神经网络(fully connected deep neural network)语音增强算法,成功之后不断有学者们尝试其他网络,其中包含全连接神经网络(fully connected neural networks,fcnn)、卷积神经网络(convolutional neural networks,cnn)、全卷积神经网络(full convolutional neural networks,fcnn)、扩大卷积神经网络(scaling up convolutional neural networks)、循环神经网络(recurrent neural network)、长短期记忆(long short term memory,lstm)、生成对抗网络(generative adversarial network,gan)、条件生成对抗网络(conditional generation adversarial network,cgan)等各种各样的网络。
56.其中,lan goodfellow提出了生成对抗网络(gan)。生成对抗网络的运用非常灵活,主要用在计算机视觉领域,可以用于生成像素级的图像,图像超分辨率,图形转换以及样本生成、转换领域。lan goodfellow从博弈论中的零和博弈得到启发,以生成器为整个网络的雏形,运用极大极小原理进行判别,生成器和判别器都是函数,使用深层神经网络来实现,最终使生成器在随机噪声z中得到真实数据。
57.gan模型架构十分灵活,适用范围非常广,其概念被提出以后,各领域研究者探究它的衍生变体,至今已有超100种拓展模型架构。例如条件生成对抗网络(conditional generation adversarial networks,cgan),它不是像gan那样输入噪声信息,从一个未知的分布开始学习如何生成样本,而是通过一个特定约束条件或者某些特征开始学习;最小误差生成对抗网络(least squares generation adversarial networks,lsgan),可实现最小均方误差下的生成对抗模型。
58.santiago在生成对抗网络的基础上提出了语音增强生成对抗网络(segan),成功将生成对抗网络应用到了语音去噪领域。该模型采用全卷积结构,采取端到端的方法直接对原始音频进行处理,无需手工提取特征,也不存在类似rnn网络那样的递归操作,可以直接对波形进行快速增强处理。
59.图3为本技术实施例提供的一种语音增强生成对抗网络训练流程图,如图3所示,其中,干净信号311和噪声信号312输入到第一组判别器31,判别结果为真实信号;噪声信号312和经过去噪后的增强信号321输入到第二组判别器32,判别结果为虚假信号;噪声信号312和经过去噪后的增强信号321输入到第三组判别器33,若判别器判断为真实信号,则将信号反馈给生成器,提取噪声的特征,促进更好的去除噪声。其中,一对真实的信号由干净信号311和噪声信号312组成,一对虚假的信号由噪声信号312和经过去噪后的增强信号321组成。
60.另外,segan将gan的目标函数做了一些改动,如下式所示:
[0061][0062]
其中,包括增加一些额外输入执行映射和分类,使得训练更加稳定,有效防止模式崩塌。
[0063]
为解决sigmoid交叉熵损失而导致梯度消失的问题,提高生成样本的质量,lsgan
方法用最小二乘函数替换为二进制编码,用来计算交叉熵损失。而segan在lsgan的基础上,又做了一些改动,segan中生成器和判决器的损失函数计算公式为:
[0064][0065]
其中,segan在生成器g的损失计算公式中加入一个二次分量,并用l1范数来测量生成数据与原始数据的距离,实验表明这样的改变是有效的。
[0066]
在非平稳噪声环境下,传统的方法中维纳滤波方法对语音增强的综合效果较好,但是,它的缺点也比较明显,例如它对非平稳噪声的抑制能力很弱,容易造成语音失真,且在语音环境失配的条件下效果飞速下降。图4为本技术实施例提供的一种维纳滤波增强语音信号的示意图,如图4所示,在语音环境失配条件下,维纳滤波方法进行语音增强容易造成语音幅度的大幅降低,在人耳听觉系统听来,就是音量的降低。
[0067]
本技术的发明构思是:通过将残差网络加入语音增强生成对抗网络的卷积中,使用生成器中的卷积层和多层残差网络对带噪语音进行编码,并通过生成器对编码后的语音数据进行解码,获得增强后的语音,通过直接在原始语音信号层面进行操作,将语音增强看作是带噪语音信号到干净语音信号的恒等映射与学习,加快网络的收敛速度,防止特征丢失,提升增强效果,并结合维纳滤波去除长段的噪声信号,使用小批梯度下降算法优化训练数据,增强噪声特征提取的有效性。
[0068]
图5为本技术实施例提供的一种语音增强方法的流程图,如图5所示,该语音增强方法包括如下步骤:
[0069]
s51、输入带噪语音。
[0070]
更具体地,将带噪语音输入到已训练的生成器中。
[0071]
s52、生成器中的编码模块对输入语音数据进行编码。
[0072]
更具体地,使用已训练的生成器中的编码模块对输入语音数据进行处理,输出编码后的语音数据,其中,编码模块包括第1级卷积层和多层依次级联的残差网络。首先将带噪语音输入至已训练生成器中的第1级卷积层,使用第1级卷积层对输入的语音数据进行卷积核大小为l/2且每层的内核/通道数为k1的卷积处理,输出第1级语音编码数据;将第1级卷积层输出的第1级语音编码数据输入至第2级卷积层,从第2级卷积层开始,加入多层依次级联的残差网络。其中,级联为使用残差网络中的多个卷积共同对生成器卷积层输出的结果进行处理。
[0073]
例如:在使用残差网络时,生成器的第1级卷积层经过卷积核大小为l/2且每层的内核/通道数为k1的卷积处理后输出第1级语音编码数据,将第1级语音编码数据输入到第1级残差网络中,经过卷积核大小为l/4且每层的内核/通道数为k2的卷积和残差卷积层处理输出第2级语音编码数据,将第2级语音编码数据输入到残差网络级联的第2级残差网络中,经过卷积核大小为l/8且每层的内核/通道数为k3的卷积和残差卷积层处理输出第3级语音编码数据,按照残差网络级数以此类推,经过卷积核大小为l/m且每层的内核/通道数为kn的卷积和残差卷积层处理,最终输出第n级语音编码数据。
[0074]
图6为本技术实施例提供的一种语音增强方法的流程图,如图6所示,步骤s52中级
联残差网络对语音编码数据进行处理的方法具体为:
[0075]
s521、第1级残差网络对第1级语音编码数据进行处理。
[0076]
更具体地,在语音增强生成对抗网络的第2级卷积层起,每一级卷积层中均加入残差网络,即在第2级卷积层中加入第1级残差网络,在第3级卷积层中加入第2级残差网络,在第4级卷积层中加入第3级残差网络,以此类推,在第i+1级卷积层中加入第i级残差网络,使序号i从1以单位步长逐渐增加到(n-1),每次增加时使用第i级残差网络对第i级语音编码数据进行处理,输出第i+1级语音编码数据,在第n级卷积层中加入第(n-1)级残差网络,以1级卷积层和(n-1)级残差网络形成的共n级卷积层的生成器。其中,i为正整数,1≤i≤(n-1),表示为残差网络的级数,编码后的语音数据包括第1级语音编码数据到最后一级语音编码数据。
[0077]
其中,第i级残差网络包括第i+1级卷积层、第1残差卷积层、第2残差卷积层以及第3残差卷积层。
[0078]
第1级残差网络对第1级语音编码数据进行处理,输出第2级语音编码数据。更具体地,使用第2级卷积层对第1级语音编码数据进行卷积核大小为l/4且每层的内核/通道数为k2的卷积处理,输出第1个第2级中间数据;使用第1级残差网络的第1残差卷积层对第1个第2级中间数据进行卷积核大小为32且卷积步长为2的卷积处理,输出第2个第2级中间数据;使用第1级残差网络的第2残差卷积层对第2个第2级中间数据进行卷积核大小为31且卷积步长为1的卷积处理,输出第3个第2级中间数据;使用第1级残差网络的第3残差卷积层对第3个第2级中间数据进行卷积核大小为12且卷积步长为2的卷积处理,输出第4个第2级中间数据;使用线性整流函数对第3个第2级中间数据和第4个第2级中间数据进行处理,输出第2级语音编码数据。
[0079]
s522、第2级残差网络对第2级语音编码数据进行处理。
[0080]
更具体地,第2级残差网络对第2级语音编码数据进行处理,输出第3级语音编码数据。将第1级残差网络输出的第2级语音编码数据输入至第2级残差网络,使用第3级卷积层对第2级语音编码数据进行卷积核大小为l/8且每层的内核/通道数为k3的卷积处理,输出第1个第3级中间数据;使用第2级残差网络的第1残差卷积层对第1个第3级中间数据进行卷积核大小为32且卷积步长为2的卷积处理,输出第2个第3级中间数据;使用第2级残差网络的第2残差卷积层对第2个第3级中间数据进行卷积核大小为31且卷积步长为1的卷积处理,输出第3个第3级中间数据;使用第2级残差网络的第3残差卷积层对第3个第3级中间数据进行卷积核大小为12且卷积步长为2的卷积处理,输出第4个第3级中间数据;使用线性整流函数对第3个第3级中间数据和第4个第3级中间数据进行处理,输出第3级语音编码数据。
[0081]
s523、第3级残差网络对第3级语音编码数据进行处理。
[0082]
更具体地,第3级残差网络对第3级语音编码数据进行处理,输出第4级语音编码数据。将第2级残差网络输出的第3级语音编码数据输入至第3级残差网络,使用第3级卷积层对第3级语音编码数据进行卷积核大小为l/16且每层的内核/通道数为k4的卷积处理,输出第1个第4级中间数据;使用第3级残差网络的第1残差卷积层对第1个第4级中间数据进行卷积核大小为32且卷积步长为2的卷积处理,输出第2个第4级中间数据;使用第3级残差网络的第2残差卷积层对第2个第4级中间数据进行卷积核大小为31且卷积步长为1的卷积处理,输出第3个第4级中间数据;使用第3级残差网络的第3残差卷积层对第3个第4级中间数据进
行卷积核大小为12且卷积步长为2的卷积处理,输出第4个第4级中间数据;使用线性整流函数对第3个第4级中间数据和第4个第4级中间数据进行处理,输出第4级语音编码数据。
[0083]
s524、第i-1级残差网络对第i-1级语音编码数据进行处理。
[0084]
更具体地,第i-1级残差网络对第i-1级语音编码数据进行处理,输出第i级语音编码数据。将第i-2级残差网络输出的第i-1级语音编码数据输入至第i-1级残差网络,使用第i级卷积层对第i-1级语音编码数据进行卷积核大小为l/(mx2)且每层的内核/通道数为k(n-1)的卷积处理,输出第1个第i级中间数据;使用第i-1级残差网络的第1残差卷积层对第1个第i级中间数据进行卷积核大小为32且卷积步长为2的卷积处理,输出第2个第i级中间数据;使用第i-1级残差网络的第2残差卷积层对第2个第i级中间数据进行卷积核大小为31且卷积步长为1的卷积处理,输出第3个第i级中间数据;使用第i-1级残差网络的第3残差卷积层对第3个第i级中间数据进行卷积核大小为12且卷积步长为2的卷积处理,输出第4个第i级中间数据;使用线性整流函数对第3个第i级中间数据和第4个第i级中间数据进行处理,输出第i级语音编码数据。
[0085]
s525、第i级残差网络对第i级语音编码数据进行处理。
[0086]
更具体地,第i级残差网络对第i级语音编码数据进行处理,输出第i+1级语音编码数据。将第i-1级残差网络输出的第i级语音编码数据输入至第i级残差网络,使用第i+1级卷积层对第i级语音编码数据进行卷积核大小为l/m且每层的内核/通道数为kn的卷积处理,输出第1个第i+1级中间数据,即第1个第n级中间数据;使用第i级残差网络的第1残差卷积层对第1个第i+1级中间数据进行卷积核大小为32且卷积步长为2的卷积处理,输出第2个第i+1级中间数据;使用第i级残差网络的第2残差卷积层对第2个第i+1级中间数据进行卷积核大小为31且卷积步长为1的卷积处理,输出第3个第i+1级中间数据;使用第i级残差网络的第3残差卷积层对第3个第i+1级中间数据进行卷积核大小为12且卷积步长为2的卷积处理,输出第4个第i+1级中间数据;使用线性整流函数对第3个第i+1级中间数据和第4个第i+1级中间数据进行处理,输出第i+1级语音编码数据,即输出第n级生成器的语音编码数据。其中,第i级卷积层的卷积核尺寸大于第i+1级卷积层的卷积核。
[0087]
s53、生成器中的解码模块对编码后的语音数据进行解码。
[0088]
更具体地,解码模块包括噪声向量z、最后一级语音编码数据的压缩特征向量集c和n级反卷积,其中,噪声向量z是潜在空间随机采样的随机噪声样本z1进行均匀分布采样后得到的。使用噪声向量与最后一级语音编码数据的压缩特征向量集进行向量相加后计算输出第n级语音解码数据,使序号j从n以单位步长逐渐减少到2,使用第j级反卷积层对第j级语音解码数据和第1个第j级中间数据进行处理,输出第j-1级语音解码数据,其中,第1个第j级中间数据与第j级反卷积层实现了卷积层和反卷积层间的跳跃连接,残差网络的加入使原先的“对称”连接改为每间隔多个卷积层进行一次跳跃连接。
[0089]
例如:第n级语音解码数据和第1个第n级中间数据输入至第n级反卷积层,经过卷积核大小为l/m且每层的内核/通道数为kn的反卷积处理,输出第j级语音解码数据;第j级反卷积层对第j级语音解码数据和第1个第j级中间数据进行反卷积处理,输出第j-1级语音解码数据;第3级反卷积层对第3级语音解码数据和第1个第3级中间数据进行卷积核大小为l/8且每层的内核/通道数为k3的反卷积处理,输出第2级语音解码数据;第2级反卷积层对第2级语音解码数据和第1个第2级中间数据进行卷积核大小为l/4且每层的内核/通道数为
k2的反卷积处理,输出第1级语音解码数据;第1级反卷积层对第1级语音解码数据和第1级语音编码数据进行卷积核大小为l/2且每层的内核/通道数为k1的反卷积处理,输出增强后的语音数据。
[0090]
s54、输出增强语音。
[0091]
更具体地,输出增强语音数据,输出增强语音数据后还可以对增强的语音数据进行判别。
[0092]
例如:图7为本技术实施例提供的一种判别网络的结构示意图,如图7所示,可将纯净语音、带噪语音或增强后的语音对输入至判别器,当纯净语音输入判别器中,依次经过卷积核大小为l/2且每层的内核/通道数为k1、卷积核大小为l/4且每层的内核/通道数为k2、卷积核大小为l/3且每层的内核/通道数为k3依次至卷积核大小为l/m且每层的内核/通道数为kn的级联卷积,得到判决输出为真实信号的结果,其中,m=2n;当带噪语音输入判别器中,依次经过卷积核大小为l/2且每层的内核/通道数为k1、卷积核大小为l/4且每层的内核/通道数为k2、卷积核大小为l/3且每层的内核/通道数为k3依次至卷积核大小为l/m且每层的内核/通道数为kn的级联卷积,得到判决输出为虚假信号的结果;当增强后的语音输入判别器中,依次经过卷积核大小为l/2且每层的内核/通道数为k1、卷积核大小为l/4且每层的内核/通道数为k2、卷积核大小为l/3且每层的内核/通道数为k3依次至卷积核大小为l/m且每层的内核/通道数为kn的级联卷积,得到判决输出可能为真实信号也可能为虚假信号的结果。
[0093]
在本技术实施例提供的语音增强方法中,通过在生成器的第2个卷积层起均加入依次级联的残差网络,经过残差网络中的一级卷积层和三层残差卷积层对语音数据进行逐级编码,通过增加卷积层数加快收敛速度和特征传播,防止特征的丢失,通过增加跳跃连接跳跃的卷积层数,缓解梯度消失的问题,提高网络在非平稳噪声环境下的非线性拟合能力,从而提升对语音增强的效果。
[0094]
图8为本技术实施例提供的一种语音增强方法的流程图,如图8所示,该语音增强方法包括如下步骤:
[0095]
s801、准备数据集。
[0096]
更具体地,数据集包括训练集和测试集。其中,训练集中的干净信号为timit语料库中的3000个句子,采用随机抽取的方法取80%,即2400个用作训练集,其余600个用作测试集;训练集中的噪声信号使用汪德亮实验室公开的噪声库nonspeech,此噪声集共有100种噪声n1-n100,本发明中用到的噪声是前85种,共有9种常见的噪声类型,每种噪声信号选择一个作为测试集,共计9个用作测试所用噪声集,其余76个为训练所用噪声集。其中,数据集包含一一对应的干净音频文件和含噪音频文件的“音频对”,干净音频文件可以直接获取,而加噪信号需要在干净信号中添加各类噪声得到。本实施例中设置噪声信号的信噪比在-5到20之间,噪声类型为加性噪声,加性噪声表达式如下式所示:
[0097]
y=x+αni(4)
[0098]
其中,y表示含噪音频文件,x表示干净音频文件,α表示信噪比混合因子,ni表示第i类噪声音频。
[0099]
例如,9种常见的噪声类型分别为n1-n17:crowd noise(人群噪声);n18-n29:machine noise(机器噪声);n30-n43:alarm and siren(报警和警报噪声);n44-n46:
traffic and car noise(交通及汽车噪声);n47-n55:animal sound(动物噪声);n56-n69:water sound(水声);n70-n78:wind(风声);n79-n82:bell(钟鸣声);n83-n85:cough(咳嗽声)。
[0100]
s802、训练语音增强网络。
[0101]
更具体地,使用gtx1080ti显卡和python编辑器pycharm进行训练,在单个噪声环境下训练总时长为3.5小时左右,并在训练时使用小批梯度下降法进行算法优化。
[0102]
s803、固定权值。
[0103]
更具体地,固定训练好的语音增强网络的计算权值。
[0104]
s804、将测试集输入训练好的语音增强网络。
[0105]
更具体地,将测试集输入至训练好的语音增强网络中,使用固定好的计算权值处理带噪语音,得到增强后的语音数据。
[0106]
s805、对增强后的语音数据进行维纳滤波。
[0107]
更具体地,对增强后的语音数据进行维纳滤波,使用维纳滤波去除语音数据中的长段的噪声信号。
[0108]
s806、得到增强的语音信号。
[0109]
更具体地,经过维纳滤波后,得到最终的增强后的语音信号。
[0110]
图9和图10对本实施例中的语音增强方法与维纳滤波法、语音增强生成对抗网络方法的语音增强效果进行对比,其中,图9为本技术实施例提供的一种语音增强信号客观语音质量的对比示意图,如图9所示,三种处理方法均对带噪语音的语音质量提升有显著效果,但无论输入语音信号信噪比是大是小,在同等条件下,本实施例中的语音增强方法的客观语音质量提升最大;在低信噪比情况下,维纳滤波法得到的语音信号的听觉效果最差;在高信噪比情况下,语音增强生成对抗网络方法得到的语音信号的听觉效果最差。经过测试集测试知,本实施例的语音增强方法能将信号的客观语音质量值提高至2.5分以上,无论是低信噪比还是高信噪比环境,均比另外两种方法效果更显著。
[0111]
图10为本技术实施例提供的一种语音增强信号信噪比的对比示意图,如图10所示,在非平稳噪声环境下,无论输入信号为低信噪比还是高信噪比,相较于语音增强生成对抗网络方法以及维纳方法,本实施例的语音增强方法可将信号的信噪比提高更多。在训练集中没有叠加海浪声的带噪语音信号的情况下,输入snr=5.1的带有海浪噪声的语音信号进行测试,得到去噪后的信号snr=10.89,可见在测试数据和训练数据类型不一致时本实施例的语音增强方法也有一定的去噪效果。
[0112]
在本技术实施例提供的语音增强方法中,通过在语音增强生成对抗网络的卷积层中加入依次级联的残差网络,构建新的语音增强网络架构,提升非线性拟合能力,加强特征传播,使用小批梯度下降法对训练集的算法进行优化,并对经过新的语音增强网络处理后的语音增强数据进行维纳滤波,去除长时间段的噪音,得到最终的语音增强信号,进一步提升语音增强的效果。
[0113]
图11为本技术实施例提供的一种语音增强装置的结构示意图,如图11所示,该语音增强装置1100包括:
[0114]
编码模块1101,用于对输入语音数据进行处理,输出编码后的语音数据;其中,编码模块包括第1级卷积层和多层依次级联的残差网络;
[0115]
解码模块1102,用于对编码后的语音数据进行解码处理,输出增强后的语音数据。
[0116]
可选地,编码模块1101,还用于使用第1级卷积层对输入语音数据进行处理,输出第1级语音编码数据;
[0117]
使序号i从1以单位步长逐渐增加到(n-1),每次增加时使用第i级残差网络对第i级语音编码数据进行处理,输出第i+1级语音编码数据;
[0118]
其中,i为正整数,1≤i≤(n-1),编码后的语音数据包括第1级语音编码数据到最后一级语音编码数据。
[0119]
可选地,编码模块1101,还用于使用第i+1级卷积层对第i级语音编码数据进行处理,输出第1个第i+1级中间数据;
[0120]
使用第1残差卷积层对第1个第i+1级中间数据进行处理,输出第2个第i+1级中间数据;
[0121]
使用第2残差卷积层对第2个第i+1级中间数据进行处理,输出第3个第i+1级中间数据;
[0122]
使用第3残差卷积层对第1个第i+1级中间数据进行处理,输出第4个第i+1级中间数据;
[0123]
使用线性整流函数对第3个第i+1级中间数据和第4个第i+1级中间数据进行处理,输出第i+1级语音编码数据。
[0124]
可选地,解码模块1102,还用于使用噪声向量与最后一级语音编码数据进行计算输出第n级语音解码数据;
[0125]
使序号j从n以单位步长逐渐减少到2,使用第j级反卷积层对第j级语音解码数据和第1个第j级中间数据进行处理,输出第j-1级语音解码数据;
[0126]
使用第1级反卷积层对第1级语音解码数据和第1级语音解码数据进行处理,输出增强后的语音数据。
[0127]
其中,第i级卷积层的卷积核尺寸大于第i+1级卷积层的卷积核。
[0128]
可选地,语音增强装置还包括滤波模块1103,还用于对增强后的语音数据进行滤波处理,输出再次增强后的语音数据。
[0129]
如图12所示,本技术一实施例提供一种电子设备1200,电子设备1200包括存储器1201和处理器1202。
[0130]
其中,存储器1201用于存储处理器可执行的计算机指令;
[0131]
处理器1202在执行计算机指令时实现上述实施例中语音增强方法中的各个步骤。具体可以参见前述语音增强方法实施例中的相关描述。
[0132]
可选地,上述存储器1201既可以是独立的,也可以跟处理器1202集成在一起。当存储器1201独立设置时,该电子设备还包括总线,用于连接存储器1201和处理器1202。
[0133]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当处理器执行计算机指令时,实现上述实施例中语音增强方法中的各个步骤。
[0134]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的
权利要求书指出。
[0135]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。