语音处理方法、装置、设备及存储介质与流程

文档序号:15938218发布日期:2018-11-14 02:44阅读:211来源:国知局

本申请涉及语音处理技术领域,尤其涉及一种语音处理方法、装置、设备及存储介质。

背景技术

在低噪声情况下,人类的听觉系统可以分辨出嘈杂环境中的感兴趣的声音,这个现象叫做“鸡尾酒会效应”。“鸡尾酒会效应”通常被在技术上描述为盲源分离问题,也就是在没有参考信号的情况下,把感兴趣的“前景音”从嘈杂的“背景音”中分离出来。

盲源分离主要的技术手段是估计掩蔽阈值(mask),并通过掩蔽阈值对声学特征进行处理。目前采用神经网络算法估计掩蔽阈值。例如:针对语音的快速傅里叶变换(fastfouriertransform,fft)的幅值谱这一特征,通过如下公式估计掩蔽阈值:其中,t表示第t个语音帧,f表示第f个频点,表示第(t,f)时频点的干净(clean)语音的功率;表示第(t,f)时频点的带有噪声(noisy)的语音的功率。然而,在实际应用中干净语音还是携带有噪声,基于此,造成估计得到的掩蔽阈值不够准确,进而导致语音处理效果不佳。



技术实现要素:

为了解决上述技术问题,本申请提供一种语音处理方法、装置、设备及存储介质,其中根据vad信息对掩蔽阈值修正,从而消除了大量离散的掩蔽阈值,进而提高了噪声抑制效果,并且降低了语音损伤。

第一方面,本申请提供一种语音处理方法,包括:获取n个语音帧中每个语音帧的第一声学特征,n为大于1的正整数。对n个第一声学特征采用神经网络算法,得到第一掩蔽阈值。根据n个语音帧的语音活动检测vad信息修正第一掩蔽阈值,得到第二掩蔽阈值。根据第二掩蔽阈值对n个第一声学特征进行处理,得到第二声学特征。

本申请的有益效果包括:通过vad信息对掩蔽阈值修正,从而消除了大量离散的掩蔽阈值,通过修正后的掩蔽阈值对声学特征进行处理,可以提高噪声抑制效果,并且降低语音损伤。

可选地,根据n个语音帧的vad信息修正第一掩蔽阈值,包括:计算vad信息与第一掩蔽阈值的乘积,得到第二掩蔽阈值。通过该方法可以有效的修正第一掩蔽阈值。

可选地,vad信息包括:每个语音帧对应的vad值。当n个语音帧包括静音帧时,将静音帧对应的vad值置为0。通过该方法可以确定vad信息,以修正第一掩蔽阈值。

可选地,vad信息包括:每个语音帧对应的vad值。相应的,根据n个语音帧的语音活动检测vad信息修正第一掩蔽阈值之前,还包括:确定n个语音帧中vad值为1的m1个语音帧,以及,vad值为0的p1个语音帧,m1个语音帧与p1个语音帧相邻,其中m1和p1均为大于1的正整数。对m1个语音帧中的m2个语音帧对应的vad值和p1个语音帧中的p2个语音帧对应的vad值作平滑处理,以使m2个语音帧和p2个语音帧对应的vad值由0渐变至1或者由1渐变至0,m2个语音帧与p2个语音帧相邻,其中1≤m2≤m1,1≤p2≤p1。通过该方法可以确定vad信息,以修正第一掩蔽阈值。

可选地,确定n个语音帧中vad值为1的m1个语音帧,以及,vad值为0的p1个语音帧,包括:确定n个语音帧中的每个语音帧对应的电话类型,类型包括:静音和非静音。将类型为静音的语音帧确定为vad值为0的语音帧。将类型为非静音的语音帧确定为vad值为1的语音帧。

可选地,m2和p2通过hamming窗、三角窗或者hanning窗确定。

下面将提供一种语音处理装置、设备、存储介质及计算机程序产品,其效果和参考上述方法部分的效果,下面对此不再赘述。

第二方面,本申请提供一种语音处理装置,包括:

获取模块,用于获取n个语音帧中每个语音帧的第一声学特征,n为大于1的正整数。

训练模块,用于对n个第一声学特征采用神经网络算法,得到第一掩蔽阈值。

修正模块,用于根据n个语音帧的语音活动检测vad信息修正第一掩蔽阈值,得到第二掩蔽阈值。

第一处理模块,用于根据第二掩蔽阈值对n个第一声学特征进行处理,得到第二声学特征。

