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

文档序号:19949208发布日期:2020-02-18 10:04阅读:139来源:国知局
一种语音处理方法、装置和用于处理语音的装置与流程

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



背景技术:

随着计算机技术的发展,诸如智能音箱、录音笔等的语音交互产品越来越丰富。由于语音交互产品在接收语音信号的同时,也会接收到噪声和混响等信号,因而,为避免影响语音识别效果,通常需要从带有噪声、混响的语音中提取出目标语音(如较为纯净的语音)。

现有的方式,通常是将理想浮值掩蔽(idealratiomask,irm)作为目标,训练预测理想浮值掩蔽的模型,而后利用该模型得到带噪语音的理想浮值掩蔽的预测值,之后基于该预测值得到掩蔽后的声学特征,从而将掩蔽后的声学特征与带噪语音的相位进行合成,得到目标语音。由于理想浮值掩蔽没有考虑到语音信号的相位信息,因而在合成目标语音的过程中无法对带噪语音的相位进行修正,导致所合成的目标语音的相位不够准确,因而这种语音降噪方式下语音失真程度较大,语音降噪效果较差。



技术实现要素:

本申请实施例提出了一种语音处理方法、装置和用于处理语音的装置,以降低语音失真程度,提高语音降噪效果。

第一方面,本申请实施例提供了一种语音处理方法,该方法包括:对带噪语音进行时频分析,得到带噪语音在复数域下的频谱;将带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的带噪语音的时频掩蔽的预测值;将预测值和带噪语音在复数域下的频谱相乘,生成带噪语音中的目标语音在复数域下的频谱;基于目标语音在复数域下的频谱,合成目标语音。

第二方面,本申请实施例提供了一种语音处理装置,该装置包括:分析单元,被配置成对带噪语音进行时频分析,得到带噪语音在复数域下的频谱;预测单元,被配置成将带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的带噪语音的时频掩蔽的预测值;生成单元,被配置成将预测值和带噪语音在复数域下的频谱相乘,生成带噪语音中的目标语音在复数域下的频谱;合成单元,被配置成基于目标语音在复数域下的频谱,合成目标语音。

第三方面,本申请实施例提供了一种用于处理语音的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:对带噪语音进行时频分析,得到带噪语音在复数域下的频谱;将带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的带噪语音的时频掩蔽的预测值;将预测值和带噪语音在复数域下的频谱相乘,生成带噪语音中的目标语音在复数域下的频谱;基于目标语音在复数域下的频谱,合成目标语音。

第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所描述的方法。

本申请实施例提供的语音处理方法、装置和用于处理语音的装置,通过对带噪语音进行时频分析,得到带噪语音在复数域下的频谱;而后将带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的带噪语音的时频掩蔽的预测值;之后将预测值和带噪语音在复数域下的频谱相乘,生成带噪语音中的目标语音在复数域下的频谱;从而基于目标语音在复数域下的频谱,合成目标语音。由于本申请实施例可通过模型预测出复数域下的时频掩蔽,相对于实数域(仅包含幅度信息,不包含相位信息),复数域下的时频掩蔽不仅包含幅度信息,也包含相位信息,因而在基于该时频掩蔽的预测值得到目标语音在复数域下的频谱的过程中,能够基于时频掩蔽的预测值对带噪语音的相位进行修正,使所合成的目标语音的相位更加准确,由此,降低了语音失真程度,提高了语音降噪效果。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是根据本申请的语音处理方法的一个实施例的流程图;

图2是根据本申请的卷积循环网络的结构示意图;

图3是根据本申请的卷积循环网络中编码器和解码器的连接关系的示意图;

图4是根据本申请的语音处理方法的一个应用场景的示意图;

图5是根据本申请的语音处理方法的又一个实施例的流程图;

图6是根据本申请的语音处理装置的一个实施例的结构示意图;

图7是根据本申请的一种用于处理语音的装置的结构示意图;

图8是根据本申请的一些实施例中服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

请参考图1,其示出了根据本申请的语音处理方法的一个实施例的流程100。上述语音处理方法可运行于各种电子设备,上述电子设备包括但不限于:智能音响、录音笔、具有语音输入功能或者语音交互功能的服务器、智能手机、平板电脑、电子书阅读器、mp3(动态影像专家压缩标准音频层面3,movingpictureexpertsgroupaudiolayeriii)播放器、mp4(动态影像专家压缩标准音频层面4,movingpictureexpertsgroupaudiolayeriv)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等。

本实施例中的语音处理方法,可以包括以下步骤:

步骤101,对带噪语音进行时频分析,得到带噪语音在复数域下的频谱。

在本实施例中,语音处理方法的执行主体(如上述电子设备)可以对带噪语音进行时频分析,得到带噪语音在复数域下的频谱。此处,带噪语音即为带有噪声的语音。带噪语音可以是上述执行主体所采集的语音。该语音可以是近场语音、远场语音等。上述带噪语音中还可以包含混响等干扰。

