一种语音处理方法、装置和用于处理语音的装置与流程

文档序号:30248487发布日期:2022-06-02 01:07阅读:252来源:国知局
一种语音处理方法、装置和用于处理语音的装置与流程

1.本技术实施例涉及计算机技术领域,具体涉及一种语音处理方法、装置和用于处理语音的装置。


背景技术:

2.随着计算机技术的发展,诸如智能音箱、录音笔等的语音交互产品越来越丰富。由于语音交互产品在接收语音信号的同时,也会接收到噪声和混响等信号,因而,为避免影响语音识别效果,通常需要从带有噪声、混响的语音中提取出目标语音(如较为纯净的语音)。
3.现有的方式,通常是直接将带噪语音的频谱输入至现有的降噪模型,得到降噪后的语音的频谱,之后基于所得到的降噪后的语音的频谱,合成目标语音。然而,由于在传输或录音过程中语音受设备限制,通常语音中的高低频信息不平衡(如高频信息失真严重),现有的降噪方式无法解决此问题,因而降噪后的语音的清晰度较低。


技术实现要素:

4.本技术实施例提出了一种语音处理方法、装置和用于处理语音的装置,以解决现有技术中因语音中的高低频信息不平衡导致降噪后的语音清晰度较低的技术问题。
5.第一方面,本技术实施例提供了一种语音处理方法,该方法包括:获取带噪语音在复数域下的第一频谱;对所述第一频谱进行子带分解,得到复数域下的第一子带频谱;基于预先训练的降噪模型对所述第一子带频谱进行处理,得到所述带噪语音中的目标语音在复数域下的第二子带频谱;对所述第二子带频谱进行子带还原,得到复数域下的第二频谱;基于所述第二频谱,合成所述目标语音。
6.在一些实施例中,所述获取带噪语音在复数域下的第一频谱,包括:对带噪语音进行短时傅里叶变换,得到所述带噪语音在复数域下的第一频谱;以及,所述基于所述第二频谱,合成所述目标语音,包括:对所述第二频谱进行短时傅里叶变换的逆变换,得到所述目标语音。
7.在一些实施例中,所述对所述第一频谱进行子带分解,得到复数域下的第一子带频谱,包括:将所述第一频谱的频域划分为多个子带;按照划分的子带,对所述第一频谱进行分解,得到与划分的子带一一对应的第一子带频谱。
8.在一些实施例中,所述降噪模型基于深度复数卷积循环网络训练得到;其中,所述深度复数卷积循环网络包括复数域下的编码网络、复数域下的解码网络和复数域下的长短期记忆网络,所述编码网络和所述解码网络通过所述长短期记忆网络相连接;所述编码网络包括多层复数编码器,每层复数编码器包括复数卷积层、批标准化层和激活单元层;所述解码网络包括多层复数解码器,每层复数解码器包括复数反卷积层、批标准化层和激活单元层;所述编码网络中的复数编码器的层数与所述解码网络中的复数解码器的层数相同,所述编码网络中的复数编码器与所述解码网络中的反向顺序的复数解码器一一对应且相连接。
9.在一些实施例中,所述复数卷积层包括第一实部卷积核和第一虚部卷积核;以及,所述复数编码器用于执行如下操作:通过所述第一实部卷积核分别对所接收到的实部和虚部进行卷积,得到第一输出和第二输出,通过所述第一虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第三输出和第四输出;基于复数乘法规则,对所述第一输出、所述第二输出、所述第三输出和所述第四输出进行复数乘法运算,得到复数域下的第一运算结果;依次通过所述复数编码器中的批标准化层和激活单元层对所述第一运算结果进行处理,得到复数域下的编码结果,所述编码结果包括实部和虚部;将所述编码结果中的实部和虚部输入至下一层网络结构。
10.在一些实施例中,所述长短期记忆网络包括第一长短期记忆网络和第二长短期记忆网络;以及,所述长短期记忆网络用于执行如下操作:通过所述第一长短期记忆网络分别对最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第五输出和第六输出,并通过所述第二长短期记忆网络分别对所述最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第七输出和第八输出;基于复数乘法规则,对所述第五输出、所述第六输出、所述第七输出和所述第八输出进行复数乘法运算,得到复数域下的第二运算结果,所述第二运算结果包括实部和虚部;将所述第二运算结果中的实部和虚部输入至所述复数域下的解码网络中的第一层复数解码器。
11.在一些实施例中,所述复数反卷积层包括第二实部卷积核和第二虚部卷积核;以及,所述复数解码器用于执行如下操作:通过所述第二实部卷积核分别对所接收到的实部和虚部进行卷积,得到第九输出和第十输出,通过所述第二虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第十一输出和第十二输出;基于复数乘法规则,对所述第九输出、所述第十输出、所述第十一输出和所述第十二输出进行复数乘法运算,得到复数域下的第三运算结果;依次通过所述复数解码器中的批标准化层和激活单元层对所述第三运算结果进行处理,得到复数域下的解码结果,所述解码结果包括实部和虚部;在存在下一层复数解码器的情况下,将所述解码结果中的实部和虚部输入至所述下一层复数解码器。
12.在一些实施例中,所述深度复数卷积循环网络还包括短时傅里叶变换层和短时傅里叶逆变换层;以及,所述降噪模型通过如下步骤训练得到:获取语音样本集,其中,所述语音样本集中包括带噪语音样本,所述带噪语音样本由纯净语音样本和噪声合成;将所述带噪语音样本作为所述短时傅里叶变换层的输入,对所述短时傅里叶变换层输出的频谱进行子带分解,将子带分解后所得到的子带频谱作为所述编码网络的输入,将所述解码网络输出的频谱进行子带还原,将子带还原后所得到的频谱作为所述短时傅里叶逆变换层的输入,将所述纯净语音样本作为所述短时傅里叶逆变换层的输出目标,利用机器学习方法对所述深度复数卷积循环网络进行训练,得到降噪模型。
13.在一些实施例中,所述获取带噪语音在复数域下的第一频谱,包括:将所述带噪语音输入至预先训练的降噪模型中的短时傅里叶变换层,得到所述带噪语音在复数域下的第一频谱;以及,所述基于所述第二频谱,合成所述目标语音,包括:将所述第二频谱输入至所述降噪模型中的短时傅里叶逆变换层,得到所述目标语音。
14.在一些实施例中,所述基于预先训练的降噪模型对所述第一子带频谱进行处理,得到所述带噪语音中的目标语音在复数域下的第二子带频谱,包括:将所述第一子带频谱输入至预先训练的降噪模型中的所述编码网络,将所述降噪模型中的所述解码网络输出的
频谱作为所述带噪语音中的目标语音在复数域下的第二子带频谱。
15.在一些实施例中,在所述合成所述目标语音之后,该方法还包括:采用后滤波算法对所述目标语音进行滤波处理,得到增强后的目标语音。
16.第二方面,本技术实施例提供了一种语音处理装置,该装置包括:获取单元,用于获取带噪语音在复数域下的第一频谱;子带分解单元,用于对所述第一频谱进行子带分解,得到复数域下的第一子带频谱;降噪单元,用于基于预先训练的降噪模型对所述第一子带频谱进行处理,得到所述带噪语音中的目标语音在复数域下的第二子带频谱;子带还原单元,用于对所述第二子带频谱进行子带还原,得到复数域下的第二频谱;合成单元,用于基于所述第二频谱,合成所述目标语音。
17.在一些实施例中,所述获取单元,进一步用于:对带噪语音进行短时傅里叶变换,得到所述带噪语音在复数域下的第一频谱;以及,所述基于所述第二频谱,合成所述目标语音,包括:对所述第二频谱进行短时傅里叶变换的逆变换,得到所述目标语音。
18.在一些实施例中,所述子带分解单元,进一步用于:将所述第一频谱的频域划分为多个子带;按照划分的子带,对所述第一频谱进行分解,得到与划分的子带一一对应的第一子带频谱。
19.在一些实施例中,所述降噪模型基于深度复数卷积循环网络训练得到;其中,所述深度复数卷积循环网络包括复数域下的编码网络、复数域下的解码网络和复数域下的长短期记忆网络,所述编码网络和所述解码网络通过所述长短期记忆网络相连接;所述编码网络包括多层复数编码器,每层复数编码器包括复数卷积层、批标准化层和激活单元层;所述解码网络包括多层复数解码器,每层复数解码器包括复数反卷积层、批标准化层和激活单元层;所述编码网络中的复数编码器的层数与所述解码网络中的复数解码器的层数相同,所述编码网络中的复数编码器与所述解码网络中的反向顺序的复数解码器一一对应且相连接。
20.在一些实施例中,所述复数卷积层包括第一实部卷积核和第一虚部卷积核;以及,所述复数编码器用于执行如下操作:通过所述第一实部卷积核分别对所接收到的实部和虚部进行卷积,得到第一输出和第二输出,通过所述第一虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第三输出和第四输出;基于复数乘法规则,对所述第一输出、所述第二输出、所述第三输出和所述第四输出进行复数乘法运算,得到复数域下的第一运算结果;依次通过所述复数编码器中的批标准化层和激活单元层对所述第一运算结果进行处理,得到复数域下的编码结果,所述编码结果包括实部和虚部;将所述编码结果中的实部和虚部输入至下一层网络结构。
21.在一些实施例中,所述长短期记忆网络包括第一长短期记忆网络和第二长短期记忆网络;以及,所述长短期记忆网络用于执行如下操作:通过所述第一长短期记忆网络分别对最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第五输出和第六输出,并通过所述第二长短期记忆网络分别对所述最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第七输出和第八输出;基于复数乘法规则,对所述第五输出、所述第六输出、所述第七输出和所述第八输出进行复数乘法运算,得到复数域下的第二运算结果,所述第二运算结果包括实部和虚部;将所述第二运算结果中的实部和虚部输入至所述复数域下的解码网络中的第一层复数解码器。
22.在一些实施例中,所述复数反卷积层包括第二实部卷积核和第二虚部卷积核;以及,所述复数解码器用于执行如下操作:通过所述第二实部卷积核分别对所接收到的实部和虚部进行卷积,得到第九输出和第十输出,通过所述第二虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第十一输出和第十二输出;基于复数乘法规则,对所述第九输出、所述第十输出、所述第十一输出和所述第十二输出进行复数乘法运算,得到复数域下的第三运算结果;依次通过所述复数解码器中的批标准化层和激活单元层对所述第三运算结果进行处理,得到复数域下的解码结果,所述解码结果包括实部和虚部;在存在下一层复数解码器的情况下,将所述解码结果中的实部和虚部输入至所述下一层复数解码器。
23.在一些实施例中,所述深度复数卷积循环网络还包括短时傅里叶变换层和短时傅里叶逆变换层;以及,所述降噪模型通过如下步骤训练得到:获取语音样本集,其中,所述语音样本集中包括带噪语音样本,所述带噪语音样本由纯净语音样本和噪声合成;将所述带噪语音样本作为所述短时傅里叶变换层的输入,对所述短时傅里叶变换层输出的频谱进行子带分解,将子带分解后所得到的子带频谱作为所述编码网络的输入,将所述解码网络输出的频谱进行子带还原,将子带还原后所得到的频谱作为所述短时傅里叶逆变换层的输入,将所述纯净语音样本作为所述短时傅里叶逆变换层的输出目标,利用机器学习方法对所述深度复数卷积循环网络进行训练,得到降噪模型。
24.在一些实施例中,所述获取单元,进一步用于:将所述带噪语音输入至预先训练的降噪模型中的短时傅里叶变换层,得到所述带噪语音在复数域下的第一频谱;以及,所述合成单元,进一步用于:将所述第二频谱输入至所述降噪模型中的短时傅里叶逆变换层,得到所述目标语音。
25.在一些实施例中,所述降噪单元,进一步用于:将所述第一子带频谱输入至预先训练的降噪模型中的所述编码网络,将所述降噪模型中的所述解码网络输出的频谱作为所述带噪语音中的目标语音在复数域下的第二子带频谱。
26.在一些实施例中,该装置还包括:滤波单元,用于采用后滤波算法对所述目标语音进行滤波处理,得到增强后的目标语音。
27.第三方面,本技术实施例提供了一种用于处理语音的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:获取带噪语音在复数域下的第一频谱;对所述第一频谱进行子带分解,得到复数域下的第一子带频谱;基于预先训练的降噪模型对所述第一子带频谱进行处理,得到所述带噪语音中的目标语音在复数域下的第二子带频谱;对所述第二子带频谱进行子带还原,得到复数域下的第二频谱;基于所述第二频谱,合成所述目标语音。
28.在一些实施例中,所述获取带噪语音在复数域下的第一频谱,包括:对带噪语音进行短时傅里叶变换,得到所述带噪语音在复数域下的第一频谱;以及,所述基于所述第二频谱,合成所述目标语音,包括:对所述第二频谱进行短时傅里叶变换的逆变换,得到所述目标语音。
29.在一些实施例中,所述对所述第一频谱进行子带分解,得到复数域下的第一子带频谱,包括:将所述第一频谱的频域划分为多个子带;按照划分的子带,对所述第一频谱进行分解,得到与划分的子带一一对应的第一子带频谱。
30.在一些实施例中,所述降噪模型基于深度复数卷积循环网络训练得到;其中,所述深度复数卷积循环网络包括复数域下的编码网络、复数域下的解码网络和复数域下的长短期记忆网络,所述编码网络和所述解码网络通过所述长短期记忆网络相连接;所述编码网络包括多层复数编码器,每层复数编码器包括复数卷积层、批标准化层和激活单元层;所述解码网络包括多层复数解码器,每层复数解码器包括复数反卷积层、批标准化层和激活单元层;所述编码网络中的复数编码器的层数与所述解码网络中的复数解码器的层数相同,所述编码网络中的复数编码器与所述解码网络中的反向顺序的复数解码器一一对应且相连接。
31.在一些实施例中,所述复数卷积层包括第一实部卷积核和第一虚部卷积核;以及,所述复数编码器用于执行如下操作:通过所述第一实部卷积核分别对所接收到的实部和虚部进行卷积,得到第一输出和第二输出,通过所述第一虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第三输出和第四输出;基于复数乘法规则,对所述第一输出、所述第二输出、所述第三输出和所述第四输出进行复数乘法运算,得到复数域下的第一运算结果;依次通过所述复数编码器中的批标准化层和激活单元层对所述第一运算结果进行处理,得到复数域下的编码结果,所述编码结果包括实部和虚部;将所述编码结果中的实部和虚部输入至下一层网络结构。
32.在一些实施例中,所述长短期记忆网络包括第一长短期记忆网络和第二长短期记忆网络;以及,所述长短期记忆网络用于执行如下操作:通过所述第一长短期记忆网络分别对最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第五输出和第六输出,并通过所述第二长短期记忆网络分别对所述最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第七输出和第八输出;基于复数乘法规则,对所述第五输出、所述第六输出、所述第七输出和所述第八输出进行复数乘法运算,得到复数域下的第二运算结果,所述第二运算结果包括实部和虚部;将所述第二运算结果中的实部和虚部输入至所述复数域下的解码网络中的第一层复数解码器。
33.在一些实施例中,所述复数反卷积层包括第二实部卷积核和第二虚部卷积核;以及,所述复数解码器用于执行如下操作:通过所述第二实部卷积核分别对所接收到的实部和虚部进行卷积,得到第九输出和第十输出,通过所述第二虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第十一输出和第十二输出;基于复数乘法规则,对所述第九输出、所述第十输出、所述第十一输出和所述第十二输出进行复数乘法运算,得到复数域下的第三运算结果;依次通过所述复数解码器中的批标准化层和激活单元层对所述第三运算结果进行处理,得到复数域下的解码结果,所述解码结果包括实部和虚部;在存在下一层复数解码器的情况下,将所述解码结果中的实部和虚部输入至所述下一层复数解码器。
34.在一些实施例中,所述深度复数卷积循环网络还包括短时傅里叶变换层和短时傅里叶逆变换层;以及,所述降噪模型通过如下步骤训练得到:获取语音样本集,其中,所述语音样本集中包括带噪语音样本,所述带噪语音样本由纯净语音样本和噪声合成;将所述带噪语音样本作为所述短时傅里叶变换层的输入,对所述短时傅里叶变换层输出的频谱进行子带分解,将子带分解后所得到的子带频谱作为所述编码网络的输入,将所述解码网络输出的频谱进行子带还原,将子带还原后所得到的频谱作为所述短时傅里叶逆变换层的输入,将所述纯净语音样本作为所述短时傅里叶逆变换层的输出目标,利用机器学习方法对
所述深度复数卷积循环网络进行训练,得到降噪模型。
35.在一些实施例中,所述获取带噪语音在复数域下的第一频谱,包括:将所述带噪语音输入至预先训练的降噪模型中的短时傅里叶变换层,得到所述带噪语音在复数域下的第一频谱;以及,所述基于所述第二频谱,合成所述目标语音,包括:将所述第二频谱输入至所述降噪模型中的短时傅里叶逆变换层,得到所述目标语音。
36.在一些实施例中,所述基于预先训练的降噪模型对所述第一子带频谱进行处理,得到所述带噪语音中的目标语音在复数域下的第二子带频谱,包括:将所述第一子带频谱输入至预先训练的降噪模型中的所述编码网络,将所述降噪模型中的所述解码网络输出的频谱作为所述带噪语音中的目标语音在复数域下的第二子带频谱。
37.在一些实施例中,所述装置经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:采用后滤波算法对所述目标语音进行滤波处理,得到增强后的目标语音。
38.第四方面,本技术实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所描述的方法。
39.本技术实施例提供的语音处理方法、装置和用于处理语音的装置,通过获取带噪语音在复数域下的第一频谱,而后对第一频谱进行子带分解,从而得到复数域下的第一子带频谱,之后基于预先训练的降噪模型对第一子带频谱进行处理,得到带噪语音中的目标语音在复数域下的第二子带频谱,然后对第二子带频谱进行子带还原,得到复数域下的第二频谱,从而最终基于第二频谱,合成目标语音。由于在降噪处理前对带噪语音在复数域下的第一频谱进行子带分解,因而能够使带噪语音中的高低频信息均得到有效处理,解决了语音中高低频信息不平衡(如高频语音信息损失严重)的问题,提高了降噪后的语音的清晰度。
附图说明
40.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
41.图1是本技术的语音处理方法的一个实施例的流程图;
42.图2是本技术的子带分解的示意图;
43.图3是本技术的复数卷积循环网络的结构示意图;
44.图4是本技术的语音处理装置的一个实施例的结构示意图;
45.图5是本技术的一种用于处理语音的装置的结构示意图;
46.图6是本技术的一些实施例中服务器的结构示意图。
具体实施方式
47.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
48.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
49.请参考图1,其示出了根据本技术的语音处理方法的一个实施例的流程100。上述语音处理方法可运行于各种电子设备,上述电子设备包括但不限于:服务器、智能手机、平板电脑、电子书阅读器、mp3(动态影像专家压缩标准音频层面3,moving picture experts group audio layer iii)播放器、mp4(动态影像专家压缩标准音频层面4,moving picture experts group audio layer iv)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等。
50.本实施例中的语音处理方法,可以包括以下步骤:
51.步骤101,获取带噪语音在复数域下的第一频谱。
52.在本实施例中,语音处理方法的执行主体(如上述电子设备)可以对带噪语音进行时频分析,得到带噪语音在复数域下的频谱,可将此频谱称作第一频谱。
53.此处,带噪语音即为带有噪声的语音。带噪语音可以是上述执行主体所采集的带有噪声的语音,如带有背景噪声的语音、带有混响的语音、远近人声语音等。复数域为所有形如a+bi的复数集合在四则运算下构成的数域。其中,a为实部,b为虚部,i为虚数单位。通过实部和虚部可以确定出语音信号的幅度和相位。实践中,每一时间点对应的频谱的表达式中的实部和虚部均可以组合为一个二维向量的形式。因而,对带噪语音进行时频分析后,可以采用二维向量序列的形式或者矩阵的形式表征带噪语音在复数域下的频谱。
54.在本实施例中,上述执行主体可以采用针对语音信号的各种时频分析方法对带噪语音进行时频分析(time-frequency analysis,tfa)。其中,时频分析是一种确定时频分布的方法。时频分布可以用时间和频率的联合函数(也可称为时频分布函数)来表征。联合函数可用于描述信号在不同时间和频率的能量密度或强度。通过对带噪语音进行时频分析,能够得到带噪语音在各个时刻的瞬时频率及幅值等信息。
55.实践中,可以使用各种常见的时频分布函数进行带噪语音的时频分析。例如,可以采用短时距傅里叶变换(short-time fourier transform,stft)、科恩分布函数、改进型韦格纳分布等,此处不作限定。
56.以短时傅里叶变换为例,短时傅里叶变换是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。短时傅里叶变换具有时间和频率两个变量。通过滑动窗函数进行加窗并乘上对应的片段的时域信号,即可得到带窗信号。而后对带窗信号进行傅里叶变换,即可得到复数形式的短时傅里叶变换系数(包括实部和虚部)。由此,可将时域下的带噪语音作为处理对象,依次对带噪语音的各片段进行傅里叶变换,得到各片段的对应的短时傅里叶变换系数。实践中,每个片段的短时傅里叶变换系数可以组合为一个二维向量的形式。因而,对带噪语音进行时频分析后,可以采用二维向量序列的形式或者矩阵的形式表征带噪语音在复数域下的第一频谱。
57.步骤102,对第一频谱进行子带分解,得到复数域下的第一子带频谱。
58.在本实施例中,上述执行主体可以对第一频谱进行子带分解,得到复数域下的第一子带频谱。其中,子带也可称为子频带,每个子带为第一频谱的频域的一部分。子带分解后的每一个子带对应一个第一子带频谱。若共分解为4个子带,则具有对应的4个第一子带频谱。
59.实践中,既可以采用频域子带分解方式对第一频谱进行子带分解,也可以采用时域子带分解方式对第一频谱进行子带分解,本实施例对此不作限定。
60.以采用频域子带分解方式为例,可以首先将第一频谱的频域划分为多个子带。其中,第一频谱的频域即为第一频谱中的最低频率到最高频率的频率区间。而后,可以按照划分的子带,对上述第一频谱进行分解,得到与划分的子带一一对应的第一子带频谱。
61.此处,子带可采用平均划分方式划分,也可采用非平均划分方式划分。以采用平均划分方式划分为例,参见图2所示的子带分解的示意图,可将第一频谱的频域平均分为4个子带,分别为将最低频率到1/4最高频率的子带1、1/4最高频率到1/2最高频率的子带2、1/2最高频率到3/4最高频率的子带3以及3/4最高频率到最高频率的子带4。
62.通过第一频谱进行子带分解,能够将第一频谱分解为多个第一子带频谱。由于不同的第一子带频谱具有不同的频率范围,因而在后续步骤中针对不同频率范围的第一子带频谱进行独立处理,能够充分利用各频率范围内的信息,解决语音中高低频信息不平衡(如高频语音信息损失严重)的问题,从而提高降噪后的语音的清晰度。
63.步骤103,基于预先训练的降噪模型对第一子带频谱进行处理,得到带噪语音中的目标语音在复数域下的第二子带频谱。
64.在本实施例中,上述执行主体中可以存储有预先训练的降噪模型。上述降噪模型能够对带噪语音的频谱(或子带频谱)进行降噪处理。上述执行主体可以利用该降噪模型对第一子带频谱进行处理,得到带噪语音中的目标语音在复数域下的第二子带频谱。其中,降噪模型可以是采用机器学习方法(如有监督学习方式)预先训练得到的。此处,降噪模型可以用于处理复数域下的频谱,并输出降噪后的复数域下的频谱。
65.相对于实数域(仅包含幅度信息,不包含相位信息),复数域下的频谱不仅包含幅度信息,也包含相位信息。上述降噪模型能够处理复数域中的频谱,从而能够在处理过程中同时对幅度和相位进行修正,达到降噪目的。由此,使得预测出的纯净语音的相位更加准确。降低了语音失真程度,提高了语音降噪效果。
66.在本实施例的一些可选的实现方式中,降噪模型可以基于深度复数卷积循环网络(deep complex convolution recurrent network for phase-aware speech enhancement,dccrn)训练得到。如图3所示的复数卷积循环网络的结构示意图,深度复数卷积循环网络可以包括复数域下的编码网络、复数域下的解码网络和复数域下的长短期记忆网络(long short-term memory,lstm)。上述编码网络和解码网络可通过上述长短期记忆网络相连接。
67.其中,编码网络可以包括多层复数编码器(complex encoder)。每层复数编码器包括复数卷积层(complex convolution)、批标准化层(batch normalization,bn)和激活单元层。复数卷积层可对复数域下的频谱进行卷积运算。批标准化层又叫批量归一化层,用于改善神经网络的性能和稳定性。激活单元层可通过激活函数(如prelu)将神经元的输入映射到输出端。解码网络可以包括多层复数解码器(complex decoder),每层复数解码器包括复数反卷积层、批标准化层和激活单元层。其中,反卷积层也称为转置卷积层。
68.此外,深度复数卷积循环网络可采用跳连结构。跳连结构具体可体现为:编码网络中的复数编码器的层数可以与解码网络中的复数解码器的层数相同,且编码网络中的复数编码器与解码网络中的反向顺序的复数解码器一一对应且相连接。即,编码网络中的第一层复数编码器与解码网络中的倒数第一层复数解码器相连接;编码网络中的第二层复数编码器与解码网络中的倒数第二层复数解码器相连接;以此类推。
69.作为示例,编码网络中可包含6层复数编码器,解码网络中包含6层复数解码器。其中,编码网络的第1层复数编码器与解码网络的第6层复数解码器相连接。编码网络的第2层复数编码器与解码网络的第5层复数解码器相连接。编码网络的第3层复数编码器与解码网络的第4层复数解码器相连接。编码网络的第4层复数编码器与解码网络的第3层复数解码器相连接。编码网络的第5层复数编码器与解码网络的第2层复数解码器相连接。编码网络的第6层复数编码器与解码网络的第1层复数解码器相连接。此处,编码网络对应的通道数可以由2逐渐增长,如增长至1024。解码网络的通道数可以由1024逐渐减少至2。
70.在本实施例的一些可选的实现方式中,复数编码器中的复数卷积层可以包括第一实部卷积核(可记为wr)和第一虚部卷积核(可记为wi)。复数编码器可利用第一实部卷积核和第一虚部卷积核执行如下操作:
71.首先,通过第一实部卷积核分别对所接收到的实部(可记为xr)和虚部(可记为xi)进行卷积,得到第一输出(可记为xr*wr,*表示卷积)和第二输出(可记为xi*wr),并通过第一虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第三输出(可记为xr*wi)和第四输出(可记为xi*wi)。其中,对于非首层复数编码器,该复数编码器所接收到的实部和虚部可以是上一层网络结构输出的实部和虚部。对于首层复数编码器,该复数编码器所接收到的实部和虚部可以是上述第一子带频谱的实部和虚部。
72.之后,基于复数乘法规则,对第一输出、第二输出、第三输出和第四输出进行复数乘法运算,得到复数域下的第一运算结果(可记为f
out
)。可参见如下公式:
73.f
out
=(xr*w
r-xi*wi)+j(xr*w
i-xi*wr)
74.其中,j可表示虚数单位。第一运算结果的实部为xr*w
r-xi*wi,虚部为xr*w
i-xi*wr。
75.之后,依次通过复数编码器中的批标准化层和激活单元层对第一运算结果进行处理,得到复数域下的编码结果,编码结果包括实部和虚部。
76.最后,将编码结果中的实部和虚部输入至下一层网络结构。具体地,对于非最后一层复数编码器,该复数编码器可将复数域下的编码结果中的实部和虚部输入至下一层复数编码器和其所对应的复数解码器。对于最后一层复数编码器,该复数编码器可将复数域下的编码结果中的实部和虚部输入至复数域下的长短期记忆网络以及其所对应的复数解码器。
77.通过在复数卷积层中设置第一实部卷积核和第一虚部卷积核,能够分别处理频谱的实部和虚部。再通过复数乘法规则将二者的输出结果相关联,可有效地提升实部和虚部的估计精确度。
78.在本实施例的一些可选的实现方式中,上述复数域下的长短期记忆网络可以包括第一长短期记忆网络(可记为lstmr)和第二长短期记忆网络(可记为lstmi)。上述复数域下的长短期记忆网络可对最后一层复数编码器输出的编码结果执行如下处理流程:
79.首先,通过第一长短期记忆网络分别对最后一层复数编码器输出的编码结果中的实部(可记为x’r
)和虚部(可记为x’i
)进行处理,得到第五输出(可记为f
rr
)和第六输出(可记为f
ir
)。并通过第二长短期记忆网络分别对最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第七输出(可记为f
ri
)和第八输出(可记为f
ii
)。其中,f
rr
=lstmr(x’r
),f
ir
=lstmr(x’i
),f
ri
=lstmi(x’r
),f
ii
=lstmi(x’i
)。lstmr()表示通过第一长短期记忆网络lstmr进行处理的过程。lstmi()表示通过第二长短期记忆网络lstmi进行处理的过
程。
80.之后,基于复数乘法规则,对第五输出、第六输出、第七输出和第八输出进行复数乘法运算,得到复数域下的第二运算结果(可记为f’out
),第二运算结果包括实部和虚部。可参见如下公式:
81.f’out
=(f
rr-f
ii
)+j(f
ri-f
ir
)
82.最后,将第二运算结果中的实部和虚部输入至复数域下的解码网络中的第一层复数解码器。需要说明的是,长短期记忆网络中还可以包括全连接层,用以调整输出的数据的维度。
83.需要说明的是,由第一长短期记忆网络lstmr和第二长短期记忆网络lstmi可构成一组复数域下的长短期记忆网络。在深度复数卷积循环网络中,复数域下的长短期记忆网络不限于一组,还可以是两组或多组。以采用两组复数域下的长短期记忆网络为例,每一组复数域下的长短期记忆网络均包含第一长短期记忆网络lstmr和第二长短期记忆网络lstmi,且参数可以不同。第一组长短期记忆网络在得到复数域下的运算结果后,可将第二运算结果中的实部和虚部输入至第二组长短期记忆网络;第二组复长短期记忆网络可按照上述操作过程进行数据处理,将所得到的复数域下的运算结果输入至复数域下的解码网络中的第一层复数解码器。
84.通过在设置第一长短期记忆网络和第一长短期记忆网络,能够分别处理频谱的实部和虚部,再通过复数乘法规则将二者的输出结果相关联,可有效地提升实部和虚部的估计精确度。
85.在本实施例的一些可选的实现方式中,复数解码器中的复数反卷积层可以包括第二实部卷积核(可记为w’r
)和第二虚部卷积核(可记为w’i
)。与复数编码器中的复数卷积层类似,复数解码器中的复数反卷积层可利用第二实部卷积核和第二虚部卷积核执行如下操作:
86.首先,通过第二实部卷积核分别对所接收到的实部(可记为x”r
)和虚部(可记为x”i
)进行卷积,得到第九输出(可记为x”r
*w’r
)和第十输出(可记为x”i
*w’r
);并通过第二虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第十一输出(可记为x”r
*w’i
)和第十二输出(可记为x”i
*w’i
)。其中,对于每一层复数解码器,该复数解码器所接收到的实部和虚部可以由上一层网络结构输出的结果以及其所对应的复数编码器输出的编码结果结合后构成,如进行复数乘法运算后得到。对于首层复数解码器,其上一层网络结构为长短期记忆网络。对于非层复数解码器,其上一层网络结构为上一层复数解码器。
87.之后,基于复数乘法规则,对第九输出、第十输出、第十一输出和第十二输出进行复数乘法运算,得到复数域下的第三运算结果(可记为f”out
)。可参见如下公式:
88.f”out
=(x”r
*w’r

x”i
*w’i
)+j(x”r
*w’i

x”i
*w’r
)
89.其中,第三运算结果的实部为x”r
*w’r

