语音识别方法及装置与流程

文档序号:12598543阅读:323来源:国知局
语音识别方法及装置与流程

本发明涉及语音识别技术领域,特别是涉及一种语音识别方法及装置。



背景技术:

移动终端,是指可以在移动中使用的计算机设备,广义地讲包括手机、笔记本、平板电脑、POS机、车载电脑等。随着集成电路技术的飞速发展,移动终端已经拥有了强大的处理能力,移动终端正在从简单的通话工具变为一个综合信息处理平台,这也给移动终端增加了更加宽广的发展空间。但是,移动终端的使用,通常需要用户集中一定的注意力。如今的移动终端设备都配备有触摸屏,用户需要触摸所述触摸屏,以执行相应的操作。但是,用户无法触碰到移动终端设备时,操作移动终端便会变得极其不方便。例如,当用户驾驶车辆或者手中提有物品的时候。

语音识别方法和总听系统(Always Listening System)的使用,使得可以对移动终端进行非手动激活和操作。当所述总听系统检测到声音信号时,语音识别系统便会激活,并对检测到的声音信号进行识别,之后,移动终端便会根据所识别出的声音信号执行相应的操作,例如,当用户输入“拨打XX的手机”的语音时,移动终端便可以对用户输入的“拨打XX的手机”的语音信息进行识别,并在正确识别后,从移动终端中获取XX的手机号码的信息,并拨打。

但是,现有技术中语音识别方法,一般存在着语音识别速度慢且准确率低的问题。



技术实现要素:

本发明实施例解决的问题是提高语音识别的速度和准确率。

为解决上述问题,本发明实施例提供了一种语音识别方法,所述语音识别方法包括:

将获取的待识别的声音数据划分为多个重叠的声音帧,并对每个声音帧进行快速傅立叶变换运算,得到对应的频谱;

对所述多个重叠的声音帧的频谱进行遍历,将遍历到的当前声音帧的频谱划分为无重叠的多个子带;

分别计算当前声音帧的多个子带的子带功率谱熵概率质量;

根据当前声音帧的各个子带的子带功率谱熵概率质量,计算当前声音帧的子带功率谱熵;

当确定当前声音帧的子带功率谱熵大于预设的阈值时,确定当前声音帧中包括语音信息。

可选地,所述将遍历到的当前声音帧的频谱划分为无重叠的多个子带,包括:按照预设的子带宽度将遍历到的所述当前声音帧的频谱划分成为无重叠的多个子带。

可选地,采用如下的公式分别计算当前声音帧的多个子带的子带功率谱熵概率质量:

其中,xi表示第i个子带的频谱能量,N为各个声音帧划分得到的子带的数目。

可选地,采用如下的公式根据当前声音帧的各个子带的子带功率谱熵概率质量,计算当前声音帧的子带功率谱熵:

H(x)=-∑x∈Xxi×log2xi,其中,H(x)表示声音帧的子带功率谱熵。

可选地,所述将遍历到的当前声音帧的频谱划分为无重叠的多个子带,包括:将遍历到的当前声音帧的频谱划分为无重叠的12或13个子带。

可选地,所述方法还包括:当确定当前声音帧中包括语音信息时,对当前声音帧进行语音识别。

本发明实施例还提供了一种语音识别装置,所述装置包括:

频域处理单元,适于将获取的待识别的声音数据划分为多个重叠的声音帧,并对每个声音帧进行快速傅立叶变换运算,得到对应的频谱;

子带划分单元,适于对所述多个重叠的声音帧的频谱进行遍历,将遍历到的当前声音帧的频谱划分为无重叠的多个子带;

第一计算单元,适于分别计算当前声音帧的多个子带的子带功率谱熵概率质量;

第二计算单元,适于根据当前声音帧的各个子带的子带功率谱熵概率质量,计算当前声音帧的子带功率谱熵;

判断单元,适于判断当前声音帧的子带功率谱熵是否大于预设的阈值;

确定单元,适于当确定当前声音帧的子带功率谱熵大于预设的阈值时,确定当前声音帧中包括语音信息。

可选地,所述子带划分单元适于按照预设的子带宽度将遍历到的所述当前声音帧的频谱划分成为无重叠的多个子带。

适于:所述第一计算单元,适于采用如下的公式分别计算当前声音帧的多个子带的子带功率谱熵概率质量:

其中,xi表示第i个子带的频谱能量,N为各个声音帧划分得到的子带的数目。

可选地,所述第二计算单元适于采用如下的公式根据当前声音帧的各个子带的子带功率谱熵概率质量,计算当前声音帧的子带功率谱熵:

H(x)=-∑x∈Xxi×log2xi,其中,H(x)表示声音帧的子带功率谱熵。

可选地,所述子带划分单元适于将遍历到的当前声音帧的频谱划分为无重叠的12或13个子带。

