语音活动检测方法、语音识别方法及系统与流程

文档序号:19949226发布日期:2020-02-18 10:05阅读:323来源:国知局
语音活动检测方法、语音识别方法及系统与流程

本发明涉及语音识别技术领域,尤其涉及一种语音活动检测方法、语音识别方法及系统。



背景技术:

语音活动检测(voiceactivitydetection,vad)也被称为语音检测,在语音处理中用于检测语音的存在与否,从而将信号中的语音片段和非语音片段分开。专利申请号为:201410853931.6,名称为:语音活动检测方法及其系统的中国专利申请基于传统声学特征,如短时能量、频谱能量、过零率等或基于神经网络提取的特征来进行语音活动检测,对每一帧音频都给出是否是语音的判定。这种方法在信噪比较高时拥有很好的性能。但是背景噪声较大、信噪比较低时,系统容易将非语音片段判定为语音片段,并送到后端语音识别系统,造成资源的浪费。



技术实现要素:

本发明实施例提供一种语音活动检测方法、语音识别方法及系统,用于至少解决上述技术问题之一。

第一方面,本发明实施例提供一种语音活动检测方法,包括:

对待检测音频文件进行帧级别音频活动检测,以确定所述待检测音频文件是否包含语音;

当采用帧级别音频活动检测确定所述待检测音频文件包含语音时,将所述待检测音频文件切分为多个句子级子音频片段,以获取所述多个句子级子音频片段的多个子音频特征;

根据所述多个子音频特征对所述待检测音频文件进行句子级别语音活动检测,以再次判断所述待检测音频文件是否包含语音。

第二方面,本发明实施例提供一种语音识别方法,应用于语音识别终端,所述方法包括:

获取待检测音频文件;

采用本发明任一实施例所述的语音活动检测方法判断所述待检测音频文件中是否包含语音;

如果是,则对所述待检测音频文件进行语音识别;

如果否,则不对所述待检测音频文件进行语音识别。

第三,本发明实施例提供语音活动检测系统,包括:

帧级音活动检测模块,用于对待检测音频文件进行帧级别音频活动检测,以确定所述待检测音频文件是否包含语音;

音频分段模块,用于当采用帧级别音频活动检测确定所述待检测音频文件包含语音时,将所述待检测音频文件切分为多个句子级子音频片段,以获取所述多个句子级子音频片段的多个子音频特征;

句级语音活动检测模块,用于根据所述多个子音频特征对所述待检测音频文件进行句子级别语音活动检测,以再次判断所述待检测音频文件是否包含语音。

第四方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项语音活动检测方法和/或语音识别方法。

第五方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项语音活动检测方法和/或语音识别方法。

第六方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项语音活动检测方法和/或语音识别方法。

本发明实施例的有益效果在于:在对待检测音频文件进行帧级别的语音活动检测之后,对初步确定的包含语音的待检测音频文件进行特征提取,并根据所提取的特征实现了句子级别的再次检测,从而使得在背景噪声较大、信噪比较低时,仍能够检测出是否存在语音。进一步的使得送到后端语音识别系统的音频文件是真正包含了语音的需要识别的语音文件,避免了资源的浪费。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的语音活动检测方法的一实施例的流程图;

图2为本发明的中所涉及的句子级语音活动检测系统的一实施例的框架图;

图3为本发明的语音识别方法的一实施例的流程图;

图4为本发明的语音识别方法的另一实施例的流程图;

图5为本发明的语音活动检测系统的一实施例的原理框图

图6为本发明的语音识别系统的一实施例的原理框图;

图7为本发明的电子设备的一实施例的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

如图1所示,本发明的实施例提供一种语音活动检测方法,包括:

s10、对待检测音频文件进行帧级别音频活动检测,以确定所述待检测音频文件是否包含语音。

示例性地,本发明所采用的帧级别语音活动检测方法可以是现有技术中任意成熟的技术,例如,可以是背景技术中所述的专利文献所公开的技术,或者是其它技术,本发明对此不作限定。