在本实施例中,上述执行主体可以采用针对语音信号的各种时频分析方法对带噪语音进行时频分析(time-frequencyanalysis,tfa)。实践中,时频分析是一种确定时频分布的方法。上述时频分布可以用时间和频率的联合函数(也可称为时频分布函数)来表征。该联合函数可用于描述信号在不同时间和频率的能量密度或强度。通过对带噪语音进行时频分析,能够得到带噪语音在各个时刻的瞬时频率及幅值等信息。

实践中,可以使用各种常见的时频分布函数进行带噪语音的时频分析。例如,可以采用短时距傅里叶变换(short-timefouriertransform,stft)、科恩分布函数、改进型韦格纳分布等,此处不作限定。

在本实施例中,对带噪语音进行时频分析后,可以用复数域下的频谱来对带噪语音的时频分析结果进行表示。此处,复数域为所有形如a+bi的复数集合在四则运算下构成的数域。其中,a、b均为实数,i为虚数单位。复数域下的频谱的表达式中可以包含实部和虚部。通过实部和虚部可以确定出语音信号的幅度和相位。实践中,每一时间点对应的频谱的表达式中的实部和虚部均可以组合为一个二维向量的形式。因而,对带噪语音进行时频分析后,可以采用二维向量序列的形式表征带噪语音在复数域下的频谱。

在本实施例的一些可选的实现方式中,上述执行主体可以通过对带噪语音进行短时傅里叶变换,得到上述带噪语音在复数域下的频谱。实践中,短时傅里叶变换是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。短时傅里叶变换的计算过程,是把一个较长的时间信号分成相同长度的更短的片段,在每个片段上计算傅里叶变换,即傅里叶频谱。

具体地,短时傅里叶变换具有时间和频率两个变量。通过滑动窗函数进行加窗并乘上对应的片段的时域信号,即可得到带窗信号。而后对带窗信号进行傅里叶变换,即可得到复数形式的短时傅里叶变换系数(包括实部和虚部)。依次对各帧执行上述操作,即可将时域下的带噪语音的各片段进行傅里叶变换,从而得到各片段的对应的短时傅里叶变换系数。实践中,每个片段的短时傅里叶变换系数可以组合为一个二维向量的形式。因而,对带噪语音进行时频分析后,可以采用二维向量序列的形式表征带噪语音在复数域下的频谱。

步骤102,将带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的带噪语音的时频掩蔽的预测值。

在本实施例中,上述执行主体可以将带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的带噪语音的时频掩蔽(time-frequencymask)的预测值。其中,时频掩蔽预测模型可以用于对带有噪声的语音(此处可简称为带噪语音)的时频掩蔽的值进行预测。上述时频掩蔽预测模型可以基于语音样本集,并使用机器学习方法(如有监督学习方法)预先训练得到。

需要说明的是,时频掩蔽可以指带噪语音中的纯净语音在复数域下的频谱与带噪语音在复数域下的频谱的比。由此,时频掩蔽的预测值可以采用复数形式表示,且该预测值包含实部和虚部。上述时频掩蔽预测模型,可以通过对时频掩蔽的值的实部和虚部进行预测,从而得到复数形式的时频掩蔽的预测值。

实践中,时频掩蔽的值可以用于衡量时频域下的掩蔽效应(maskingeffects)。其中,掩蔽效应是指由于出现多个同一类别(如声音)的刺激,导致不能完整接受全部刺激的信息的现象。听觉中的掩蔽效应指由于人的耳朵只对最明显的声音反应敏感,而对于不明显的声音反应则较不为敏感,由此导致一个声音的听觉阈值由于另一个声音的出现而提高的效应。例如,在一个安静的环境中,吉他手的手指轻轻滑过琴弦的响声都能听到。但同样的响声在一个正在播放摇滚乐曲的环境中,则通常无法被听到。此处,由于在输入纯净语音的同时也获取到了噪声等干扰信号,导致由于噪声等干扰信号的存在,造成用户对纯净语音的听觉阈值提高,由此产生了掩蔽效应。实践中,掩蔽效应可以包括噪声掩蔽效应、人耳掩蔽效应、频域掩蔽效应、时域掩蔽效应、时间掩蔽效应等。

在本实施例的一些可选的实现方式中,上述执行主体可以将带噪语音在复数域下的频谱的实部和虚部分别以两个通道输入至预先训练的时频掩蔽预测模型,得到上述带噪语音的时频掩蔽的实部和虚部。而后,可以基于带噪语音的时频掩蔽的实部和虚部,生成复数域下的时频掩蔽的预测值。该预测值为复数形式。

在本实施例的一些可选的实现方式中,上述时频掩蔽预测模型可以预先通过如下步骤训练得到:

第一步,获取带噪语音样本集。此处,带噪语音样本集中可以包含大量的带噪语音样本。

其中,带噪语音样本可以是带有噪声的语音样本。上述带噪语音样本集中的带噪语音样本可以由纯净语音样本集中的纯净语音样本和噪声集中的噪声合成。实践中,带噪语音样本可以由纯净语音样本和噪声按照一定的信噪比合成得到。该信噪比可以根据需要预先设定,本申请实施例对信噪比的具体取值不作限定。