可选地,所述装置还包括:语音识别单元,适于当确定当前声音帧中包括语音信息时,对当前声音帧进行语音识别。

与现有技术相比,本发明的技术方案具有以下的优点:

上述的方案,在当前声音帧的子带功率谱熵大于预设的阈值时,则确定当前声音帧中包括语音信息,因划分得到的各个声音帧的子带功率谱熵的计算较为简单,因此,可以节省语音识别的计算资源和时间,且可以提高语音识别的准确率。

进一步地,当将每个声音帧的频谱按照预设的宽度划分得到多个无重叠的子带时,可以简化子带划分的过程,提高子带划分的速度,进而可以提升 语音识别的速度。

进一步地,通过所述将每个声音帧的频谱划分为12或13个无重叠的多个子带,可以进一步提高语音识别的准确性。

附图说明

图1是本发明实施例中的一种语音识别方法的流程图;

图2是本发明实施例中的另一种语音识别方法的流程图;

图3是本发明实施例中的一种语音识别装置的结构示意图。

具体实施方式

为解决现有技术中存在的上述问题,本发明实施例采用的技术方案通过在确定当前声音帧的子带功率谱熵大于预设的阈值时,确定当前声音帧中包括语音信息,因划分得到的各个声音帧的子带功率谱熵的计算较为简单,可以节省语音识别的计算资源和时间,且可以提高语音识别的准确率。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1示出了本发明实施例中的一种语音识别方法的流程图。如图1所示的语音识别方法,可以包括如下步骤:

步骤S101:将获取的待识别的声音数据划分为多个重叠的声音帧,并对每个声音帧进行快速傅立叶变换运算,得到对应的频谱。

步骤S102:对所述多个声音帧的频谱进行遍历,将遍历到的当前声音帧的频谱划分为无重叠的多个子带。

步骤S103:分别计算当前声音帧的多个子带的子带功率谱熵概率质量。

步骤S104:根据当前声音帧的各个子带的子带功率谱熵概率质量,计算当前声音帧的子带功率谱熵。

步骤S105:当确定当前声音帧的子带功率谱熵大于预设的阈值时,确定当前声音帧中包括语音信息。

下面将结合图2对本发明实施例中的语音识别方法做进一步详细的介绍。

图2示出了本发明实施例中的另一种语音识别方法的流程图。如图2所示的语音识别方法,可以包括:

步骤S201:将获取的声音数据进行重叠分帧,得到对应的多个声音帧。

在具体实施中,首先可以对所采集的声音信号进行模数转换,得到对应的声音数据。接着,可以将对应的声音数据进行重叠分帧,得到多个声音帧。对采集的声音数据进行分帧,实质是对声音数据进行短时分析。短时分析是把声音信号分成具有固定周期的时间短段,每个时间短段是相对固定的持续声音片段。其中,相邻的两个声音帧之间部分重叠,重叠范围可以根据实际情况进行选择。

步骤S202:对所得到的多个声音帧进行加窗处理。

在具体实施中,可以选择汉明窗、汉宁窗、矩形窗等语音信号处理常用的窗函数,帧长选择为10~40ms,典型值为20ms。其中,对语音信号进行分帧处理破坏了声音信号的自然度,通过使用声音帧进行加窗和回移处理等,可以解决这个问题。

步骤S203:将经过加窗处理后的声音帧进行快速傅立叶变换运算,得到各个声音帧对应的频谱。

在具体实施中,声音数据理论上来说是随时间变化的,是一个非稳态的过程,不可以直接进行频域的转换。但是,由于对声音数据进行分帧处理(短时分析),每帧的声音数据可以认为是相对稳定的,因而可以对其应用频域转换。

在具体实施中,可以采用短时傅立叶变换(Short-Time Fourier Transform/Short-Term Fourier Transform,STFT))对每帧的声音数据进行频域转换,以得到各个声音帧对应的频谱信息。其中,所得到的频谱中包括对应的声音信号的频率和能量的关系。

步骤S204:对划分得到的多个声音帧的频谱进行遍历,将遍历到的当前声音帧的频谱划分为多个无重叠的子带。

在具体实施中,因谱熵的大小仅依赖于谱的分布,因而,在一定信噪比 范围内,谱熵对于噪声的变化具有鲁棒性。但是,由于噪声的影响,每一个频点的幅度也会受到影响,在极低信噪比的条件下,频谱的结构会被噪声破坏,影响了频谱检测的性能,因此,考虑到即使在很低的信噪比水平下,声音帧中仍然可能存在信噪比较高的频带,利用子带算法可以在一定程度上减少单频点幅度对噪声的敏感性。

