语音端点检测方法及装置与流程

文档序号:16888300发布日期:2019-02-15 22:50阅读:281来源:国知局
语音端点检测方法及装置与流程

本发明涉及语音识别技术领域,尤其涉及一种语音端点检测方法及装置。



背景技术:

市面上存在一些语音端点检测技术,利用过零率,短时能量和深度学习等判断语音端点。

语音端点检测,即检测语音的起始点和结束点。语音端点检测可以分为单通道的方法和基于麦克风阵列的方法;其中基于单通道的方法包括基于信号特征的方法,信号统计的方法和深度学习的方法。其中基于信号特征的方法包括利用过零率的变化,短时能量的变化和语音帧自相关的变化等;基于信号统计的方法主要通过假设信号的模型,然后通过贝叶斯或者其它方法得到语音信号存在概率,从而得到语音的状态;深度学习主要是将语音打上静音或者语音的标签,训练网络,工作的时候将语音提取特征后送入网络,从而得到语音的状态;基于麦克风阵列的方法,是利用语音到达麦克风的时延不同,利用相位信息结合假设的语音统计模型,得到语音存在概率;

单通道中,传统的语音检测方法,即基于信号特征的方法和信号统计的方法等,存在非稳态噪声或者干扰的情况下,容易判断错误;基于深度学习的检测方法,效果较好,但是计算量非常大。多通道中,语音检测方法尚未成熟,由于是利用语音相位信息,对于能量并不敏感,容易受到干扰;

单通道中,传统的语音检测方法,多是利用语音信号的某一个或者某两个特征,这些特征容易被各种噪声(包括稳态噪声,非稳态噪声,有色噪声,有向噪声)掩蔽,导致很难区分;基于深度学习的检测方法,需要事前录音,标注,训练模型,对于不同的场景还需要调整,并且要经过多层神经网络计算,整个过程繁琐且计算量大。



技术实现要素:

行业中,麦克风阵列拾音技术基础逐渐热门,主要用于增强语音。在行业产品中,如语音音箱或者后视镜等产品,语音端点检测多在语音输入之后立即做,本技术会在阵列增强之后再去做,充分利用阵列增强之后所得到的语音信息。目前也没有发现商业化的利用麦克风阵列去做vad(voiceactivitydetection,语音端点检测)的情况。

本发明实施例提供一种语音端点检测方法及装置,用于至少解决上述技术问题之一。

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

将接收到的音频信号分成多帧子信号;

对所述多帧子信号中的每一帧子信号执行:对每一帧子信号进行加窗,以进行快速傅里叶变化得到多个频点信号;

对所述多帧子信号中的每一帧子信号的多个频点信号进行多通道降噪处理,并基于多通道降噪处理结果判断所述接收到的音频信号是否包含端点,生成第一判定结果;

取所述多帧子信号中的任意一帧子信号的多个频点信号进行单通道降噪处理,并基于单通道降噪处理结果判断所述任意一子帧信号是否包含端点,生成第二判定结果;

当所述第一判定结果和所述第二判定结果均为肯定时,确定所述接收到的音频信号包含端点。

第二方面,本发明实施例提供一种语音端点检测装置,包括:

音频信号分帧模块,用于将接收到的音频信号分成多帧子信号;

信号转化模块,用于对所述多帧子信号中的每一帧子信号执行:对每一帧子信号进行加窗,以进行快速傅里叶变化得到多个频点信号;

第一判定结果生成模块,用于对所述多帧子信号中的每一帧子信号的多个频点信号进行多通道降噪处理,并基于多通道降噪处理结果判断所述接收到的音频信号是否包含端点,生成第一判定结果;

第二判定结果生成模块,用于取所述多帧子信号中的任意一帧子信号的多个频点信号进行单通道降噪处理,并基于单通道降噪处理结果判断所述任意一子帧信号是否包含端点,生成第二判定结果;

语音端点确定模块,用于当所述第一判定结果和所述第二判定结果均为肯定时,确定所述接收到的音频信号包含端点。

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

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

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

本发明实施例的有益效果在于:基于阵列的处理,对于波束非常敏感,即使是非常弱的语音信号都可以发现,从而能够更加准确的检测到语音端点。

附图说明

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

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

图2为图1中的步骤s30的一实施例的流程图;

图3为图1中的步骤s40的一实施例的流程图;

图4为本发明的语音端点检测方法的另一实施例的流程图;

图5为本发明的语音端点检测装置的一实施例的原理框图;