此处,纯净语音样本集中的部分纯净语音样本为混响语音样本或远近人声样本。由此训练得到的时频掩蔽预测模型,不仅适用于对带有噪声的语音进行处理,同时,可适用于对带有混响的语音以及远近人声语音进行处理,从而增强了模型的适用范围,且提高了模型的鲁棒性。

第二步,对带噪语音样本和纯净语音样本进行时频分析,分别得到带噪语音样本和纯净语音样本在复数域下的目标频谱。

此处,可以采用诸如短时距傅里叶变换等的时频分析方式,分别对带噪语音样本和纯净语音样本进行时频分析,得到带噪语音样本和上述纯净语音样本在复数域下的目标频谱。

需要说明的是,对带噪语音样本和纯净语音样本进行时频分析的操作与步骤101中对带噪语音进行时频分析的步骤基本相同,此处不再赘述。

第三步,基于带噪语音样本在复数域下的目标频谱和纯净语音样本在复数域下的目标频谱,确定复数域下的带噪语音样本的时频掩蔽的目标值。

具体地,对于每一个带噪语音样本,可以首先计算合成该带噪语音样本的纯净语音样本在复数域下的目标频谱与该带噪语音样本在复数域下的目标频谱的比值,从而将该比值作为该带噪语音样本的时频掩蔽的目标值。其中,上述目标值以复数形式表示,该目标值可以包括实部和虚部。该目标值为该带噪语音样本的时频掩蔽的真实值。

第四步,将带噪语音样本在复数域下的目标频谱输入至预先建立的卷积循环网络,分别将目标值的实部和虚部作为卷积循环网络的输出,利用机器学习方法训练得到时频掩蔽预测模型。

此处,可以将带噪语音样本在复数域下的目标频谱输入至预先建立的卷积循环网络(convolutionrecurrentnetwork,crn)。例如,可以将带噪语音样本在复数域下的目标频谱的实部和虚部分别以两个通道输入至卷积循环网络。同时,分别将目标值的实部和虚部作为卷积循环网络的输出,利用机器学习方法训练得到时频掩蔽预测模型。

此处,卷积循环网络是一种将cnn(convolutionalneuralnetwork,卷积神经网络)的深层特征提取能力与rnn(recurrentneuralnetwork,循环神经网络)的时序建模能力向集合的神经网络结构。卷积循环网络可应用于语音处理领域,以解决实时单声道语音增强的问题。

可选的,卷积循环网络的结构可以参考图2。如图2所示,卷积循环网络可以包括编码器(encoder)、第一解码器(decoder)和第二解码器。上述编码器与各解码器(包括第一解码器和第二解码器)可以通过长短期记忆网络(longshort-termmemory,长短期记忆网络)相连接。长短期记忆网络可以用于对语音信号的时间依赖性进行建模。实践中,上述长短期记忆网络可以包含两层,各层可以包含1024个节点。此外,上述长短期记忆网络还可以采用分组lstm(grouplstm)的形式,以降低参数量和计算量。

卷积循环网络的编码器可以包括多层第一结构。每层第一结构可以包括卷积层(convolution)、批归一化层(batchnorm)和指数激活单元层(elu)。上述编码器的第一层第一结构可以具有两个通道,分别用于对带噪语音的频谱的实部和虚部进行特征提取等处理。

卷积循环网络的各解码器可以分别包括多层第二结构。每层第二结构可以包括反卷积层(也称为转置卷积层)、批归一化层和指数激活单元层。上述第一解码器可以用于对带噪语音的时频掩蔽的实部进行预测,上述第二解码器可以用于对带噪语音的时频掩蔽的虚部进行预测。

此外,编码器中的第一结构的层数与各解码器中的第二结构的层数可以是相同的(例如均包含5层)。编码器中的第一结构与各解码器中的反向顺序的第二结构可以一一对应且相连接。即,编码器中的第一层第一结构与各解码器中的倒数第一层第二结构相连接;编码器中的第二层第一结构与各解码器中的倒数第二层第二结构相连接;以此类推。

作为示例,卷积循环网络的编码器和解码器的连接关系可以参见图3。如图3所示,编码器和各解码器(包含第一解码器和第二解码器)均包含5层结构。其中,编码器的第1层结构与各解码器的第5层结构相连接。编码器的第2层结构与各解码器的第4层结构相连接。编码器的第3层结构与各解码器的第3层结构相连接。编码器的第4层结构与各解码器的第2层结构相连接。编码器的第5层结构与各解码器的第1层结构相连接。同时,编码器的第5层结构通过两层长短期记忆网络与各解码器的第1层结构相连接。此处,编码器对应的通道数可以由2逐渐增长为256。解码器的通道数可以由256逐渐减少至2。

