本申请为申请日为2015年05月25日,申请号为:201510271782.7,名称为:语音识别方法及装置的分案申请。
本发明属于语音识别技术领域,特别是涉及一种语音识别方法及装置。
背景技术:
移动终端,是指可以在移动中使用的计算机设备,广义地讲包括手机、笔记本、平板电脑、pos机、车载电脑等。随着集成电路技术的飞速发展,移动终端已经拥有了强大的处理能力,移动终端正在从简单的通话工具变为一个综合信息处理平台,这也给移动终端增加了更加宽广的发展空间。
移动终端的使用,通常需要用户集中一定的注意力。如今的移动终端设备都配备有触摸屏,用户需要触摸所述触摸屏,以执行相应的操作。但是,用户无法触碰到移动终端设备时,操作移动终端便会变得极其不方便。例如,当用户驾驶车辆或者手中提有物品的时候。
语音识别方法和总听系统(alwayslisteningsystem)的使用,使得可以对移动终端进行非手动激活和操作。当所述总听系统检测到声音信号时,语音识别系统便会激活,并对检测到的声音信号进行识别,之后,移动终端便会根据所识别出的声音信号执行相应的操作,例如,当用户输入“拨打xx的手机”的语音时,移动终端便可以对用户输入的“拨打xx的手机”的语音信息进行识别,并在正确识别后,从移动终端中获取xx的手机号码的信息,并拨打。
但是,现有技术中的语音识别方法,在进行语音识别时,存在着计算量大、识别速度慢的问题。
技术实现要素:
本发明实施例解决的问题是节省语音识别的计算资源,提高语音识别的速度。
为解决上述问题,本发明实施例提供了一种语音识别方法,所述语音识别方法包括:
将获取的声音数据进行分帧处理,以得到至少两个声音帧;
从所述至少两个声音数据帧中选取满足选取条件的声音帧;
计算所述满足选取条件的声音帧的语音识别分值;
当计算得到的语音识别分值大于预设的分值阈值时,对所述获取的声音数据进行语音识别。
可选地,所述从所述至少两个声音数据帧中选取满足选取条件的声音帧,包括:
计算当前声音帧的后信噪比;
根据所述当前声音帧的后信噪比计算前一声音帧和当前声音帧之间的后验信噪比权重能量距离;
计算当前声音帧的第一选取阈值;
当所述前一声音帧和当前声音帧之间的后验信噪比权重能量距离大于当前声音帧的第一选取阈值时,则选取当前声音帧。
可选地,采用如下的公式计算当前声音帧的后信噪比:
可选地,采用如下的公式计算前一声音帧和当前声音帧之间的后验信噪比权重能量距离:
d(t)=|loge(t)-loge(t-1)|×snrpost(t);其中,d(t)表示前一声音帧和当前声音帧之间的后验信噪比权重能量距离,loge(t)表示当前声音帧的对数能量,loge(t-1)表示前一声音帧的对数能量。
可选地,采用如下的公式计算当前声音帧的第一选取阈值:
t(t)=da(t)×f(logenoise(t)),其中,t(t)表示当前声音帧的第二选取阈值,da(t)表示当前声音帧之前的连续声音帧的后验信噪比权重能量距离均值,f(logenoise(t))为s型函数。
可选地,所述从得到的多个声音数据帧中选取满足预设的选取条件的声音帧,包括:
计算当前声音帧的后信噪比;
当确定计算得到的后信噪比大于预设的第二选取阈值时,选取当前声音帧。
可选地,采用如下的公式计算当前声音帧的后信噪比:
可选地,采用如下的公式计算所述满足选取条件的声音帧的语音识别分值,包括:
本发明实施例还提供了一种语音识别装置,所述语音识别装置包括:
分帧处理单元,适于将获取的声音数据进行分帧处理,以得到至少两个声音帧;
选取单元,适于从所述至少两个声音数据帧中选取满足选取条件的声音帧;
计算单元,适于计算所述满足选取条件的声音帧的语音识别分值;
识别单元,适于当计算得到的语音识别分值大于预设的分值阈值时,对所述获取的声音数据进行语音识别。
可选地,所述选取单元适于计算当前声音帧的后信噪比;根据所述当前声音帧的后信噪比计算前一声音帧和当前声音帧之间的后验信噪比权重能量距离;计算当前声音帧的第二选取阈值;当所述前一声音帧和当前声音帧之间的后验信噪比权重能量距离大于当前声音帧的第二选取阈值时,则选取当前声音帧。
可选地,所述选取单元适于计算当前声音帧的后信噪比;当确定计算得到的后信噪比大于预设的第一选取阈值时,选取当前声音帧。
与现有技术相比,本发明的技术方案具有以下的优点:
通过从待识别的声音数据中选取满足预设条件的声音帧进行语音识别,可以排除不包括语音信息的非语音数据帧,而仅对所选取的声音帧均进行语音识别处理,因此,可以节约计算资源,提升语音识别的速度,提升用户的使用体验。
进一步地,根据计算得到的当前声音帧的后信噪比,计算得到当前声音帧和前一声音帧的后验信噪比权重能量距离,并将计算得到的后验信噪比权重能量距离与计算得到的当前声音帧的第二选取阈值进行比较,与仅仅计算当前声音帧的后信噪比相比,可以将更多的不包括语音信息的非语音声音帧排除在外,因此,可以进一步节省计算资源,提升语音识别的速度。
进一步地,通过仅仅将计算得到的当前声音帧的后信噪比与预设的第一选取阈值进行比较,可以将更多的不包括语音信息的声音帧排除,并可以节省计算资源,因此,可以进一步提高语音识别的速度。
附图说明
图1是本发明实施例中的一种语音识别方法的流程图;
图2是本发明实施例中的另一种语音识别方法的流程图;
图3是本发明实施例中的又一种语音识别方法的流程图;
图4是本发明实施例中的一种语音识别装置的结构示意图。
具体实施方式
现有技术中的语音识别方法,在进行语音识别时,通常以固定帧率(fixedframerate,ffr)对待识别的声音数据划分得到的多个声音帧进行语音识别处理。由于划分得到的多个声音帧中的某些声音帧中并不包括语音信息,对这些不包括语音信息的非语音帧进行语音识别处理,不仅对于语音识别毫无意义,而且还会浪费计算资源,降低语音的识别速度。
为解决现有技术中存在的上述问题,本发明实施例采用的技术方案通过从待识别的声音数据中选取满足预设条件的声音帧进行语音识别,可以节约计算资源,提升语音识别的速度,提升用户的使用体验。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1示出了本发明实施例中的一种语音识别方法的流程图。如图1所示的语音识别方法,可以包括:
步骤s101:将获取的声音数据进行分帧处理,以得到至少两个声音帧。
在具体实施中,可以采用麦克来对输入的声音信号进行实时采集。当采集到声音数据时,通过相应的处理,将输入的声音信号转换成为对应的声音数据。之后,可以对转换得到的声音数据进行分帧处理,从而得到至少两个声音帧。
步骤s102:从所述至少两个声音数据帧中选取满足选取条件的声音帧。
现有的语音识别方法,在进行语音识别时,通常需要对声音数据划分得到的所述至少两个声音帧均进行相应的语音识别处理。但是,并不是每个声音帧中均包括语音信息,而对不包括语音信息的声音帧进行语音识别处理将会浪费资源,并且会降低语音识别的速度。因此,在本发明实施例中,首先从划分得到的至少两个的声音帧中选取部分声音帧,将部分不包括语音数据的声音帧排除,这样,可以节省资源,并可以提升语音识别的速度。
步骤s103:计算所述满足选取条件的声音帧的语音识别分值。
在具体实施中,所述选取条件可以根据实际的需要进行设置。
步骤s104:当计算得到的语音识别分值大于预设的分值阈值时,对所述获取的声音数据进行语音识别。
在具体实施中,当根据所选取的声音帧计算得到的语音识别分值大于预设的分值阈值时,可以确定所获取的声音数据中包含有用户的语音信息,此时,可以对获取的声音数据进行语音识别。反之,则不需要对其进行语音识别。其中,语音识别分值可以根据实际的需要进行设置。
图2示出了本发明实施例中的另一种语音识别方法的流程图。如图2所示的语音识别方法,可以包括:
步骤s201:将获取的声音数据进行分帧处理,以得到至少两个声音帧。
步骤s202:遍历所述至少两个声音帧。
步骤s203:计算当前声音帧的后信噪比。
在具体实施中,为了确定选取哪些声音帧,可以遍历所述至少两个声音帧,并对各个声音帧分别采用如下的公式计算对应的后信噪比(postsnr):
其中,snrpost(t)表示当前声音帧的后信噪比,t表示当前声音帧的位序,e(t)表示当前声音帧的嘈杂语音(noisyspeech)能量,enoise(t)表示当前声音帧的噪音能量。
步骤s204:根据所述当前声音帧的后信噪比计算前一声音帧和当前声音帧之间的后验信噪比权重能量距离。
在本发明一实施例中,采用如下的公式计算前一声音帧和当前声音帧之间的后验信噪比权重能量距离:
d(t)=|loge(t)-loge(t-1)|×snrpost(t)(2)
其中,d(t)表示前一声音帧和当前声音帧之间的后验信噪比权重能量距离,loge(t)表示当前声音帧的对数能量,loge(t-1)表示前一声音帧的对数能量。
步骤s205:计算当前声音帧的第一选取阈值。
在本发明一实施例中,需要对所获取的声音数据划分得到的每个声音帧均计算相应的第一选取阈值。具体地,各个声音帧的第一选取阈值可以采用如下的公式计算得到:
t(t)=da(t)×f(logenoise(t))(3)
其中,t(t)表示当前声音帧的第一选取阈值,da(t)表示包括当前声音帧在内的两个连续声音帧的后验信噪比权重能量距离均值,f(logenoise(t))为s型函数(sigmoidfunction)。
这里需要指出的是,da(t)并不是一个常量,其随着声音帧的变化而变化。以所获取的声音数据划分得到3个声音帧——第一声音帧、第二声音帧和第三声音帧为例,其中,d(1)表示第一声音帧与前一声音帧的后验信噪比权重能量距离(为第一声音帧的能量对数与第一声音帧的后信噪比的乘积),d(2)表示第二声音帧和第一声音帧的后验信噪比权重能量距离,d(3)表示第三声音帧和第二声音帧的后验信噪比权重能量距离。那么,在采用公式(3)计算第一声音帧的第一选取阈值时,da(1)等于d(1);计算第二声音帧的第一选取阈值时,da(2)为d(1)和d(2)的平均值;计算第三声音帧的第一选取阈值时,da(3)为d(1)、d(2)和d(3)的平均值。因此,可见,da(t)随着声音帧进行更新。
步骤s206:将所述前一声音帧和当前声音帧之间的后验信噪比权重能量距离与当前声音帧的第一选取阈值进行比较。
步骤s207:当确定所述前一声音帧和当前声音帧之间的后验信噪比权重能量距离大于当前声音帧的第一选取阈值时,选取当前声音帧。
步骤s208:计算所述满足选取条件的声音帧的语音识别分值。
在本发明一实施例中,可以采用移动平均法(movingaveragemethod)来计算满足选取条件的声音帧的语音识别分值,具体为采用如下的公式计算所述满足选取条件的声音帧的语音识别分值,包括:
其中,mn表示计算得到的语音识别分值,n表示所选取的声音帧中位于中间的声音帧的位序,n-表示所选取的声音帧中起始声音帧的位序,n+表示所选取的声音帧中终止声音帧的位序,α表示预设的调整参数,m表示随着所选取的声音帧位序变化的正整数,f(α×(n+m))表示移动平均法预测模型。
在采用上述的公式(4)计算满足选取条件的声音帧的语音识别分值时,计算得到的mn是以10ms的帧移计算得出的,可以用于作为平均移动窗口内的声音帧的平均数量的衡量。
步骤s209:当计算得到的语音识别分值大于预设的分值阈值时,对所述获取的声音数据进行语音识别。
在具体实施中,当当计算得到的语音识别分值大于预设的分值阈值时,确定所获取的声音数据中包括语音信息,接着便可以对所获取的声音数据进行语音识别。
在具体实施中,当识别出所获取的声音数据中的语音信息时,移动终端可以执行相应的操作。例如,当移动终端识别出的语音信息为“打开facebook”时,移动终端将会为用户打开facebook。
在具体实施中,为了进一步将不包括语音数据的声音帧排除在外,可以仅仅通过将各个声音帧的后信噪比与预设的第二选取阈值进行比较来进行确定,这样不仅可以节省计算资源,同时也可以进一步提高语音识别的速度,具体请参见图3所示。
图3示出了本发明实施例中的另一种语音识别方法的流程图。如图3所示的语音识别方法,可以包括:
步骤s301:将获取的声音数据进行分帧处理,以得到至少两个声音帧。
在本发明一实施例中,为了便于对声音帧的分析处理,将获取的声音数据划分得到的至少两个声音帧中各个声音帧的长度为25ms,相邻两个声音帧之间的帧移为1ms。
步骤s302:遍历所得到的至少两个声音帧,并计算当前声音帧的后信噪比。
在本发明实施例中,采用上述的公式(1)计算出的后信噪比,可以直接用在在后续步骤中判断是否选取当前声音帧。
这里需要指出的是,与计算先信噪比(priorisnr)相比,采用声音帧的后信噪比来确定是否选取声音帧将变得更加直观、明确,因为在计算各个声音帧的先信噪比需要对当前声音帧中的纯净语音的能量进行预估,而对声音帧中的纯净语音能量进行评估将是一件相当不易的事情。
步骤s303:将当前声音帧的后信噪比与预设的第二选取阈值进行比较。
在具体实施中,第二选取阈值可以根据实际的需要进行设定。
步骤s304:当确定当前帧的后信噪比大于预设的第二选取阈值时,选取当前声音帧。
在具体实施中,当确定当前帧的后信噪比大于第二选取阈值时,说明当前帧中可能包括有语音信息,此时选取当前帧。反之,则舍弃当前帧,而继续进行下一声音帧的判断。
步骤s305:计算所述满足选取条件的声音帧的语音识别分值。
步骤s306:当计算得到的语音识别分值大于预设的分值阈值时,对所述获取的声音数据进行语音识别。
图4示出了本发明实施例还提供了一种语音识别装置。如图4所示的语音识别装置,可以包括分帧处理单元401、选取单元402、计算单元403和识别单元404,其中:
分帧处理单元401,适于将获取的声音数据进行分帧处理,以得到至少两个声音帧。
选取单元402,适于从所述至少两个声音数据帧中选取满足选取条件的声音帧。在本发明一实施例中,选取单元402适于计算当前声音帧的后信噪比。当确定计算得到的后信噪比大于预设的第一选取阈值时,选取当前声音帧。在本发明另一实施例中,选取单元402适于计算当前声音帧的后信噪比;根据所述当前声音帧的后信噪比计算前一声音帧和当前声音帧之间的后验信噪比权重能量距离;计算当前声音帧的第二选取阈值;当所述前一声音帧和当前声音帧之间的后验信噪比权重能量距离大于当前声音帧的第二选取阈值时,则选取当前声音帧。
计算单元403,适于计算所述满足选取条件的声音帧的语音识别分值。
识别单元404,适于当计算得到的语音识别分值大于预设的分值阈值时,对所述获取的声音数据进行语音识别。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。
以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。