x”i
*w’ii
,虚部为x”r
*w’i

x”i
*w’r

90.之后,依次通过复数解码器中的批标准化层和激活单元层对第三运算结果进行处理,得到复数域下的解码结果,解码结果包括实部和虚部。
91.最后,在存在下一层复数解码器的情况下,将解码结果中的实部和虚部输入至下一层复数解码器。若不存在下一层复数解码器,则可将该层复数解码器输出的解码结果作为最终输出结果。
92.通过在复数反卷积层中设置第二实部卷积核和第二虚部卷积核,能够分别处理频谱的实部和虚部,再通过复数乘法规则将二者的输出结果相关联,可有效地提升实部和虚部的估计精确度。
93.在本实施例的一些可选的实现方式中,如图3所示,深度复数卷积循环网络还可以包括短时傅里叶变换层和短时傅里叶逆变换层。上述降噪模型可通过对图3所示的深度复数卷积循环网络训练后得到。具体地,训练过程可包括如下子步骤:
94.第一步,获取语音样本集。
95.此处,语音样本集中包括带噪语音样本,带噪语音样本可以由纯净语音样本和噪声合成。例如,可以由纯净语音样本和噪声按照一定的信噪比合成得到。具体可参见如下公式:
96.y=s+αn
97.其中,y为带噪语音样本,s为纯净语音样本,n为噪声,α为用于控制信噪比的系数。信噪比(snr)为纯净语音样本的能量和噪声的能量之间的比值,信噪比的单位为分贝(db)。信噪比可通过如下公式计算:
[0098][0099]
若需得到k db信噪比的带噪语音样本,需要通过系数α来控制噪声的能量,即:
[0100][0101]
通过对该公式求解,即可得到系数α的数值,为:
[0102][0103]
此处,语音样本集中还可以包含混响语音样本或远近人声样本。由此训练得到的降噪模型,不仅适用于对带有噪声的语音进行处理,同时,可适用于对带有混响的语音以及远近人声语音进行处理,从而增强了模型的适用范围,且提高了模型的鲁棒性。
[0104]
第二步,将带噪语音样本作为短时傅里叶变换层的输入,对短时傅里叶变换层输出的频谱进行子带分解,将子带分解后所得到的子带频谱作为编码网络的输入,将解码网络输出的频谱进行子带还原,将子带还原后所得到的频谱作为短时傅里叶逆变换层的输入,将纯净语音样本作为短时傅里叶逆变换层的输出目标,利用机器学习方法对深度复数卷积循环网络进行训练,得到降噪模型。
[0105]
具体地,上述第二步可按照如下子步骤执行:
[0106]
子步骤s11,从语音样本集中选取带噪语音样本,并获取合成该带噪语音样本的纯净语音样本。此处,可以随机或者按照预设的选取顺序选取带噪语音样本。
[0107]
子步骤s12,将所选取的带噪语音样本输入至深度复数卷积循环网络中的短时傅里叶变换层,得到短时傅里叶变换层输出的带噪语音样本的频谱。
[0108]
子步骤s13,对傅里叶变换层输出的频谱进行子带分解,得到该频谱的子带频谱。子带分解方式可参见步骤102,此处不再赘述。
[0109]
子步骤s14,将所得到的子带频谱输入至编码网络。
[0110]
此处,具体可以输入至编码网络中的第一层编码器。编码网络的编码器可逐层对输入的数据进行处理。对于每层编码器,该层编码器可将处理结果输入给其所连接的后续网络结构(如下一层编码器或长短期记忆网络,以及其对应的解码器)。编码器、长短期记忆网络和解码器的数据处理过程可参见上文描述,此处不再赘述。
[0111]
子步骤s15,获取解码网络输出的频谱。
[0112]
此处,解码网络输出的频谱即为最后一层解码器输出的子带频谱。该子带频谱可以是降噪处理后的子带频谱。
[0113]
子步骤s16,将解码网络输出的频谱进行子带还原,并将子带还原后所得到的频谱输入至短时傅里叶逆变换层,得到短时傅里叶逆变换层输出的降噪语音(可记为)。
[0114]
子步骤s17,基于所得到的降噪语音和所选取带噪语音样本对应的纯净语音样本(可记为s),确定损失值。
[0115]
此处,损失值即为损失函数(loss function)的值,损失函数是一个非负实值函数,可以用于表征检测结果与真实结果的差异。一般情况下,损失值越小,模型的鲁棒性就越好。损失函数可以根据实际需求来设置。例如,可使用si-snr(scale-invariant source-to-noise ratio,尺度不变的信噪比)作为损失函数,计算损失值。参见如下公式:
[0116][0117][0118][0119]
其中,表示降噪语音与纯净语音样本(s)的相关性,可通过常用的相似度计算方式计算得到。
[0120]
子步骤s18,基于损失值,更新深度复数卷积循环网络的参数。
[0121]
此处,可以利用反向传播算法求得损失值相对于模型参数的梯度,而后利用梯度下降算法基于梯度更新模型参数。具体地,可以利用链式求导法则(chain rule)和反向传播算法(back propagation algorithm,bp算法),求得损失值相对于初始模型各层参数的梯度。实践中,上述反向传播算法也可称为误差反向传播(error back propagation,bp)算法,或误差逆传播算法。反向传播算法算法是由信号的正向传播与误差(可使用损失值表征)的反向传播两个过程组成。在前馈网络中,输入信号经输入层输入,通过隐层计算由输出层输出。若输出值与标记值比较后存在误差,则将误差反向由输出层向输入层传播。在将误差反向传播过程中,可以利用梯度下降算法基于所计算出的梯度对神经元权值(例如卷积层中卷积核的参数等)进行调整。
[0122]
子步骤s19,检测深度复数卷积循环网络是否训练完成。
[0123]
实践中,可以通过多种方式确定深度复数卷积循环网络是否训练完成。作为示例,当损失值收敛至某一预设值以下时,可确定训练完成。作为又一示例,若深度复数卷积循环
网络的训练次数等于预设次数时,可以确定训练完成。
[0124]
需要指出的是,若深度复数卷积循环网络未训练完成,可以重新从语音样本集中提取下一个带噪语音样本,并使用调整参数后的深度复数卷积循环网络继续执行上述子步骤s12,直至深度复数卷积循环网络训练完成。
[0125]
子步骤s20,若训练完成,将训练完成后的深度复数卷积循环网络作为降噪模型。
[0126]
通过将短时傅里叶变换层和短时傅里叶逆变换层构建于深度复数卷积循环网络中,可以使短时傅里叶变换操作以及短时傅里叶逆变换操作通过卷积实现,可通过gpu(graphics processing unit,图形处理器)进行处理,从而提升模型训练速度。
[0127]
在本实施例的一些可选的实现方式中,降噪模型可由图3所示的深度复数卷积循环网络训练得到。此时,在获取带噪语音在复数域下的第一频谱时,可直接将带噪语音输入至预先训练的降噪模型中的短时傅里叶变换层,得到带噪语音在复数域下的第一频谱。
[0128]
在本实施例的一些可选的实现方式中,降噪模型可由图3所示的深度复数卷积循环网络训练得到。此时,在获取第二子带频谱时,可通过将第一子带频谱输入至预先训练的降噪模型中的编码网络,从而将将降噪模型中的解码网络输出的频谱作为带噪语音中的目标语音在复数域下的第二子带频谱。
[0129]
在本实施例的一些可选的实现方式中,为避免所合成目标语音中仍具有残留噪声,在合成目标语音之后,上述执行主体还可以采用后滤波算法对目标语音进行滤波处理,得到增强后的目标语音。由于滤波处理可实现降噪的效果,因而可使目标语音达到增强的效果,由此即可得到增强后的目标语音。通过对目标语音进行滤波处理,可以进一步提高语音降噪效果。
[0130]
步骤104,对第二子带频谱进行子带还原,得到复数域下的第二频谱。
[0131]
在本实施例中,上述执行主体可以对第二子带频谱进行子带还原,得到复数域下的第二频谱。此处,可直接将第二子带频谱进行拼接,得到复数域下的第二频谱。
[0132]
步骤105,基于第二频谱,合成目标语音
[0133]
在本实施例中,上述执行主体可以将目标语音在复数域下的第二频谱转换为时域下的语音信号,从而合成目标语音。作为示例,若对带噪语音进行时频分析时采用短时傅里叶变换的方式实现,则此时可以对上述目标语音在复数域下的第二频谱进行短时傅里叶变换的逆变换,合成目标语音。目标语音即为对带噪语音进行降噪后的语音,也即预估出的纯净语音。
[0134]
在本实施例的一些可选的实现方式中,降噪模型可由图3所示的深度复数卷积循环网络训练得到。此时,在基于第二频谱,合成目标语音时,可将第二频谱输入至预先训练的降噪模型中的短时傅里叶逆变换层,得到目标语音。
[0135]
本技术的上述实施例提供的方法,通过获取带噪语音在复数域下的第一频谱,而后对第一频谱进行子带分解,从而得到复数域下的第一子带频谱,之后基于预先训练的降噪模型对第一子带频谱进行处理,得到带噪语音中的目标语音在复数域下的第二子带频谱,然后对第二子带频谱进行子带还原,得到复数域下的第二频谱,从而最终基于第二频谱,合成目标语音。由于在降噪处理前对带噪语音在复数域下的第一频谱进行子带分解,因而能够使带噪语音中的高低频信息均得到有效处理,解决了语音中高低频信息不平衡(如高频语音信息损失严重)的问题,提高了降噪后的语音的清晰度。
[0136]
进一步地,用于训练降噪模型的深度复数卷积循环网络包括复数域下的编码网络、复数域下的解码网络和复数域下的长短期记忆网络。通过在编码网络的各复数编码器的复数卷积层中设置第一实部卷积核和第一虚部卷积核,能够使复数编码器分别处理频谱的实部和虚部。在再通过复数乘法规则将二者的输出结果相关联,有效地提升实部和虚部的估计精确度。通过在设置第一长短期记忆网络和第一长短期记忆网络,能够使长短期记忆网络分别处理频谱的实部和虚部。在再通过复数乘法规则将二者的输出结果相关联,进一步有效地提升实部和虚部的估计精确度。通过在解码网络的各复数解码器中的复数反卷积层中设置第二实部卷积核和第二虚部卷积核,能够使复数解码器分别处理频谱的实部和虚部。在再通过复数乘法规则将二者的输出结果相关联,进一步有效地提升实部和虚部的估计精确度。
[0137]
进一步参考图4,作为对上述各图所示方法的实现,本技术提供了一种语音处理装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0138]
如图4所示,本实施例上述的语音处理装置400包括:获取单元401,用于获取带噪语音在复数域下的第一频谱;子带分解单元402,用于对上述第一频谱进行子带分解,得到复数域下的第一子带频谱;降噪单元403,用于基于预先训练的降噪模型对上述第一子带频谱进行处理,得到上述带噪语音中的目标语音在复数域下的第二子带频谱;子带还原单元404,用于对上述第二子带频谱进行子带还原,得到复数域下的第二频谱;合成单元405,用于基于上述第二频谱,合成上述目标语音。
[0139]
在本实施例的一些可选的实现方式中,上述获取单元401,进一步用于:对带噪语音进行短时傅里叶变换,得到上述带噪语音在复数域下的第一频谱;以及,上述合成单元405,进一步用于:对上述第二频谱进行短时傅里叶变换的逆变换,得到上述目标语音。
[0140]
在本实施例的一些可选的实现方式中,子带分解单元402,进一步用于将上述第一频谱的频域划分为多个子带;按照划分的子带,对上述第一频谱进行分解,得到与划分的子带一一对应的第一子带频谱。
[0141]
在本实施例的一些可选的实现方式中,上述降噪模型基于深度复数卷积循环网络训练得到;其中,上述深度复数卷积循环网络包括复数域下的编码网络、复数域下的解码网络和复数域下的长短期记忆网络,上述编码网络和上述解码网络通过上述长短期记忆网络相连接;上述编码网络包括多层复数编码器,每层复数编码器包括复数卷积层、批标准化层和激活单元层;上述解码网络包括多层复数解码器,每层复数解码器包括复数反卷积层、批标准化层和激活单元层;上述编码网络中的复数编码器的层数与上述解码网络中的复数解码器的层数相同,上述编码网络中的复数编码器与上述解码网络中的反向顺序的复数解码器一一对应且相连接。
[0142]
在本实施例的一些可选的实现方式中,上述复数卷积层包括第一实部卷积核和第一虚部卷积核;以及,上述复数编码器用于执行如下操作:通过上述第一实部卷积核分别对所接收到的实部和虚部进行卷积,得到第一输出和第二输出,通过上述第一虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第三输出和第四输出;基于复数乘法规则,对上述第一输出、上述第二输出、上述第三输出和上述第四输出进行复数乘法运算,得到复数域下的第一运算结果;依次通过上述复数编码器中的批标准化层和激活单元层对上述第一运
算结果进行处理,得到复数域下的编码结果,上述编码结果包括实部和虚部;将上述编码结果中的实部和虚部输入至下一层网络结构。
[0143]
在本实施例的一些可选的实现方式中,上述长短期记忆网络包括第一长短期记忆网络和第二长短期记忆网络;以及,上述长短期记忆网络用于执行如下操作:通过上述第一长短期记忆网络分别对最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第五输出和第六输出,并通过上述第二长短期记忆网络分别对上述最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第七输出和第八输出;基于复数乘法规则,对上述第五输出、上述第六输出、上述第七输出和上述第八输出进行复数乘法运算,得到复数域下的第二运算结果,上述第二运算结果包括实部和虚部;将上述第二运算结果中的实部和虚部输入至上述复数域下的解码网络中的第一层复数解码器。
[0144]
在本实施例的一些可选的实现方式中,上述复数反卷积层包括第二实部卷积核和第二虚部卷积核;以及,上述复数解码器用于执行如下操作:通过上述第二实部卷积核分别对所接收到的实部和虚部进行卷积,得到第九输出和第十输出,通过上述第二虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第十一输出和第十二输出;基于复数乘法规则,对上述第九输出、上述第十输出、上述第十一输出和上述第十二输出进行复数乘法运算,得到复数域下的第三运算结果;依次通过上述复数解码器中的批标准化层和激活单元层对上述第三运算结果进行处理,得到复数域下的解码结果,上述解码结果包括实部和虚部;在存在下一层复数解码器的情况下,将上述解码结果中的实部和虚部输入至上述下一层复数解码器。
[0145]
在本实施例的一些可选的实现方式中,上述深度复数卷积循环网络还包括短时傅里叶变换层和短时傅里叶逆变换层;以及,上述降噪模型通过如下步骤训练得到:获取语音样本集,其中,上述语音样本集中包括带噪语音样本,上述带噪语音样本由纯净语音样本和噪声合成;将上述带噪语音样本作为上述短时傅里叶变换层的输入,对上述短时傅里叶变换层输出的频谱进行子带分解,将子带分解后所得到的子带频谱作为上述编码网络的输入,将上述解码网络输出的频谱进行子带还原,将子带还原后所得到的频谱作为上述短时傅里叶逆变换层的输入,将上述纯净语音样本作为上述短时傅里叶逆变换层的输出目标,利用机器学习方法对上述深度复数卷积循环网络进行训练,得到降噪模型。
[0146]
在本实施例的一些可选的实现方式中,上述获取单元401,进一步用于:将上述带噪语音输入至预先训练的降噪模型中的短时傅里叶变换层,得到上述带噪语音在复数域下的第一频谱;以及,上述合成单元405,进一步用于:将上述第二频谱输入至上述降噪模型中的短时傅里叶逆变换层,得到上述目标语音。
[0147]
在本实施例的一些可选的实现方式中,上述降噪单元403,进一步用于将上述第一子带频谱输入至预先训练的降噪模型中的上述编码网络,将上述降噪模型中的上述解码网络输出的频谱作为上述带噪语音中的目标语音在复数域下的第二子带频谱。
[0148]
在本实施例的一些可选的实现方式中,上述装置还包括:滤波单元,用于采用后滤波算法对上述目标语音进行滤波处理,得到增强后的目标语音。
[0149]
本技术的上述实施例提供的装置,通过获取带噪语音在复数域下的第一频谱,而后对第一频谱进行子带分解,从而得到复数域下的第一子带频谱,之后基于预先训练的降噪模型对第一子带频谱进行处理,得到带噪语音中的目标语音在复数域下的第二子带频
谱,然后对第二子带频谱进行子带还原,得到复数域下的第二频谱,从而最终基于第二频谱,合成目标语音。由于在降噪处理前对带噪语音在复数域下的第一频谱进行子带分解,因而能够使带噪语音中的高低频信息均得到有效处理,解决了语音中高低频信息不平衡(如高频语音信息损失严重)的问题,提高了降噪后的语音的清晰度。
[0150]
图5是根据一示例性实施例示出的用于输入的装置500的框图,该装置500可以为智能终端或者服务器。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0151]
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(i/o)的接口512,传感器组件514,以及通信组件516。
[0152]
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
[0153]
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0154]
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
[0155]
多媒体组件508包括在上述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。上述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与上述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0156]
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(mic),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
[0157]
i/o接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0158]
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评
估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如上述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0159]
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,上述通信组件516还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0160]
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0161]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,上述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0162]
图6是本技术的一些实施例中服务器的结构示意图。该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
[0163]
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0164]
一种非临时性计算机可读存储介质,当上述存储介质中的指令由装置(智能终端或者服务器)的处理器执行时,使得装置能够执行一种语音处理方法,上述方法包括:获取带噪语音在复数域下的第一频谱;对所述第一频谱进行子带分解,得到复数域下的第一子带频谱;基于预先训练的降噪模型对所述第一子带频谱进行处理,得到所述带噪语音中的目标语音在复数域下的第二子带频谱;对所述第二子带频谱进行子带还原,得到复数域下的第二频谱;基于所述第二频谱,合成所述目标语音。
[0165]
可选的,所述获取带噪语音在复数域下的第一频谱,包括:对带噪语音进行短时傅里叶变换,得到所述带噪语音在复数域下的第一频谱;以及,所述基于所述第二频谱,合成
所述目标语音,包括:对所述第二频谱进行短时傅里叶变换的逆变换,得到所述目标语音。
[0166]
可选的,所述对所述第一频谱进行子带分解,得到复数域下的第一子带频谱,包括:将所述第一频谱的频域划分为多个子带;按照划分的子带,对所述第一频谱进行分解,得到与划分的子带一一对应的第一子带频谱。
[0167]
可选的,所述降噪模型基于深度复数卷积循环网络训练得到;其中,所述深度复数卷积循环网络包括复数域下的编码网络、复数域下的解码网络和复数域下的长短期记忆网络,所述编码网络和所述解码网络通过所述长短期记忆网络相连接;所述编码网络包括多层复数编码器,每层复数编码器包括复数卷积层、批标准化层和激活单元层;所述解码网络包括多层复数解码器,每层复数解码器包括复数反卷积层、批标准化层和激活单元层;所述编码网络中的复数编码器的层数与所述解码网络中的复数解码器的层数相同,所述编码网络中的复数编码器与所述解码网络中的反向顺序的复数解码器一一对应且相连接。
[0168]
可选的,所述复数卷积层包括第一实部卷积核和第一虚部卷积核;以及,所述复数编码器用于执行如下操作:通过所述第一实部卷积核分别对所接收到的实部和虚部进行卷积,得到第一输出和第二输出,通过所述第一虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第三输出和第四输出;基于复数乘法规则,对所述第一输出、所述第二输出、所述第三输出和所述第四输出进行复数乘法运算,得到复数域下的第一运算结果;依次通过所述复数编码器中的批标准化层和激活单元层对所述第一运算结果进行处理,得到复数域下的编码结果,所述编码结果包括实部和虚部;将所述编码结果中的实部和虚部输入至下一层网络结构。
[0169]
可选的,所述长短期记忆网络包括第一长短期记忆网络和第二长短期记忆网络;以及,所述长短期记忆网络用于执行如下操作:通过所述第一长短期记忆网络分别对最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第五输出和第六输出,并通过所述第二长短期记忆网络分别对所述最后一层复数编码器输出的编码结果中的实部和虚部进行处理,得到第七输出和第八输出;基于复数乘法规则,对所述第五输出、所述第六输出、所述第七输出和所述第八输出进行复数乘法运算,得到复数域下的第二运算结果,所述第二运算结果包括实部和虚部;将所述第二运算结果中的实部和虚部输入至所述复数域下的解码网络中的第一层复数解码器。
[0170]
可选的,所述复数反卷积层包括第二实部卷积核和第二虚部卷积核;以及,所述复数解码器用于执行如下操作:通过所述第二实部卷积核分别对所接收到的实部和虚部进行卷积,得到第九输出和第十输出,通过所述第二虚部卷积核分别对所接收到的实部和虚部进行卷积,得到第十一输出和第十二输出;基于复数乘法规则,对所述第九输出、所述第十输出、所述第十一输出和所述第十二输出进行复数乘法运算,得到复数域下的第三运算结果;依次通过所述复数解码器中的批标准化层和激活单元层对所述第三运算结果进行处理,得到复数域下的解码结果,所述解码结果包括实部和虚部;在存在下一层复数解码器的情况下,将所述解码结果中的实部和虚部输入至所述下一层复数解码器。
[0171]
可选的,所述深度复数卷积循环网络还包括短时傅里叶变换层和短时傅里叶逆变换层;以及,所述降噪模型通过如下步骤训练得到:获取语音样本集,其中,所述语音样本集中包括带噪语音样本,所述带噪语音样本由纯净语音样本和噪声合成;将所述带噪语音样本作为所述短时傅里叶变换层的输入,对所述短时傅里叶变换层输出的频谱进行子带分
解,将子带分解后所得到的子带频谱作为所述编码网络的输入,将所述解码网络输出的频谱进行子带还原,将子带还原后所得到的频谱作为所述短时傅里叶逆变换层的输入,将所述纯净语音样本作为所述短时傅里叶逆变换层的输出目标,利用机器学习方法对所述深度复数卷积循环网络进行训练,得到降噪模型。
[0172]
可选的,所述获取带噪语音在复数域下的第一频谱,包括:将所述带噪语音输入至预先训练的降噪模型中的短时傅里叶变换层,得到所述带噪语音在复数域下的第一频谱;以及,所述基于所述第二频谱,合成所述目标语音,包括:将所述第二频谱输入至所述降噪模型中的短时傅里叶逆变换层,得到所述目标语音。
[0173]
可选的,所述基于预先训练的降噪模型对所述第一子带频谱进行处理,得到所述带噪语音中的目标语音在复数域下的第二子带频谱,包括:将所述第一子带频谱输入至预先训练的降噪模型中的所述编码网络,将所述降噪模型中的所述解码网络输出的频谱作为所述带噪语音中的目标语音在复数域下的第二子带频谱。
[0174]
可选的,所述装置经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:采用后滤波算法对所述目标语音进行滤波处理,得到增强后的目标语音。
[0175]
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0176]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
[0177]
以上上述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
[0178]
以上对本技术所提供的一种语音处理方法、装置和一种用于处理语音的装置进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1