由此设置卷积循环网络的结构,可以使训练出的模型同时预测出时频掩蔽的实部和虚部。由于通过模型预测出的时频掩蔽包含实部和虚部,因而在通过时频掩蔽的实部和虚部计算出带噪语音中的纯净语音在复数域下的频谱的过程中,实现了对带噪语音的相位的修正,使得预测出的纯净语音的相位更加准确。由此,可降低语音失真程度,提高语音降噪效果。同时,在此结构中,卷积循环网络针对两个任务(分别为时频掩蔽的实部预测任务和虚部预测任务)共用同一编码器,相对于使用两个独立的网络分别进行时频掩蔽的实部和虚部的预测,可以共享编码器参数,提高模型训练速度。

可选的,上述第四步具体可以按照如下子步骤执行:

子步骤s11,从带噪语音样本集选取目标带噪语音样本,将合成目标带噪语音样本的纯净语音样本作为目标纯净语音样本。

此处,可以随机或者按照预设的选取顺序选取目标带噪语音样本。在执行子步骤s11后,可以执行包含如下子步骤s12-s18的训练步骤。

子步骤s12,将目标带噪语音样本在复数域下的目标频谱的实部和虚部分别以两个通道输入至编码器。

子步骤s13,将第一解码器输出的第一预测值作为目标带噪语音样本的时频掩蔽的实部,将第二解码器输出的第二预测值作为目标带噪语音样本的时频掩蔽的虚部,得到复数域下的目标带噪语音样本的时频掩蔽的预测值。

子步骤s14,将目标带噪语音样本的时频掩蔽的预测值和目标带噪语音样本在复数域下的目标频谱相乘,生成目标纯净语音样本在复数域下的预测频谱。

子步骤s15,基于预设评价指标、预测频谱和目标纯净语音样本在复数域下的目标频谱,确定卷积循环网络当前参数的评价值。

此处,预设评价指标可以包括但不限于以下至少一项:stoi(short-timeobjectiveintelligibility,短时客观可懂度)的百分比、pesq(perceptualevaluationofspeechquality,主观语音质量评估),snr(signal-to-noiseratio,信噪比)和sdr(signal-to-distortionratio,信号失真率)。

实践中,可以基于预测频谱和目标纯净语音样本在复数域下的目标频谱,即可得到各预设评价指标的值。而后,基于各预设评价指标的值,即可确定卷积循环网络当前参数的评价值。其中,评价值可以用于表征当前参数下的卷积循环网络的性能。

作为示例,当预设评价指标仅包含一项时,可直接将该预设评价指标的值作为卷积循环网络当前参数的评价值。当预设评价指标包含至少两项时,可以将两项预设评价指标的值进行结合(如加权等),得到卷积循环网络当前参数的评价值。

需要说明的是,计算卷积循环网络当前参数的评价值的方式不限于上述列举,也可以通过人工主观听感或者观测语谱图,来确定模型参数的优劣。

子步骤s16,基于上述预测频谱与上述目标纯净语音样本在复数域下的目标频谱,采用复数谱近似方法确定所述卷积循环网络的损失值。

此处,复数谱近似(complexspectrumapproximation,csa)是一种信号近似方法。复数谱近似用于求预测频谱的实部与目标纯净语音的目标频谱的实部的距离以及预测频谱的虚部与目标纯净语音的目标频谱的虚部的距离的均方误差(meansquareerror)。均方误差误差越小,表示模型预测效果越优。由此,可以将均方误差作为损失值,并以最小化均方误差作为训练目标。

由于上述均方误差可以表征预测频谱的实部与目标纯净语音的目标频谱的实部的距离以及预测频谱的虚部与目标纯净语音的目标频谱的虚部的距离,因而,以最小化均方误差为训练目标,可以使基于卷积循环网络的输出所得到的预测频谱的实部逐渐接近于目标纯净语音样本实际的目标频谱的实部,同时,使基于卷积循环网络的输出所得到的预测频谱的虚部逐渐接近于目标纯净语音样本实际的目标频谱的虚部,从而使分离出的纯净语音与实际的纯净语音之间的差异尽可能减小,使卷积循环网络达到理想的预测效果。

子步骤s17,基于损失值确定卷积循环网络是否训练完成。

实践中,损失值(即均方误差)越小,则卷积循环网络的预测效果更好。因而,可以预先设定一个阈值,当损失值小于该阈值时,即可认为卷积循环网络训练完成。

需要说明的是,也可以通过设定其他条件来判定卷积循环网络是否训练完成。例如,若模型在预设的训练轮数内(如20轮内)均方误差都不再下降,则也可认为模型训练完成。

子步骤s18,若是,选取评价值最优的参数作为目标参数,将采用上述目标参数的卷积循环网络作为时频掩蔽预测模型。

此处,若卷积循环网络是否训练完成,则可以选取训练过程中评价值最优的参数作为目标参数,将采用上述目标参数的卷积循环网络作为时频掩蔽预测模型。

需要说明的是,若上述卷积循环网络未训练完成,可以基于上述损失值更新上述卷积循环网络的参数,从上述语音样本集重新选取目标带噪语音样本,并继续执行上述训练步骤。直至模型训练完成。