可选地,修正模块具体用于:计算vad信息与第一掩蔽阈值的乘积,得到第二掩蔽阈值。

可选地,vad信息包括:每个语音帧对应的vad值。相应的,装置还包括:设置模块,用于当n个语音帧包括静音帧时,将静音帧对应的vad值置为0。

可选地,vad信息包括:每个语音帧对应的vad值。相应的,装置还包括:

确定模块,用于确定n个语音帧中vad值为1的m1个语音帧,以及,vad值为0的p1个语音帧,m1个语音帧与p1个语音帧相邻,其中m1和p1均为大于1的正整数。

第二处理模块,用于对m1个语音帧中的m2个语音帧对应的vad值和p1个语音帧中的p2个语音帧对应的vad值作平滑处理,以使m2个语音帧和p2个语音帧对应的vad值由0渐变至1或者由1渐变至0,m2个语音帧与p2个语音帧相邻,其中1≤m2≤m1,1≤p2≤p1。

可选地,确定模块具体用于:确定n个语音帧中的每个语音帧对应的电话类型,类型包括:静音和非静音。将类型为静音的语音帧确定为vad值为0的语音帧。将类型为非静音的语音帧确定为vad值为1的语音帧。

可选地,m2和p2通过hamming窗、三角窗或者hanning窗确定。

第三方面,本申请提供一种语音处理设备,包括:

存储器和处理器。

存储器用于存储处理器的执行指令,以使处理器执行如第一方面或第一方面的可选方式的语音处理方法。

第四方面,本申请提供一种存储介质,包括:计算机可执行指令,指令用于实现如第一方面或第一方面的可选方式的语音处理方法。

第五方面,本申请提供一种计算机程序产品,包括:计算机可执行指令,指令用于实现如第一方面或第一方面的可选方式的语音处理方法。

本申请提供一种语音处理方法、装置、设备及存储介质,包括:获取n个语音帧中每个语音帧的第一声学特征,n为大于1的正整数。对n个第一声学特征采用神经网络算法,得到第一掩蔽阈值。根据n个语音帧的语音活动检测vad信息修正第一掩蔽阈值,得到第二掩蔽阈值。根据第二掩蔽阈值对n个第一声学特征进行处理,得到第二声学特征。通过vad信息对掩蔽阈值修正,从而消除了大量离散的掩蔽阈值,通过修正后的掩蔽阈值对声学特征进行处理,可以提高噪声抑制效果,并且降低语音损伤。

附图说明

图1为本申请一实施例提供的一种语音处理方法的流程图;

图2为本申请另一实施例提供的一种语音处理方法的流程图;

图3为本申请一实施例提供的对vad值作平滑处理的示意图;

图4为本申请一实施例提供的一种语音处理装置400的示意图;

图5为本申请一实施例提供的一种语音处理设备500的示意图。

具体实地施方式

如上所述,“鸡尾酒会效应”通常被在技术上描述为盲源分离问题,也就是在没有参考信号的情况下,把感兴趣的“前景音”从嘈杂的“背景音”中分离出来。

盲源分离可以应用于如下几个场景:

场景一:将目标讲话人的语音从多个讲话人的语音中提取出来。例如:客厅里电视正在播放新闻联播,用户想和茶几上智能音箱进行交互。音箱同时接收到了用户的语音请求,和新闻联播中主持人的播报。也就是说,同一时刻,两个人在说话。

场景二:将语音从背景噪声中分离出来。例如:司机在开车的时候,车机或者手机的麦克风会接收到各种噪声,如风噪、路噪,鸣笛等,盲源分离可以抑制这些环境噪声,只把司机的语音提取出来。

盲源分离实际上是一个回归模型,如果模型性能不理想,就会出现如下缺陷:

1、背景音没有消除。也就是说盲源分离去噪效果差,对噪声的抑制能力低。

2、目标语音也被消除了。也就是说,盲源分离不仅抑制了噪声,同时,也抑制了目标语音。

3、噪声没有消除干净,目标语音被损伤了。这个情况最为普遍,也就是在某些时频点上,噪声仍然存在;而在另一些时频点上,目标语音却被消除了。

因此,盲源分离最核心的两个技术为:噪声抑制和不损伤目标语音。好的盲源分离应该能够在目标语音尽量少的损伤的情况下,把背景噪声抑制到最强程度。

盲源分离的关键环节在于计算mask。在现有技术中,针对每一个语音帧的声学特征,利用神经网络预测一个0到1之间的输出向量,该输出向量即为mask。