s20、当采用帧级别音频活动检测确定所述待检测音频文件包含语音时,将所述待检测音频文件切分为多个句子级子音频片段,以获取所述多个句子级子音频片段的多个子音频特征;

发明人在实现本发明的过程中发现,针对系统的输入,最开始的输入是整条音频,即一条音频只做一次是否是语音的判定,这满足不了线上流式数据的实时性,带来了严重的滞后。本实施例中改成分段式判定,即将一整条音频分成几段,分别对每段进行判定,并且只要有一段判定是语音,便认为该条音频含语音,可省去音频剩下的段的判定。

s30、根据所述多个子音频特征对所述待检测音频文件进行句子级别语音活动检测,以再次判断所述待检测音频文件是否包含语音;示例性地,将所述音频特征输入至预先训练的句子级语音活动检测模型,以对所述待检测音频文件进行句子级别语音活动检测;所述句子级语音活动检测模型基于语音数据和噪声数据集预先训练得到。

本发明实施例的有益效果在于:在对待检测音频文件进行帧级别的语音活动检测之后,对初步确定的包含语音的待检测音频文件进行特征提取,并根据所提取的特征实现了句子级别的再次检测,从而使得在背景噪声较大、信噪比较低时,仍能够检测出是否存在语音。进一步的使得送到后端语音识别系统的音频文件是真正包含了语音的需要识别的语音文件,避免了资源的浪费。

此外,现有技术中仅仅对每一帧音频都进行判定,持续时间太短,给出的结果局部性太强,无法对整句进行准确的判断。通常会采用调高门限的方法,简单直接。始终是围绕已有的vad系统,一直在已有的帧级别系统上进行改进,很难有实质性的改善。

而本发明则是通过在已有的帧级别vad系统之后,附加一个句子级的vad系统,对前一个系统判定为语音的音频进行进一步的整句级的判定,减少非语音段错误流向后端识别。

发明人在实现本发明的过程中还曾经尝试过利用svm和dnn做分类器来对音频进行分类,它们的优点是系统易搭建、分类速度快,缺点是模型的表达能力不强,在测试集上的表现不好。

本发明最直接的效果就是减少了音频的误判定,提高了非语音段的召回率;进一步的节省了后端识别的资源;提高了整个语音识别系统对于噪声的鲁棒性;提高了用户的使用体验,由于之前会有非语音段流到识别系统,识别出的结果往往是些无意义的“嗯、啊”或者null,而将这些结果反馈给用户会明显降低用户的体验感受。

在一些实施例中,将所述待检测音频文件切分为多个句子级子音频片段包括:

s21、按照预设帧长和预设帧移将对所述待检测音频文件进行分帧处理以得到多个音频帧,所述预设帧移小于所述预设帧长。

示例性地,预设帧长是25ms,预设帧移10ms,并且通过预设帧移小于所述预设帧长的设置,使得相邻的两帧之间存在着帧间重叠,使得相邻两帧之间的跳转显得比较平缓,不至于太突兀,存在承接行,有助于所提升的特征之间的关联性,使得音频帧组内的各帧之间的特征关联性更强,提升了句级语音活动端点检测的准确性与可靠性。

s22、将所述多个音频帧划分为多个音频帧组,以得到相应的多个句子级音频片段。

示例性地,所述多个音频帧组中的相邻的两个音频帧组之间具有多个共享过渡音频帧。例如,将整条音频提取特征;取100帧(帧长25ms,帧移10ms)作为一段;段移是50帧,也就是0-100,50-150,100-200(相邻两组之间有50个共享过渡帧)这样算下来就是每段音频长度是1.015s(例如,100*0.01+(0.025-0.01)=1.015)。

进一步地,通过相邻的两个音频帧组之间相互重叠有语音帧,更进一步加强了相邻帧组之间的关联性。

在一些实施例中,所述句子级语音活动检测模型包括:顺序连接的特征提取层、卷积层、特征统计层、融合层和深度神经网络层;其中,

所述特征提取层提取所接收到的句子级子音频片段的子音频特征,并将所述子音频特征输入至所述卷积层;

所述特征统计层基于所述卷积层的输出统计得到所述子音频特征的统计特征;