此外,还需要指出的是,若上述卷积循环网络未训练完成,但已获取到评价值满足预期的参数,此时,也可以不再继续执行所述训练步骤,直接将该满足预期的参数作为目标参数,将采用上述目标参数的卷积循环网络作为时频掩蔽预测模型。

步骤103,将预测值和带噪语音在复数域下的频谱相乘,生成带噪语音中的目标语音在复数域下的频谱。

在本实施例中,上述执行主体在得到数域下的带噪语音的时频掩蔽的预测值后,可以将该预测值和带噪语音在复数域下的频谱相乘,得到复数域下的频谱。该频谱可视为预测出的纯净语音的频谱。由于所预测出的纯净语音通常扔带有少量噪声,因而并非原始的纯净语音,由此可将其称为带噪语音中的目标语音。该目标语音为带噪语音中的较为纯净的语音。

需要说明的是,通常,用一个估计的时频掩蔽乘以一个复数域下的时频分解后的系数,即可最终得到估计的目标语音的频谱。由于带噪语音进行时频分析后,可以采用二维向量的形式表征带噪语音在复数域下的频谱,且二维向量中的分量分别为实部和虚部,即为时频分解后的系数,因而,通过将时频掩蔽的预测值与带噪语音在复数域下的频谱相乘,即可生成带噪语音中的目标语音在复数域下的频谱。

步骤104,基于目标语音在复数域下的频谱,合成目标语音。

在本实施例中,上述执行主体可以将目标语音在复数域下的频谱转换为时域下的语音信号,从而合成目标语音。

作为示例,若对带噪语音进行时频分析时采用短时傅里叶变换的方式实现,则此时可以对上述目标语音在复数域下的频谱进行短时傅里叶变换的逆变换,合成目标语音。

本申请的上述实施例提供的方法,通过对带噪语音进行时频分析,得到带噪语音在复数域下的频谱;而后将带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的带噪语音的时频掩蔽的预测值;之后将预测值和带噪语音在复数域下的频谱相乘,生成带噪语音中的目标语音在复数域下的频谱;从而基于目标语音在复数域下的频谱,合成目标语音。由于本申请实施例可通过模型预测出复数域下的时频掩蔽,相对于实数域(仅包含幅度信息,不包含相位信息),复数域下的时频掩蔽不仅包含幅度信息,也包含相位信息,因而在基于该时频掩蔽的预测值得到目标语音在复数域下的频谱的过程中,能够基于时频掩蔽的预测值对带噪语音的相位进行修正,使所合成的目标语音的相位更加准确,由此,降低了语音失真程度,提高了语音降噪效果。

继续参见图4,图4是根据本实施例的语音处理方法的应用场景的一个示意图。在图4的应用场景中,可以包含两个阶段,分别为训练阶段和测试阶段。

如图4所示,在训练阶段,首先可以基于纯净语音样本和噪声,合成带噪语音样本。

而后,可以对带噪语音样本和纯净语音样本进行时频分析,得到带噪语音样本和纯净语音样本的频谱(此处可称为目标频谱)。该频谱可以通过短时傅里叶变换得到。所得到的频谱可以使用短时傅里叶变换后所得到的二维参数向量来表征。

之后,可以基于纯净语音样本的频谱,可以设定训练目标。例如,可以以最小化预测频谱的实部与目标纯净语音的目标频谱的实部的距离以及预测频谱的虚部与目标纯净语音的目标频谱的虚部的距离的均方误差作为训练目标。其中,均方误差可以通过计算预测频谱与纯净语音样本的目标频谱的距离得到。该预测频谱可以通过模型输出的时频掩蔽与带噪语音样本的频谱计算得到。

最后,可以将带噪语音样本的频谱的实部和虚部作为卷积循环网络的输入,将纯净语音样本的目标频谱中的实部和虚部分别作为输出,对卷积循环网络进行训练,得到时频掩蔽预测模型。

在预测阶段,可以将带有噪声的待测语音作为带噪语音,首先对带噪语音进行时频分析,得到带噪语音的频谱。

而后,可以将该频谱输入至时频掩蔽预测模型,得到模型输出的带噪语音的时频掩蔽的预测值,该预测值包括实部和虚部。将该预测值与带噪语音的频谱相乘,即可得到带噪语音中的目标语音(即预测出的纯净语音)的预测频谱。

最后,通过对该预测频谱进行短时傅里叶变换的逆变换,即可合成目标语音。

本申请的上述语音处理方法的应用场景,训练阶段和测试阶段可以通过相同设备执行,也可通过不同设备执行,此处不作限定。通过预先训练时频掩蔽预测模型,而后通过该模型对带噪语音的时频掩蔽的实部和虚部分别进行预测,之后基于时频掩蔽的预测值计算带噪语音中的目标语音在复数域下的频谱,最后基于该频谱进行目标语音的合成,由于预测出复数域下的时频掩蔽,且复数域下的时频掩蔽的预测值包含实部和虚部,因而在基于该时频掩蔽的预测值得到目标语音在复数域下的频谱的过程中,能够基于时频掩蔽的预测值对带噪语音的相位进行修正,使所合成的目标语音的相位更加准确,由此,降低了语音失真程度,提高了语音降噪效果。