在具体实施中,可以按照预设的宽度将各个声音帧划分成为重叠的多个子带。其中,当最后一个子带的宽度小于预设的宽度时,可以将最后一个子带划归为倒数第二个子带,与倒数第二个预设宽度的子带一起作为最后一个子带。

步骤S205:根据各个子带的频谱能量,计算得到当前声音帧中多个子带的子带功率谱熵概率质量,并根据当前声音帧的各个子带的子带功率谱质量,计算得到当前声音帧的子带功率谱熵。

在具体实施中,谱熵可以用于VAD中对声音数据中的静音部分和语音部分进行识别。这种识别特性,使得谱熵可以对语音识别。本领域的技术人员可以知道的是,共振峰以及它们所在的位置对于语音识别具有重要的作用,而谱熵则可以对共振峰进行捕捉。因此,谱熵的共振峰捕捉能力可以用于语音识别中。

在具体实施中,当对遍历到的声音帧划分为多个无重叠的子带之后,可以通过将子带的能量进行归一化运算,得到各个子带的子带功率谱熵概率质量函数,即:

其中,xi表示第i个子带的频谱能量,N为各个声音帧划分得到的子带的数目。

接着,根据子带功率谱熵的构造原理,可以采用如下的公式计算得到当前声音帧的子带功率谱熵:

H(x)=-∑x∈Xxi×log2xi (2)

其中,H(x)表示声音帧的子带功率谱熵。

同时,本申请的发明人通过研究发现,将各个声音帧划分得到的子带的数目,对于语音识别的性能具有重要的影响,当将各个声音帧划分成为12个或者13个子带的时候,可以产生良好的声音识别性能。

步骤S206:判断当前声音帧的子带功率谱熵是否大于预设的阈值;当判断结果为是时,可以执行步骤S207,反之,则对当前声音帧相邻的下一声音帧从步骤S204开始执行。

在具体实施中,在当前声音帧的子带功率谱熵大于预设的阈值时,表明当前声音帧中包括语音信息,反之,则表明当前声音帧中不包括语音信息。

步骤S207:对当前声音帧进行识别。

在具体实施中,当确定当前声音帧中包括语音信息时,可以对当前帧进行语音识别,以识别出具体的语音内容。

在具体实施中,执行完步骤S207之后,可以接着对当前声音帧的下一声音帧从步骤S204开始执行,直至遍历完成所获取的声音数据的多个声音帧。

在具体实施中,当将上述的语音识别方法应用于移动终端中的总听系统中时,在识别出所获取的声音数据中完整的语音信息时,移动终端可以根据所识别出的语音内容执行相应的操作。例如,当识别出用户输入的语音为“拨打XX的手机”时,移动终端便可以对用户输入的“拨打XX的手机”的语音信息进行识别,并在正确识别后,从自身中获取XX的手机号码的信息,并自动拨打。

图3示出了本发明实施例还提供了一种语音识别装置的结构示意图。如图3所示的语音识别装置300,可以包括频域处理单元301、子带划分单元302、第一计算单元303、第二计算单元304、判断单元305和确定单元306,其中:

所述频域处理单元301,适于将获取的待识别的声音数据划分为多个重叠的声音帧,并对每个声音帧进行快速傅立叶变换运算,得到对应的频谱;

所述子带划分单元302,适于对所述多个重叠的声音帧频谱进行遍历,将遍历到的当前声音帧的频谱划分为无重叠的多个子带;

在具体实施中,所述子带划分单元适于按照预设的子带宽度将遍历到的 所述当前声音帧的频谱划分成为无重叠的多个子带;

在具体实施中,所述子带划分单元适于将每个声音帧的频谱划分为无重叠的12或13个子带;

所述第一计算单元303,适于分别计算当前声音帧的多个子带的子带功率谱熵概率质量;

所述第一计算单元303,适于采用如下的公式分别计算当前声音帧的多个子带的子带功率谱熵概率质量:

其中,xi表示第i个子带的频谱能量,N为各个声音帧划分得到的子带的数目。

所述第二计算单元304,适于根据当前声音帧的各个子带的子带功率谱熵概率质量,计算当前声音帧的子带功率谱熵;

在具体实施中,所述第二计算单元304适于采用如下的公式根据当前声音帧的各个子带的子带功率谱熵概率质量,计算当前声音帧的子带功率谱熵:

H(x)=-∑x∈Xxi×log2xi,其中,H(x)表示声音帧的子带功率谱熵。

所述判断单元305,适于判断当前声音帧的子带功率谱熵是否大于预设的阈值;

所述确定单元306,适于当确定当前声音帧的子带功率谱熵大于预设的阈值时,确定当前声音帧中包括语音信息。

在具体实施中,所述语音识别装置300还可以包括语音识别单元307,其中:

所述语音识别单元307,适于当确定当前声音帧中包括语音信息时,对当前声音帧进行语音识别。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

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