上述的声学特征可以是fft的幅值谱、梅尔频率倒谱系数(mel-frequencycepstrumcoefficients,mfcc),梅尔标度滤波器组(mel-scalefilterbank,fbank)或者感知线性预测(perceptuallinearpredictive,plp)等。

例如:针对语音的fft的幅值谱这一特征,通过如下公式估计mask:其中,t表示第t个语音帧,f表示第f个频点,表示第(t,f)时频点的干净(clean)语音的功率;表示第(t,f)时频点的带有噪声(noisy)的语音的功率。然而,在实际应用中干净语音还是携带有噪声,基于此,造成估计得到的掩蔽阈值不够准确,进而导致语音处理效果不佳。

为了解决该技术问题,本申请提供语音处理方法、装置、设备及存储介质。其中,本申请的技术方案应用于上述盲源分离的应用场景,但不限于上述场景。具体地,图1为本申请一实施例提供的一种语音处理方法的流程图,该方法的执行主体为计算机、手机、笔记本电脑等智能终端的部分或整体,下面以该方法的执行主体为计算机对该方法进行说明。如图1所示,该语音处理方法包括如下方法步骤:

步骤s101:获取n个语音帧中每个语音帧的第一声学特征,n为大于1的正整数。

步骤s102:对n个第一声学特征采用神经网络算法,得到第一掩蔽阈值。

步骤s103:根据n个语音帧的语音活动检测(voiceactivitydetection,vad)信息修正第一掩蔽阈值,得到第二掩蔽阈值。

步骤s104:根据第二掩蔽阈值对所述n个第一声学特征进行处理,得到第二声学特征。

针对步骤s101进行说明:

该第一声学特征可以是fft的幅值谱、mfcc、fbank或者plp中的任一项,本申请对第一声学特征不作限制。实际上,n个语音帧中每个语音帧的第一声学特征构成一个第一声学特征向量,该向量包括n个元素,n个元素分别是n个语音帧分别对应的第一声学特征。

针对步骤s102进行说明:

需要说明的是,本申请涉及的神经网络算法是现有技术中用于计算掩蔽阈值mask的神经网络算法,本申请对此不作限制。

进一步地,如上所述,对n个第一声学特征采用神经网络算法,得到第一掩蔽阈值,该第一掩蔽阈值是包括n个分量的向量,n个分量分别与n个第一声学特征一一对应,n个分量中的每个分量的取值范围为【0,1】。

针对步骤s103进行说明:

vad又被称为语音端点检测、语音边界检测等,它是指在噪声环境中检测语音的存在与否,通常用于语音编码、语音增强等语音处理系统中,起到降低语音编码速率、节省通信带宽、减少移动设备能耗、提高识别率等作用。

本申请涉及的vad可以是预先设置的,也可以是根据语音帧的电话类型确定,该类型可以是静音(silence)或非静音(phone)。

其中,根据语音帧的电话类型确定vad的方法如下:

可选方式一,vad信息包括:n个语音帧中每个语音帧对应的vad值;其中,当n个语音帧包括静音帧时,将静音帧对应的vad值为0,相反,当n个语音帧包括非静音帧时,该非静音帧对应的vad值大于0且小于或等于1。其中所谓“静音帧”是指类型为静音的语音帧。所谓“非静音帧”是指类型为非静音的语音帧。

可选地,根据n个语音帧的语音活动检测vad信息修正第一掩蔽阈值,包括:计算vad信息与第一掩蔽阈值的乘积,得到第二掩蔽阈值。或者,计算vad信息、第一掩蔽阈值以及预设系数三者的乘积,得到第二掩蔽阈值。本申请对如何根据第二掩蔽阈值不作限制。其中,该第二掩蔽阈值也是包括n个分量的向量,n个分量分别与n个第一声学特征一一对应,n个分量中的每个分量的取值范围为【0,1】,该预设系数可以大于0且小于或等于1。

基于此,当某vad值为0时,对应的第二掩蔽阈值中的分量也为0。本申请将这种修正方式叫hard修正方式。

可选方式二,vad信息包括:n个语音帧中每个语音帧对应的vad值。相应地,图2为本申请另一实施例提供的一种语音处理方法的流程图,如图2所示,在步骤s103之前,该语音处理方法还包括:

步骤s1031:确定n个语音帧中vad值为1的m1个语音帧,以及,vad值为0的p1个语音帧,m1个语音帧与p1个语音帧相邻。