图6为本发明中的第一判定结果生成模块的一实施例的原理框图;

图7为本发明中的第二判定结果生成模块的一实施例的原理框图;

图8为适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。

具体实施方式

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

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

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

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

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

利用多路增强后的信号,得到各路之间最大能量差,当存在语音时,由于语音可以认为是波束,能量差会明显增大,此方法对于波束非常敏感,而有效滤除各类稳态噪声和非稳态噪声的影响,可有效得到语音端点,但是这种方法对于有向噪声非常敏感,因此估计基于功率谱的单通道语音存在概率,将概率低于一定阈值的语音帧过滤掉,可有效抵消有向噪声的影响,语音存在概率采用mfcc加权(melfrequencycepstrumcoefficient,美尔频率倒谱系数),更接近于听觉感知,效果更加明显。此算法可在低信噪比环境下取得很好的语音端点检测效果,且计算量很小。固定增强后的语音也可送本地唤醒和识别算法,不会增加冗余的计算量。

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

s10、将接收到的音频信号分成多帧子信号;

s20、对所述多帧子信号中的每一帧子信号执行以下步骤:对每一帧子信号进行加窗,以进行快速傅里叶变化得到多个频点信号;

s30、对所述多帧子信号中的每一帧子信号的多个频点信号进行多通道降噪处理,并基于多通道降噪处理结果判断所述接收到的音频信号是否包含端点,生成第一判定结果;

s40、取所述多帧子信号中的任意一帧子信号的多个频点信号进行单通道降噪处理,并基于单通道降噪处理结果判断所述任意一子帧信号是否包含端点,生成第二判定结果;

s50、当所述第一判定结果和所述第二判定结果均为肯定时,确定所述接收到的音频信号包含端点。

本发明实施例中,基于阵列的处理,对于波束非常敏感,即使是非常弱的语音信号都可以发现,从而能够更加准确的检测到语音端点。

如图2所示,在一些实施例中,对所述多帧子信号中的每一帧子信号的多个频点信号进行多通道降噪处理,并基于多通道降噪处理结果判断所述接收到的音频信号是否包含端点,生成第一判定结果包括:

s31、依次将所述多帧子信号中的每一帧子信号的多个频点信号对应输入至多个多通道降噪处理器,以得到每一帧子信号各自的多路降噪之后的频点信号;

s32、从每一帧子信号各自的多路降噪之后的频点信号中取出能量最大值和能量最小值,得到多个能量最大值和多个能量最小值;

s33、对所述多个能量最大值和值取对数,对所述多个能量最小值取对数,至少基于两对数的差值确定对应于所述接收到的音频信号的信号能量;

s34、根据所述信号能量与第一设定阈值之间的大小,生成第一判定结果。

如图3所示,在一些实施例中,取所述多帧子信号中的任意一帧子信号的多个频点信号进行单通道降噪处理,并基于单通道降噪处理结果判断所述任意一子帧信号是否包含端点,生成第二判定结果包括:

s41、依次将所述任意一帧子信号中的多个频点信号输入至单通道降噪处理器,以得到多个降噪之后的频点信号;

s42、估计对应于所述任意一帧子信号的多个降噪之后的频点信号多个语音存在概率;

s43、对所述多个语音存在概率作加权,以用于更新噪声功率谱;示例性地,利用所述梅尔加权系数对所述多个语音存在概率作加权。

s44、根据更新后的噪声功率谱确定所述任意一子帧信号的语音存在概率;

s45、根据所述任意一子帧信号的语音存在概率与第二设定阈值之间的大小,生成第二判定结果。本实施例中,单通道方法对于能量比较敏感,可屏蔽有色和非稳态噪声。

如图4所示,为本发明的语音端点检测方法的另一实施例的流程图,具体包括以下步骤:

步骤1、将空间分为若干个子空间(假设为n),每个空间需要有一定相邻的重叠,对于每个空间进行宽带波束成形设计,从而得到n个固定波束处理模块。

步骤2、对语音存在的频率段,计算梅尔频率倒谱系数,取系数中的最大值对所有系数作归一化,即所有的系数值除以系数中的最大值,得到梅尔加权系数;

步骤3、将阵列麦克风语音信号分帧,加窗,fft(fastfouriertransformalgorithm,快速傅里叶变换)之后,经过n个固定波束处理模块,得到n路语音。n路语音分别经过多通道降噪算法,可得到降噪后的语音信号。

