语音唤醒方法及装置与流程

文档序号:13676074阅读:274来源:国知局
技术领域本申请涉及语音识别处理技术领域,尤其涉及一种语音唤醒方法及装置。

背景技术:
语音唤醒技术是语音识别技术中重要分支,语音唤醒技术通过监听用户语音来判断用户是否说出了指定唤醒词来启动设备。目前在车载,导航,智能家居等方面有着重要的应用,用于用声音启动程序或者服务,目前的语音唤醒手段主要是依靠垃圾词网络进行语音唤醒的,即选出一些垃圾词和唤醒词组成识别网络,得出最终的识别结果。但是,语音唤醒技术需要对语音进行长期监听,需要打开录音设备并使设备长期处于运行计算状态。然而,目前的语音唤醒技术的识别网络和唤醒网络结构复杂,语音活动检测、解码等过程运算量较大。从而导致设备功耗较大,不能满足对语音进行长期监听,降低了处理性能。

技术实现要素:
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请的第一个目的在于提出一种语音唤醒方法,该方法优化了语音唤醒的处理过程,能够在保证唤醒正确率不下降的前提下,极大的减少运算量,降低设备功耗,提高处理性能。本申请的第二个目的在于提出一种语音唤醒装置。为达上述目的,本申请第一方面实施例提出了一种语音唤醒方法,包括:获取用户输入的语音;采用跳帧策略对所述语音的数据帧进行处理,并通过时域能量算法对所述数据帧进行语音活动检测;提取所述语音的声学特征,根据预设的识别网络和声学模型对所述声学特征进行语音识别;若获知所述语音为所述识别网络中预设的唤醒词,则进行相应的操作。本申请实施例的语音唤醒方法,通过获取用户输入的语音;采用跳帧策略对所述语音的数据帧进行处理,并通过时域能量算法对所述数据帧进行语音活动检测;提取所述语音的声学特征,根据预设的识别网络和声学模型对所述声学特征进行语音识别;若获知所述语音为所述识别网络中预设的唤醒词,则进行相应的操作。由此,优化了语音唤醒的处理过程,能够在保证唤醒正确率不下降的前提下,极大的减少运算量,降低设备功耗,提高处理性能。为达上述目的,本申请第二方面实施例提出了一种语音唤醒装置,包括:获取模块,用于获取用户输入的语音;语音活动检测模块,用于采用跳帧策略对所述语音的数据帧进行处理,并通过时域能量算法对所述数据帧进行语音活动检测;提取模块,用于提取所述语音的声学特征;识别模块,用于根据预设的识别网络和声学模型对所述声学特征进行语音识别;处理模块,用于若获知所述语音为所述识别网络中预设的唤醒词,则进行相应的操作。本申请实施例的语音唤醒装置,通过获取用户输入的语音;采用跳帧策略对所述语音的数据帧进行处理,并通过时域能量算法对所述数据帧进行语音活动检测;提取所述语音的声学特征,根据预设的识别网络和声学模型对所述声学特征进行语音识别;若获知所述语音为所述识别网络中预设的唤醒词,则进行相应的操作。由此,优化了语音唤醒的处理过程,能够在保证唤醒正确率不下降的前提下,极大的减少运算量,降低设备功耗,提高处理性能。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是本申请一个实施例的语音唤醒方法的流程图;图2是本申请另一个实施例的语音唤醒方法的流程图;图3是本申请另一个实施例的语音唤醒方法的流程图;图4是本申请另一个实施例的语音唤醒方法的流程图;图5是本申请一个实施例的语音唤醒装置的结构示意图;图6是本申请另一个实施例的语音唤醒装置的结构示意图;图7是本申请另一个实施例的语音唤醒装置的结构示意图;图8是本申请另一个实施例的语音唤醒装置的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。下面参考附图描述本申请实施例的语音唤醒方法及装置。图1是本申请一个实施例的语音唤醒方法的流程图。如图1所示,该语音唤醒方法包括:步骤101,获取用户输入的语音。步骤102,采用跳帧策略对所述语音的数据帧进行处理,并通过时域能量算法对所述数据帧进行语音活动检测。具体来说,本发明实施例提供的语音唤醒方法应用于语音识别系统中,以对用户输入的语音进行识别,确定是否为识别网络中预设的唤醒词,以进行相应的处理操作。用户通过语音交互的接口输入语音,然后采用优化的语音活动检测技术(voiceactivitydetech,VAD)检测输入的语音。首先,利用语音平稳连续的特性,采用跳帧策略对所述语音的数据帧进行处理,从而与现有技术相比,可以节省一半的运算量。需要说明的是,在不同的应用场景中可以采用不同的跳帧策略对语音的数据帧进行处理,例如包括:第一种示例:奇数帧处理;提取语音的第(2n-1)帧的特征,从而语音的第2n帧的特征采用第(2n-1)帧的处理结果;其中,n为正整数;或者,第二种示例:偶数帧处理;提取所述语音的第2n帧的特征,从而语音的第(2n-1)帧的特征采用第2n帧的处理结果;其中,n为正整数。然后,通过时域能量算法对所述数据帧进行语音活动检测。与现有技术相比,不再采用频域算法,即不进行FFT,仅使用时域能量算法,节省FFT运算量,极大的优化VAD处理的功耗。步骤103,提取所述语音的声学特征,根据预设的识别网络和声学模型对所述声学特征进行语音识别。步骤104,若获知所述语音为所述识别网络中预设的唤醒词,则进行相应的操作。具体地,对用户输入的语音进行语音活动检测后,对于检测出来的语音信息提取语音的声学特征。然后,根据预先构建的识别网络和声学模型对用户语音的声学特征进行语音进行识别。需要说明的是,为了进一步地的节约语音识别唤醒处理的功耗,可以根据应用需要优化预先构建的识别网络和声学模型,具体的识别处理算法也可以进一步地优化,后续会重点说明。语音处理算法的方式很多,例如:根据预设的识别网络和声学模型,采用维特比算法对所述声学特征进行语音进行识别。进而,根据识别结果进行相应的操作处理。即,当识别出用户输入的语音为唤醒词时,则进行相应的唤醒操作,当识别出用户输入的语音不是唤醒词时,则不进行相应的唤醒操作。本实施例的语音唤醒方法,通过获取用户输入的语音,采用跳帧策略对所述语音的数据帧进行处理,并通过时域能量算法对所述数据帧进行语音活动检测,提取所述语音的声学特征,根据预设的识别网络和声学模型对所述声学特征进行语音识别,若获知所述语音为所述识别网络中预设的唤醒词,则进行相应的操作。由此,优化了语音唤醒的处理过程,能够在保证唤醒正确率不下降的前提下,极大的减少运算量,降低设备功耗,提高处理性能。图2是本申请另一个实施例的语音唤醒方法的流程图。如图2所示,针对图1中的步骤103,可以包括以下步骤:步骤201,对采用滤波器filterbank提取的第一维度特征进行离散余弦变换,获取梅尔频率倒谱系数mfcc的第二维度特征。步骤202,获取所述语音的振幅作为第三维度特征。步骤203,将所述语音通过高通滤波器获取高频信号,获取所述高频信号的绝对值的对数值作为第四维度特征。步骤204,根据所述第二维度特征、所述第三维度特征和所述第四维度特征确定所述语音的声学特征。步骤205,根据预设的识别网络和声学模型对所述声学特征进行语音识别。具体地,本实施例是针对上述实施例中提取语音的声学特征的优化处理,从而简化根据预设的识别网络和声学模型对声学特征进行语音识别的过程。对用户输入的语音进行声学特征提取过程中,一般提取滤波器FilterBank特征,维度较高,运算量较大。本实施例对FilterBank特征进行离散余弦变换,获取梅尔频率倒谱系数mfcc的维度特征,提取所述语音的振幅的维度特征,以及将语音通过高通滤波器获取高频信号,提取所述高频信号的维度特征。从而,经过上述处理后提取输入语音的声学特征,为了更加清楚的说明本实施例提供的声学特征提取方法,举例说明如下:假设对语音进行特征提取处理后提取出40维的filterbank特征,目前数目为40维,本发明采用的mfcc+其他特征(13+2),特征获取过程,具体如下:1、将40维的filterbank特征进行dct变换(离散余弦变换),进而得到13维的mfcc特征;2、接下来需要得到其他两个特征,首先将声音的响度(振幅)作为第14维特征;3、然后将声音通过hpf(高通滤波器),可认为剩下的是高频信号,而人类语言信息也大都集中在高频,将通过hpf的信号的绝对值的log值作为第15维特征。由此可见,通过减少特征数量的手段,减少特征提取运算的运算量,同时减少了后续向量乘矩阵的运算量。基于上述实施例,本实施例的语音唤醒方法,进一步地通过对采用滤波器提取的第一维度特征进行离散余弦变换,获取梅尔频率倒谱系数的第二维度特征,获取所述语音的振幅作为第三维度特征,将所述语音通过高通滤波器获取高频信号,获取所述高频信号的绝对值的对数值作为第四维度特征,根据所述第二维度特征、所述第三维度特征和所述第四维度特征确定所述语音的声学特征,根据预设的识别网络和声学模型对所述声学特征进行语音进行识别。由此,优化了语音唤醒的处理过程,能够在保证唤醒正确率不下降的前提下,极大的减少运算量,降低设备功耗,提高处理性能,并且进一步地通过减少特征数量的手段,减少特征提取运算的运算量,同时减少了后续向量乘矩阵的运算量,从而进一步地减少了处理功耗。图3是本申请另一个实施例的语音唤醒方法的流程图。如图3所示,在图1中的步骤101之前,还可以包括以下步骤:步骤301,通过编辑距离聚类的算法确定所述识别网络的垃圾词。步骤302,根据所述垃圾词和预设的唤醒词构建所述识别网络。具体地,基于上述实施例,在进行语音识别之前,应该构建用于语音识别的识别网络以及声学模型。其中,识别网络是包括唤醒词和垃圾词的并行网络,目前的垃圾词的数量不够精简,本实施例通过编辑距离聚类的算法简化识别网络的垃圾词,进一步地减少运算量,减少了处理功耗。具体包括:将所有的音节序列并联成一个识别网络;根据所述识别网络对预设的语音训练集进行识别,获取数量大于预设的第一阈值的识别结果;从所述识别结果中获取出现概率最高的那个音节A,其余的是B1到BN,分别计算A与B1到BN之间的编辑距离E,保留编辑距离最大的Bk,依次计算剩下的音节,直到保留的音节数量满足预设的第二阈值;进而,将保留的音节数量作为所述识别网络的垃圾词。为了更加清楚的说明上述对垃圾词的优化过程,通过编辑距离聚类的算法将原有的50个垃圾词优化至10个,减少构建的解码网络的大小,优化效率,举例说明如下:将原来50个垃圾词优化到10个,并保持效果基本不变的流程如下:步骤1:将所有的音节序列并联成一个识别网络,然后通过大量的语音输入,得到识别结果,其中识别结果数量最多的top20,就是表明最常用的20个垃圾词,可以用这20个垃圾词来代表全部的发音音节序列;步骤2:得到上边的20个垃圾词还不够,需要进一步的精简,要选择出现概率最高的那个词A,其余的是B1,B2……B19,分别计算编辑距离E(AB1),E(AB2)……E(ABi),其中编辑距离最大的一个Bk保留;然后A和Bk确定保留,剩下的18个和Bk计算编辑距离,然后和Bk编辑距离最大的那个Bj保留,然后剩下的17个和Bj计算编辑距离。以此类推,这样的算法十次之后,就可以得到每次编辑距离最大的点,也就是能够最好的分散的点,之后用这10个垃圾词测试,效果和50个垃圾词效果差异不大。由此,通过精简的,只有10个垃圾词和唤醒词并联的解码网络代替原本的50个垃圾词和唤醒词并联的解码网络,可以减少后续维特比运算的运算量;步骤303,构建深度神经网络的声学模型,所述深度神经网络的维度M小于等于预设的门限值。具体地,本实施例构建深度神经网络DNN的声学模型,并对深度神经网络的维度M设置了门限值,M需要小于等于预设的门限值。进而,加载优化后的声学模型,即减少DNN网络的维度,DNN似然计算的原理是矩阵运算。举例说明如下:假设输入的特征是维度为A的向量,那么神经网络为矩阵B1,B2,B3……BN;那么计算过程为A*B1*B2*B3……BN,输出结果为似然;那么通过减少N的数量和其中每个矩阵的大小,可以有效的减少似然计算的计算量;进而,在优化后的垃圾词网络上进行维特比解码,此刻通过加大裁剪力度,即,减少同时存在的活动节点的个数,减少功耗。基于上述实施例,本实施例的语音唤醒方法,进一步地减少对识别网络的垃圾词的数量,以及声学模型的维度,进一步地简化了识别网络,可以减少后续维特比运算的运算量。基于上述实施例,在所述根据预设的识别网络和声学模型对所述声学特征进行语音进行识别之后,还包括:根据预设的拒绝策略停止语音识别,从而及时判定唤醒失败,停止运行维特比解码,极大的节省运算量,需要说明的是,可以根据不同的应用场景设置不同的拒绝策略,通过图4所示实施例说明如下:图4是本申请另一个实施例的语音唤醒方法的流程图。如图4所示,在图1中的步骤103之后,还可以包括以下步骤:步骤401,判断语音活动检测的语音长度和识别出垃圾词的数量的加权和是否大于预设的阈值。步骤402,如果所述加权和大于所述阈值,则确定唤醒失败,则停止语音识别。具体地,本实施例通过VAD判断的语音长度和识别出垃圾词的数量的加权和作为拒绝依据,即当语音长度和识别出垃圾词的数量的加权和大于某一门限时判定唤醒失败,停止运行维特比解码,极大的节省运算量。可以采用的公式如下:Score=M*Length+N*GbgCnt;(Length为语音长度,GbgCnt为识别结果垃圾词数量,两者乘以系数,然后加和,M,N为实验数值)如果Score>Threshold;停止进行识别。基于上述实施例,本实施例的语音唤醒方法,进一步地通过判断语音活动检测的语音长度和识别出垃圾词的数量的加权和是否大于预设的阈值,如果所述加权和大于所述阈值,则确定唤醒失败,则停止语音识别。进一步地可以减少解码运算量,提高处理效率,节约功耗。为了实现上述实施例,本申请还提出一种语音唤醒装置。图5是本申请一个实施例的语音唤醒装置的结构示意图。如图5所示,该语音唤醒装置包括:获取模块11,用于获取用户输入的语音;语音活动检测模块12,用于采用跳帧策略对所述语音的数据帧进行处理,并通过时域能量算法对所述数据帧进行语音活动检测;其中,所述语音活动检测模块12用于:提取所述语音的第(2n-1)帧的特征,以使所述语音的第2n帧的特征采用第(2n-1)帧的处理结果;其中,n为正整数;或者,提取所述语音的第2n帧的特征,以使所述语音的第(2n-1)帧的特征采用第2n帧的处理结果;其中,n为正整数。提取模块13,用于提取所述语音的声学特征;识别模块14,用于根据预设的识别网络和声学模型对所述声学特征进行语音识别;具体地,所述识别模块14用于:根据预设的识别网络和声学模型,采用维特比算法对所述声学特征进行语音进行识别。处理模块15,用于若获知所述语音为所述识别网络中预设的唤醒词,则进行相应的操作。需要说明的是,前述对语音唤醒方法实施例的解释说明也适用于该实施例的语音唤醒装置,此处不再赘述。本申请实施例的语音唤醒装置,通过获取用户输入的语音,采用跳帧策略对所述语音的数据帧进行处理,并通过时域能量算法对所述数据帧进行语音活动检测,提取所述语音的声学特征,根据预设的识别网络和声学模型对所述声学特征进行语音识别,若获知所述语音为所述识别网络中预设的唤醒词,则进行相应的操作。由此,优化了语音唤醒的处理过程,能够在保证唤醒正确率不下降的前提下,极大的减少运算量,降低设备功耗,提高处理性能。图6是本申请另一个实施例的语音唤醒装置的结构示意图,如图6所示,基于图5所示实施例,所述提取模块13,包括:第一获取单元131,用于对采用滤波器filterbank提取的第一维度特征进行离散余弦变换,获取梅尔频率倒谱系数mfcc的第二维度特征;第二获取单元132,用于获取所述语音的振幅作为第三维度特征;第三获取单元133,用于将所述语音通过高通滤波器获取高频信号,获取所述高频信号的绝对值的对数值作为第四维度特征;确定单元134,用于根据所述第二维度特征、所述第三维度特征和所述第四维度特征确定所述语音的声学特征。需要说明的是,前述对语音唤醒方法实施例的解释说明也适用于该实施例的语音唤醒装置,此处不再赘述。本申请实施例的语音唤醒装置,进一步地通过对采用滤波器提取的第一维度特征进行离散余弦变换,获取梅尔频率倒谱系数的第二维度特征,获取所述语音的振幅作为第三维度特征,将所述语音通过高通滤波器获取高频信号,获取所述高频信号的绝对值的对数值作为第四维度特征,根据所述第二维度特征、所述第三维度特征和所述第四维度特征确定所述语音的声学特征,根据预设的识别网络和声学模型对所述声学特征进行语音进行识别。由此,优化了语音唤醒的处理过程,能够在保证唤醒正确率不下降的前提下,极大的减少运算量,降低设备功耗,提高处理性能,并且进一步地通过减少特征数量的手段,减少特征提取运算的运算量,同时减少了后续向量乘矩阵的运算量,从而进一步地减少了处理功耗。图7是本申请另一个实施例的语音唤醒装置的结构示意图,如图7所示,基于上述实施例,以图5所示实施例为例,还包括:确定模块16,用于通过编辑距离聚类的算法确定所述识别网络的垃圾词;在一个实施例中,所述确定模块16用于:将所有的音节序列并联成一个识别网络,根据所述识别网络对预设的语音训练集进行识别,获取数量大于预设的第一阈值的识别结果;从所述识别结果中获取出现概率最高的那个音节A,其余的是B1到BN,分别计算A与B1到BN之间的编辑距离E,保留编辑距离最大的Bk,依次计算剩下的音节,直到保留的音节数量满足预设的第二阈值;将保留的音节数量作为所述识别网络的垃圾词。第一构建模块17,用于根据所述垃圾词和预设的唤醒词构建所述识别网络。第二构建模块18,用于构建深度神经网络的声学模型,所述深度神经网络的维度M小于等于预设的门限值。需要说明的是,前述对语音唤醒方法实施例的解释说明也适用于该实施例的语音唤醒装置,此处不再赘述。本申请实施例的语音唤醒装置,进一步地减少对识别网络的垃圾词的数量,以及声学模型的维度,进一步地简化了识别网络,可以减少后续维特比运算的运算量。图8是本申请另一个实施例的语音唤醒装置的结构示意图,如图8所示,基于上述实施例,以图5为例,还包括:拒绝模块19,用于根据预设的拒绝策略停止语音识别。在一个实施例中,所述拒绝模块19用于:判断语音活动检测的语音长度和识别出垃圾词的数量的加权和是否大于预设的阈值;如果所述加权和大于所述阈值,则确定唤醒失败,则停止语音识别。需要说明的是,前述对语音唤醒方法实施例的解释说明也适用于该实施例的语音唤醒装置,此处不再赘述。本申请实施例的语音唤醒装置,进一步地通过判断语音活动检测的语音长度和识别出垃圾词的数量的加权和是否大于预设的阈值,如果所述加权和大于所述阈值,则确定唤醒失败,则停止语音识别。进一步地可以减少解码运算量,提高处理效率,节约功耗。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,\计算机可读介质\可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1