所述融合层对所述统计特征进行融合处理,并将融合结果输入至所述深度神经网络层,以基于所述深度神经网络层的输出确定所述待检测音频文件是否包含语音。

在一些实施例中,所述特征统计层包括:

音频特征均值统计单元,用于确定所述句子级子音频片段在预设时间内的子音频特征的特征平均值;

音频特征标准差统计单元,用于确定所述句子级子音频片段在预设时间内的子音频特征的特征标准差;所述预设时长为所述句子级子音频片段的时间长度。

发明人在实现本发明的过程中发现,噪声与语音在音频特征的特征平均值和音频特征的特征标准差这两个统计量上面的分布是不同的,因此通过这两个统计量能够更加准确的实现对句级语音活动检测。

如图2所示,为本发明的中所涉及的句子级语音活动检测系统的一实施例的框架图。其中包括顺序连接的音频文件输入层、特征提取层、卷积层(卷积层1至卷积层4)、均值层、标准差层、融合处理层(concatenate)、深度神经网络层和输出层。其中,系统的输入是经过帧级别vad系统筛选过的音频文件(即帧级别vad系统判定为语音的音频),对该音频进行提取特征、卷积x4、计算统计量(mean、std)、再通过两层dnn,给出最后结果。

示例性地,卷积层4的输出的数据维度是batch_sizex32x100x40,每个维度对应的意义为:batch_size、卷积核数(通道数)、帧维度(时间维度)、以及特征维。其中batch_size表示每次输入到网络中的样本个数。

均值层(mean)是在时间维度上进行求值,整体得到的结果的数据维度是batch_sizex32x1x40。物理意义为音频的特征在一段时间内的平均值。

标准差层(std)与均值层(mean)类似,在时间维上求标准差,得到的是特征在一段时间内的标准差。

融合处理层(concatenate):mean与std得到的数据维度都为batch_sizex32x1x40,融合处理层(concatenate)将它们在第三维度上进行concatenate,得到的数据维度为batch_sizex32x2x40。

如图3所示,为本发明的语音识别方法的一实施例的流程图,应用于语音识别终端,所述方法包括:

s01、获取待检测音频文件;

s02、采用本发明任一实施例所述的语音活动检测方法判断所述待检测音频文件中是否包含语音;

s03、如果是,则对所述待检测音频文件进行语音识别;

s04、如果否,则不对所述待检测音频文件进行语音识别。

在对待检测音频文件进行帧级别的语音活动检测之后,对初步确定的包含语音的待检测音频文件进行特征提取,并根据所提取的特征实现了句子级别的再次检测,从而使得在背景噪声较大、信噪比较低时,仍能够检测出是否存在语音。进一步的使得送到后端语音识别系统的音频文件是真正包含了语音的需要识别的语音文件,避免了资源的浪费。

如图4所示为本发明的语音识别方法的另一实施例的流程图,其展示了句子级vad系统与帧级别vad系统的关系。

示例性地,首先将原始音频文件输入至帧级别vad系统进行判断原始音频文件是否为语音文件;

如果否,则拒绝对该原始音频文件进行语音识别;

如果是,则将原始音频文件输入至句子级vad系统,进行进一步的语音检测;

如果句子级vad系统检测出原始音频文件中包含语音,则确定该

原始音频文件为语音文件,并对该原始音频文件进行语音识别处理;

如果句子级vad系统检测出原始音频文件中不包含语音,则拒绝

对该原始音频文件进行语音识别。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

如图5所示,本发明的实施例还提供一种语音活动检测系统500,包括:

帧级音活动检测模块510,用于对待检测音频文件进行帧级别音频活动检测,以确定所述待检测音频文件是否包含语音;

音频分段模块520,用于当采用帧级别音频活动检测确定所述待检测音频文件包含语音时,将所述待检测音频文件切分为多个句子级子音频片段,以获取所述多个句子级子音频片段的多个子音频特征;

句级语音活动检测模块530,用于根据所述多个子音频特征对所述待检测音频文件进行句子级别语音活动检测,以再次判断所述待检测音频文件是否包含语音。