步骤s1032:对m1个语音帧中的m2个语音帧对应的vad值和p1个语音帧中的p2个语音帧对应的vad值作平滑处理,以使m2个语音帧和p2个语音帧对应的vad值由0渐变至1或者由1渐变至0,m2个语音帧与p2个语音帧相邻。

针对步骤s1301进行说明:其中m1和p1均为大于1的正整数,m1+p1=n,具体地,首先确定n个语音帧中的每个语音帧对应的电话类型,类型包括:静音和非静音;将所述类型为静音的语音帧确定为vad值为0的语音帧;将所述类型为非静音的语音帧确定为vad值为1的语音帧。

其中,在本申请中,可以采用“强制对齐”的方式确定n个语音帧中的每个语音帧对应的电话类型,这里所谓“强制对齐”是指确定每个类型的起止时间,如某类型对应的是哪一语音帧或哪几语音帧。例如:将n个语音帧中的前m1语音帧强制对齐至静音类型,将m1语音帧之后的p1语音帧强制对齐至非静音类型。需要说明的是,将n个语音帧中的前m1语音帧强制对齐至静音类型,将m1语音帧之后的p1语音帧强制对齐至非静音类型仅为一种示例,实际上,n个语音帧也依次由n1个静音类型的语音帧,n2个非静音类型的语音帧,n3个静音类型的语音帧……nn个非静音类型的语音帧构成,其中n1+n2+……nn=n,n1、n2、……nn均为大于或等于0的整数。本申请对此不做限制。

针对步骤s1302进行说明:1≤m2≤m1,1≤p2≤p1,可选地,m2和p2通过hamming窗、三角窗或者hanning窗确定。优选地,m2+p2=10。图3为本申请一实施例提供的对vad值作平滑处理的示意图,如图3所示,第0个语音帧到第30个语音帧为静音帧,即它们本身对应的vad值为0,第31个语音帧到第280个语音帧为非静音帧,即它们本身对应的vad值为1,第281个语音帧到第300个语音帧又为静音帧,即它们本身对应的vad值为0。下面对从第20个语音帧到第40个语音帧进行平滑处理,具体可以确定第20个语音帧的对应的点坐标(20,0),以及第40个语音帧的对应的点坐标(40,1),根据两点确定直线,该直线即为从第20个语音帧到第40个语音帧进行平滑处理后的结果,基于此,从第20个语音帧到第40个语音帧vad值由0渐变为1。同样地,对从第260个语音帧到第290个语音帧进行平滑处理,具体可以确定第260个语音帧的对应的点坐标(260,1),以及第290个语音帧的对应的点坐标(290,0),根据两点确定直线,该直线即为从第260个语音帧到第290个语音帧进行平滑处理后的结果,基于此,从第260个语音帧到第290个语音帧vad值由1渐变为0。

本申请将这种可选方式二叫soft修正方式。

针对步骤s104进行说明:

一种可选方式,根据第二掩蔽阈值对所述n个第一声学特征进行处理,得到n个第二声学特征。假设将任一第二声学特征记为estimate,将该第二声学特征对应的第一声学特征记为noise,将第二掩蔽阈值中该第一声学特征对应的分量记为h,则estimate=noise*h。其中“*”表示乘积。

另一种可选方式,根据第二掩蔽阈值对所述n个第一声学特征进行处理,得到一个第二声学特征。假设将该第二声学特征记为estimate,将n个第一声学特征记为noise(n),其中noise(n)是由n个第一声学特征构成的向量,将第二掩蔽阈值中该第一声学特征对应的分量记为h(n),则estimate=noise(n)*(h(n))t。其中“*”表示向量的乘积,(h(n))t表示h(n)的转置。

综上,本申请提供一种语音处理方法,该方法的关键技术在于根据vad信息对掩蔽阈值修正,从而消除了大量离散的掩蔽阈值,进而提高了噪声抑制效果,并且降低了语音损伤。

图4为本申请一实施例提供的一种语音处理装置400的示意图,如图4所示,该语音处理装置可以是计算机、平板电脑或手机的部分或全部,如该装置可以是计算机或者可以是处理器等,该装置包括:

获取模块401,用于获取n个语音帧中每个语音帧的第一声学特征,n为大于1的正整数。

训练模块402,用于对获取模块401获取到的n个第一声学特征采用神经网络算法,得到第一掩蔽阈值。

修正模块403,用于根据n个语音帧的vad信息修正训练模块402得到的第一掩蔽阈值,得到第二掩蔽阈值。

第一处理模块404,用于根据修正模块403得到的第二掩蔽阈值对n个第一声学特征进行处理,得到第二声学特征。