进一步参考图5,其示出了语音处理方法的又一个实施例的流程500。该语音处理方法的流程500,包括以下步骤:

步骤501,对带噪语音进行短时傅里叶变换,得到带噪语音在复数域下的频谱。

在本实施例中,语音处理方法的执行主体可以通过对带噪语音进行短时傅里叶变换,得到上述带噪语音在复数域下的频谱。实践中,短时傅里叶变换是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。短时傅里叶变换的计算过程,是把一个较长的时间信号分成相同长度的更短的片段,在每个片段上计算傅里叶变换,即傅里叶频谱。

具体地,短时傅里叶变换具有时间和频率两个变量。通过滑动窗函数进行加窗并乘上对应的片段的时域信号,即可得到带窗信号。而后对带窗信号进行傅里叶变换,即可得到复数形式的短时傅里叶变换系数(包括实部和虚部)。依次对各帧执行上述操作,即可将时域下的带噪语音的各片段进行傅里叶变换,从而得到各片段的对应的短时傅里叶变换系数。实践中,每个片段的短时傅里叶变换系数可以组合为一个二维向量的形式。因而,对带噪语音进行时频分析后,可以采用二维向量序列的形式表征带噪语音在复数域下的频谱。

步骤502,将带噪语音在复数域下的频谱的实部和虚部分别以两个通道输入至预先训练的时频掩蔽预测模型,得到带噪语音的时频掩蔽的实部和虚部。

在本实施例中,上述执行主体可以将上述带噪语音在复数域下的频谱的实部和虚部分别以两个通道输入至预先训练的时频掩蔽预测模型,得到上述带噪语音的时频掩蔽的实部和虚部。其中,上述时频掩蔽预测模型的训练过程可以参见步骤102中的描述,此处不再赘述。

步骤503,基于带噪语音的时频掩蔽的实部和虚部,生成复数域下的带噪语音的时频掩蔽的预测值。

在本实施例中,上述执行主体可以在将上述带噪语音的时频掩蔽的实部和虚部相加,得到复数域下的上述带噪语音的时频掩蔽的预测值。

步骤504,将预测值和带噪语音在复数域下的频谱相乘,生成带噪语音中的目标语音在复数域下的频谱。

在本实施例中,上述执行主体在得到数域下的带噪语音的时频掩蔽的预测值后,可以将该预测值和带噪语音在复数域下的频谱相乘,得到复数域下的频谱。该频谱可视为预测出的纯净语音的频谱。由于所预测出的纯净语音通常扔带有少量噪声,因而并非原始的纯净语音,由此可将其称为带噪语音中的目标语音。该目标语音为带噪语音中的较为纯净的语音。

需要说明的是,通常,用一个估计的时频掩蔽乘以一个复数域下的时频分解后的系数,即可最终得到估计的语音的频谱。由于带噪语音进行时频分析后,可以采用二维向量的形式表征带噪语音在复数域下的频谱,且二维向量中的分量分别为实部和虚部,即为时频分解后的系数,因而,通过将时频掩蔽的预测值与带噪语音在复数域下的频谱相乘,即可生成带噪语音中的目标语音在复数域下的频谱。

步骤505,对目标语音在复数域下的频谱进行短时傅里叶变换的逆变换,合成目标语音。

步骤506,采用后滤波算法对目标语音进行滤波处理,得到增强后的目标语音。

在本实施例中,为避免所合成目标语音中仍具有残留噪声,上述执行主体可以对采用后滤波算法对步骤505所得到的目标语音进行滤波处理,由于滤波处理可实现降噪的效果,因而可使目标语音达到增强的效果,由此即可得到增强后的目标语音。通过对目标语音进行滤波处理,可以进一步提高语音降噪效果。

从图5中可以看出,与图1对应的实施例相比,本实施例中的语音处理方法的流程500涉及了采用后滤波算法对目标语音进行滤波处理的步骤。由此,可以降低所合成目标语音中的残留噪声,进一步提高语音降噪效果。

进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种语音处理装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图6所示,本实施例所述的语音处理装置600包括:分析单元601,被配置成对带噪语音进行时频分析,得到上述带噪语音在复数域下的频谱;预测单元602,被配置成将上述带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的上述带噪语音的时频掩蔽的预测值;生成单元603,被配置成将上述预测值和上述带噪语音在复数域下的频谱相乘,生成上述带噪语音中的目标语音在复数域下的频谱;合成单元604,被配置成基于上述目标语音在复数域下的频谱,合成上述目标语音。

在本实施例的一些可选的实现方式中,上述分析单元601,可以进一步被配置成:对带噪语音进行短时傅里叶变换,得到上述带噪语音在复数域下的频谱;以及,合成单元604,可以进一步被配置成:对上述目标语音在复数域下的频谱进行短时傅里叶变换的逆变换,合成上述目标语音。