在对待检测音频文件进行帧级别的语音活动检测之后,对初步确定的包含语音的待检测音频文件进行特征提取,并根据所提取的特征实现了句子级别的再次检测,从而使得在背景噪声较大、信噪比较低时,仍能够检测出是否存在语音。进一步的使得送到后端语音识别系统的音频文件是真正包含了语音的需要识别的语音文件,避免了资源的浪费。

在一些实施例中,所述根据所述音频特征对所述待检测音频文件进行句子级别语音活动检测包括:将所述音频特征输入至预先训练的句子级语音活动检测模型,以对所述待检测音频文件进行句子级别语音活动检测;所述句子级语音活动检测模型基于语音数据和噪声数据集预先训练得到。

在一些实施例中,所述句子级语音活动检测模型包括:顺序连接的特征提取层、卷积层、特征统计层、融合层和深度神经网络层;其中,

所述特征提取层提取所接收到的句子级子音频片段的子音频特征,并将所述子音频特征输入至所述卷积层;

所述特征统计层基于所述卷积层的输出统计得到所述子音频特征的统计特征;

所述融合层对所述统计特征进行融合处理,并将融合结果输入至所述深度神经网络层,以基于所述深度神经网络层的输出确定所述待检测音频文件是否包含语音。

在一些实施例中,所述特征统计层包括:

音频特征均值统计单元,用于确定所述句子级子音频片段在预设时间内的子音频特征的特征平均值;

音频特征标准差统计单元,用于确定所述句子级子音频片段在预设时间内的子音频特征的特征标准差;所述预设时长为所述句子级子音频片段的时间长度。

在一些实施例中,将所述待检测音频文件切分为多个句子级子音频片段包括:

按照预设帧长和预设帧移将对所述待检测音频文件进行分帧处理以得到多个音频帧,所述预设帧移小于所述预设帧长;

将所述多个音频帧划分为多个音频帧组,以得到相应的多个句子级音频片段。

在一些实施例中,所述多个音频帧组中的相邻的两个音频帧组之间具有多个共享过渡音频帧。

如图6所示,本发明的实施例还提供一种语音识别系统,应用于语音识别终端,所述系统600包括:

音频文件获取模块610,用于获取待检测音频文件;

前述任一实施例所述的语音活动检测系统500,用于判断所述待检测音频文件中是否包含语音;

第一执行模块520,用于当确定所述待检测音频文件中包含语音时,对所述待检测音频文件进行语音识别;

第二执行模块530,用于当确定所述待检测音频文件中不包含语音时,不对所述待检测音频文件进行语音识别。

在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项语音活动检测方法和/或语音识别方法。

在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项语音活动检测方法和/或语音识别方法。

在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行语音活动检测方法和/或语音识别方法。

在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现语音活动检测方法和/或语音识别方法。

上述本发明实施例的系统可用于执行本发明实施例的语音活动检测方法和/或语音识别方法,并相应的达到上述本发明实施例的实现语音活动检测方法和/或语音识别方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

图7是本申请另一实施例提供的执行语音活动检测方法和/或语音识别方法的电子设备的硬件结构示意图,如图7所示,该设备包括:

一个或多个处理器710以及存储器720,图7中以一个处理器710为例。

执行语音活动检测方法和/或语音识别方法的设备还可以包括:输入装置730和输出装置740。

处理器710、存储器720、输入装置730和输出装置740可以通过总线或者其他方式连接,图7中以通过总线连接为例。

存储器720作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的语音活动检测方法和/或语音识别方法对应的程序指令/模块。处理器710通过运行存储在存储器720中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例语音活动检测方法和/或语音识别方法。

存储器720可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据语音活动检测装置和/或语音识别装置的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器720可选包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至语音活动检测装置和/或语音识别装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置730可接收输入的数字或字符信息,以及产生与语音活动检测装置和/或语音识别装置的用户设置以及功能控制有关的信号。输出装置740可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器720中,当被所述一个或者多个处理器710执行时,执行上述任意方法实施例中的语音活动检测方法和/或语音识别方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:智能音箱、故事机、车机终端、音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

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