步骤4、分别选出n路语音中能量最大的pmax和能量最小的pmin的,计算它们的差值pd。与阈值ps进行比较,从而得到语音存在状态pd_flag。阈值ps更新为ps=β*pd+(1-β)*ps,当语音存在时,β为0.1,当语音不存在时,β为0.5。系数β是根据假设信噪比是10db设计,可根据实际环境调整参数。

步骤5、取一路麦克风采集的音频信号,进行分帧,加窗,fft,单通道降噪处理,并计算功率谱,更新噪音谱,根据功率谱估计每个频点的语音存在概率(spp),结合步骤2得到的梅尔加权系数对每个频点的语音存在概率(spp)作感知加权,然后求所有频点语音存在概率的平均值,得到当前帧的语音存在概率ph,与预设阈值ph_s比较,从而得到单通道语音状态ph_flag。

步骤6、判断语音存在概率,pd_flag与ph_flag均为1时,语音存在,即p_flag置为1,否则语音不存在,即p_flag置为0;

在一些实施例中,当语音在静音段的时候,只有当连续m帧短帧的p_flag为1时,可进入语音段。当语音在语音段的时候,只有当连续n帧短帧的p_flag为0时,可进入静音段。

本发明充分利用了麦克风阵列的特点,并与单通道语音存在概率算法相融合,得到更好的效果。例如,步骤1,3和4基于阵列的处理,对于波束非常敏感,即使是非常弱的语音信号都可以发现。例如,步骤5单通道方法对于能量比较敏感,可屏蔽有色和非稳态噪声。例如,步骤2在感知加权后,对于语音部分更加敏感,并且计算量不大,固定增强后的音频可直接送入本地唤醒或者本地识别,不会增加额外的计算。而且对比于深度学习的方法,过程更加简单,适用场景也更加广泛。

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

如图5所示,本发明的实施例还提供一种语音端点检测装置500,该语音端点检测装置500包括:

音频信号分帧模块510,用于将接收到的音频信号分成多帧子信号;

信号转化模块520,用于对所述多帧子信号中的每一帧子信号执行:对每一帧子信号进行加窗,以进行快速傅里叶变化得到多个频点信号;

第一判定结果生成模块530,用于对所述多帧子信号中的每一帧子信号的多个频点信号进行多通道降噪处理,并基于多通道降噪处理结果判断所述接收到的音频信号是否包含端点,生成第一判定结果;

第二判定结果生成模块540,用于取所述多帧子信号中的任意一帧子信号的多个频点信号进行单通道降噪处理,并基于单通道降噪处理结果判断所述任意一子帧信号是否包含端点,生成第二判定结果;

语音端点确定模块550,用于当所述第一判定结果和所述第二判定结果均为肯定时,确定所述接收到的音频信号包含端点。

如图6所示,在一些实施例中,所述第一判定结果生成模块530包括:

第一降噪处理单元531,用于依次将所述多帧子信号中的每一帧子信号的多个频点信号对应输入至多个多通道降噪处理器,以得到每一帧子信号各自的多路降噪之后的频点信号;

选取单元532,用于从每一帧子信号各自的多路降噪之后的频点信号中取出能量最大值和能量最小值,得到多个能量最大值和多个能量最小值;

信号能量确定单元533,用于对所述多个能量最大值和值取对数,对所述多个能量最小值取对数,至少基于两对数的差值确定对应于所述接收到的音频信号的信号能量;

第一判定结果生成模块534,用于根据所述信号能量与第一设定阈值之间的大小,生成第一判定结果。

如图7所示,在一些实施例中,所述第二判定结果生成模块540包括:

第二降噪单元541,用于依次将所述任意一帧子信号中的多个频点信号输入至单通道降噪处理器,以得到多个降噪之后的频点信号;

概率估计单元542,用于估计对应于所述任意一帧子信号的多个降噪之后的频点信号多个语音存在概率;

加权单元543,用于对所述多个语音存在概率作加权,以用于更新噪声功率谱;

概率确定单元544,对所述加权后的多个语音存在概率求平均值,以得到所述任意一子帧信号的语音存在概率;

第二判定结果生成单元545,用于根据所述任意一子帧信号的语音存在概率与第二设定阈值之间的大小,生成第二判定结果。

在一些实施例中,所述对所述多个语音存在概率作加权包括:利用预先确定的梅尔加权系数对所述多个语音存在概率作加权。

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

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

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

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

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

下面参考图8,其示出了适于用来实现本发明实施例的电子设备的计算机系统800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有系统800操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本发明的系统中限定的上述功能。

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

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

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

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

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

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

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

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

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

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

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