在本实施例的一些可选的实现方式中,上述装置还包括:滤波单元,被配置成:采用后滤波算法对上述目标语音进行滤波处理,得到增强后的目标语音。

在本实施例的一些可选的实现方式中,上述预测单元602,可以进一步被配置成:将上述带噪语音在复数域下的频谱的实部和虚部分别以两个通道输入至预先训练的时频掩蔽预测模型,得到上述带噪语音的时频掩蔽的实部和虚部;基于上述带噪语音的时频掩蔽的实部和虚部,生成复数域下的上述带噪语音的时频掩蔽的预测值。

在本实施例的一些可选的实现方式中,上述时频掩蔽预测模型通过如下步骤训练得到:获取带噪语音样本集,其中,上述带噪语音样本集中的带噪语音样本由纯净语音样本集中的纯净语音样本和噪声集中的噪声合成,上述纯净语音样本集中的部分纯净语音样本为混响语音样本或远近人声样本;对上述带噪语音样本和上述纯净语音样本进行时频分析,分别得到上述带噪语音样本和上述纯净语音样本在复数域下的目标频谱;基于上述带噪语音样本在复数域下的目标频谱和上述纯净语音样本在复数域下的目标频谱,确定复数域下的上述带噪语音样本的时频掩蔽的目标值,上述目标值包括实部和虚部;将上述带噪语音样本在复数域下的目标频谱输入至预先建立的卷积循环网络,分别将上述目标值的实部和虚部作为卷积循环网络的输出,利用机器学习方法训练得到时频掩蔽预测模型。

在本实施例的一些可选的实现方式中,上述卷积循环网络包括编码器、第一解码器和第二解码器;上述编码器与各解码器通过两层长短期记忆网络相连接;上述编码器包括多层第一结构,每层第一结构包括卷积层、批归一化层和指数激活单元层;各解码器分别包括多层第二结构,每层第二结构包括反卷积层、批归一化层和指数激活单元层;上述编码器中的第一结构的层数与各解码器中的第二结构的层数相同,上述编码器中的第一结构与各解码器中的反向顺序的第二结构一一对应且相连接。

在本实施例的一些可选的实现方式中,上述将上述带噪语音样本在复数域下的目标频谱输入至预先建立的卷积循环网络,分别将上述目标值的实部和虚部作为卷积循环网络的输出,利用机器学习方法训练得到时频掩蔽预测模型,包括:从上述带噪语音样本集选取目标带噪语音样本,将合成上述目标带噪语音样本的纯净语音样本作为目标纯净语音样本,执行如下训练步骤:将上述目标带噪语音样本在复数域下的目标频谱的实部和虚部分别以两个通道输入至上述编码器;将上述第一解码器输出的第一预测值作为上述目标带噪语音样本的时频掩蔽的实部,将上述第二解码器输出的第二预测值作为上述目标带噪语音样本的时频掩蔽的虚部,得到复数域下的上述目标带噪语音样本的时频掩蔽的预测值;将上述目标带噪语音样本的时频掩蔽的预测值和上述目标带噪语音样本在复数域下的目标频谱相乘,生成上述目标纯净语音样本在复数域下的预测频谱;基于预设评价指标、上述预测频谱和上述目标纯净语音样本在复数域下的目标频谱,确定上述卷积循环网络当前参数的评价值;基于上述预测频谱与上述目标纯净语音样本在复数域下的目标频谱,采用复数谱近似方法确定上述卷积循环网络的损失值;基于上述损失值确定上述卷积循环网络是否训练完成;若是,选取评价值最优的参数作为目标参数,将采用上述目标参数的卷积循环网络作为时频掩蔽预测模型;响应于确定上述卷积循环网络未训练完成,基于上述损失值更新上述卷积循环网络的参数,从上述语音样本集重新选取目标带噪语音样本,并继续执行上述训练步骤。

本申请的上述实施例提供的装置,通过对带噪语音进行时频分析,得到带噪语音在复数域下的频谱;而后将带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的带噪语音的时频掩蔽的预测值;之后将预测值和带噪语音在复数域下的频谱相乘,生成带噪语音中的目标语音在复数域下的频谱;从而基于目标语音在复数域下的频谱,合成目标语音。由于本申请实施例可通过模型预测出复数域下的时频掩蔽,相对于实数域(仅包含幅度信息,不包含相位信息),复数域下的时频掩蔽不仅包含幅度信息,也包含相位信息,因而在基于该时频掩蔽的预测值得到目标语音在复数域下的频谱的过程中,能够基于时频掩蔽的预测值对带噪语音的相位进行修正,使所合成的目标语音的相位更加准确,由此,降低了语音失真程度,提高了语音降噪效果。

图7是根据一示例性实施例示出的用于处理语音的装置700的框图,该装置700可以为智能终端或者服务器。例如,装置700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图7,装置700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(i/o)的接口712,传感器组件714,以及通信组件716。

处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。

存储器704被配置为存储各种类型的数据以支持在装置700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,时频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件706为装置700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。

多媒体组件708包括在上述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。上述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与上述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或时频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(mic),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。