可选地,修正模块403具体用于:

计算vad信息与第一掩蔽阈值的乘积,得到第二掩蔽阈值。

可选地,vad信息包括:每个语音帧对应的vad值。相应的,装置还包括:

设置模块405,用于当n个语音帧包括静音帧时,将静音帧对应的vad值置为0。

可选地,vad信息包括:每个语音帧对应的vad值。

相应的,装置还包括:

确定模块406,用于确定n个语音帧中vad值为1的m1个语音帧,以及,vad值为0的p1个语音帧,m1个语音帧与p1个语音帧相邻,其中m1和p1均为大于1的正整数。

第二处理模块407,用于对m1个语音帧中的m2个语音帧对应的vad值和p1个语音帧中的p2个语音帧对应的vad值作平滑处理,以使m2个语音帧和p2个语音帧对应的vad值由0渐变至1或者由1渐变至0,m2个语音帧与p2个语音帧相邻,其中1≤m2≤m1,1≤p2≤p1。

可选地,确定模块406具体用于:确定n个语音帧中的每个语音帧对应的电话类型,类型包括:静音和非静音。将类型为静音的语音帧确定为vad值为0的语音帧。将类型为非静音的语音帧确定为vad值为1的语音帧。

可选地,m2和p2通过hamming窗、三角窗或者hanning窗确定。

本申请提供一种语音处理装置,该装置可用于上述的语音处理方法,其内容和效果可参考方法实施例部分,本申请在此不再赘述。

图5为本申请一实施例提供的一种语音处理设备500的示意图,该语音处理设备可以是计算机、平板电脑或手机等智能设备,如图5所示,该设备包括:

存储器501和处理器502。其中,存储器501用于存储所述处理器502的执行指令,以使所述处理器502执行上述的语音处理方法。

可选地,该设备还包括:收发器503,该收发器503用于实现该设备500与其他设备之间的通信。

存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom),可编程只读存储器(programmableread-onlymemory,prom),只读存储器(read-onlymemory,rom),磁存储器,快闪存储器,磁盘或光盘。

处理器502可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,asic)、数字信号处理器(digitalsignalprocessor,dsp)、数字信号处理设备(digitalsignalprocessingdevice,dspd)、可编程逻辑器件(programmablelogicdevice,pld)、现场可编程门阵列(field-programmablegatearray,fpga)、控制器、微控制器、微处理器或其他电子元件实现。

具体地,处理器502用于实现如下方法:获取n个语音帧中每个语音帧的第一声学特征,n为大于1的正整数。对n个第一声学特征采用神经网络算法,得到第一掩蔽阈值。根据n个语音帧的vad信息修正第一掩蔽阈值,得到第二掩蔽阈值。根据第二掩蔽阈值对n个第一声学特征进行处理,得到第二声学特征。

可选地,处理器502还用于计算vad信息与第一掩蔽阈值的乘积,得到第二掩蔽阈值。

可选地,vad信息包括:每个语音帧对应的vad值。相应的,处理器502还用于当n个语音帧包括静音帧时,将静音帧对应的vad值置为0。

可选地,vad信息包括:每个语音帧对应的vad值。处理器502还用于确定n个语音帧中vad值为1的m1个语音帧,以及,vad值为0的p1个语音帧,m1个语音帧与p1个语音帧相邻,其中m1和p1均为大于1的正整数。对m1个语音帧中的m2个语音帧对应的vad值和p1个语音帧中的p2个语音帧对应的vad值作平滑处理,以使m2个语音帧和p2个语音帧对应的vad值由0渐变至1或者由1渐变至0,m2个语音帧与p2个语音帧相邻,其中1≤m2≤m1,1≤p2≤p1。

可选地,处理器502具体用于:确定n个语音帧中的每个语音帧对应的电话类型,类型包括:静音和非静音。将类型为静音的语音帧确定为vad值为0的语音帧。将类型为非静音的语音帧确定为vad值为1的语音帧。

可选地,m2和p2通过hamming窗、三角窗或者hanning窗确定。

本申请提供一种语音处理设备,该设备可用于上述的语音处理方法,其内容和效果可参考方法实施例部分,本申请在此不再赘述。

本申请还提供一种存储介质,包括:计算机可执行指令,该指令用于实现如上述的语音处理方法。其内容和效果可参考方法实施例部分,本申请在此不再赘述。

本申请还提供一种计算机程序产品,包括:计算机可执行指令,该指令用于实现如上述的语音处理方法。其内容和效果可参考方法实施例部分,本申请在此不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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