i/o接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如上述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,上述通信组件716还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置700可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述方法。例如,上述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

图8是本申请的一些实施例中服务器的结构示意图。该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。

服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,一个或一个以上键盘856,和/或,一个或一个以上操作系统841,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

一种非临时性计算机可读存储介质,当上述存储介质中的指令由装置(智能终端或者服务器)的处理器执行时,使得装置能够执行一种语音处理设置方法,上述方法包括:对带噪语音进行时频分析,得到所述带噪语音在复数域下的频谱;将所述带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的所述带噪语音的时频掩蔽的预测值;将所述预测值和所述带噪语音在复数域下的频谱相乘,生成所述带噪语音中的目标语音在复数域下的频谱;基于所述目标语音在复数域下的频谱,合成所述目标语音。

可选的,所述对带噪语音进行时频分析,得到所述带噪语音在复数域下的频谱,包括:对带噪语音进行短时傅里叶变换,得到所述带噪语音在复数域下的频谱;以及,所述基于所述目标语音在复数域下的频谱,合成所述目标语音,包括:对所述目标语音在复数域下的频谱进行短时傅里叶变换的逆变换,合成所述目标语音。

可选的,所述装置经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:采用后滤波算法对所述目标语音进行滤波处理,得到增强后的目标语音。

可选的,所述将所述带噪语音在复数域下的频谱输入至预先训练的时频掩蔽预测模型,得到复数域下的所述带噪语音的时频掩蔽的预测值,包括:将所述带噪语音在复数域下的频谱的实部和虚部分别以两个通道输入至预先训练的时频掩蔽预测模型,得到所述带噪语音的时频掩蔽的实部和虚部;基于所述带噪语音的时频掩蔽的实部和虚部,生成复数域下的所述带噪语音的时频掩蔽的预测值。

可选的,所述时频掩蔽预测模型通过如下步骤训练得到:获取带噪语音样本集,其中,所述带噪语音样本集中的带噪语音样本由纯净语音样本集中的纯净语音样本和噪声集中的噪声合成,所述纯净语音样本集中的部分纯净语音样本为混响语音样本或远近人声样本;对所述带噪语音样本和所述纯净语音样本进行时频分析,分别得到所述带噪语音样本和所述纯净语音样本在复数域下的目标频谱;基于所述带噪语音样本在复数域下的目标频谱和所述纯净语音样本在复数域下的目标频谱,确定复数域下的所述带噪语音样本的时频掩蔽的目标值,所述目标值包括实部和虚部;将所述带噪语音样本在复数域下的目标频谱输入至预先建立的卷积循环网络,分别将所述目标值的实部和虚部作为卷积循环网络的输出,利用机器学习方法训练得到时频掩蔽预测模型。

可选的,所述卷积循环网络包括编码器、第一解码器和第二解码器;所述编码器与各解码器通过两层长短期记忆网络相连接;所述编码器包括多层第一结构,每层第一结构包括卷积层、批归一化层和指数激活单元层;各解码器分别包括多层第二结构,每层第二结构包括反卷积层、批归一化层和指数激活单元层;所述编码器中的第一结构的层数与各解码器中的第二结构的层数相同,所述编码器中的第一结构与各解码器中的反向顺序的第二结构一一对应且相连接。

可选的,所述将所述带噪语音样本在复数域下的目标频谱输入至预先建立的卷积循环网络,分别将所述目标值的实部和虚部作为卷积循环网络的输出,利用机器学习方法训练得到时频掩蔽预测模型,包括:从所述带噪语音样本集选取目标带噪语音样本,将合成所述目标带噪语音样本的纯净语音样本作为目标纯净语音样本,执行如下训练步骤:将所述目标带噪语音样本在复数域下的目标频谱的实部和虚部分别以两个通道输入至所述编码器;将所述第一解码器输出的第一预测值作为所述目标带噪语音样本的时频掩蔽的实部,将所述第二解码器输出的第二预测值作为所述目标带噪语音样本的时频掩蔽的虚部,得到复数域下的所述目标带噪语音样本的时频掩蔽的预测值;将所述目标带噪语音样本的时频掩蔽的预测值和所述目标带噪语音样本在复数域下的目标频谱相乘,生成所述目标纯净语音样本在复数域下的预测频谱;基于预设评价指标、所述预测频谱和所述目标纯净语音样本在复数域下的目标频谱,确定所述卷积循环网络当前参数的评价值;基于所述预测频谱与所述目标纯净语音样本在复数域下的目标频谱,采用复数谱近似方法确定上述卷积循环网络的损失值;基于所述损失值确定所述卷积循环网络是否训练完成;若是,选取评价值最优的参数作为目标参数,将采用所述目标参数的卷积循环网络作为时频掩蔽预测模型;响应于确定所述卷积循环网络未训练完成,基于所述损失值更新所述卷积循环网络的参数,从所述语音样本集重新选取目标带噪语音样本,并继续执行所述训练步骤。

本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

以上上述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

以上对本申请所提供的一种语音处理方法、装置和用于处理语音的装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1