掌桥专利:专业的专利平台
掌桥专利
首页

语音识别方法、装置、电子设备和可读存储介质

文献发布时间:2023-06-19 16:09:34



技术领域

本申请属于人工智能技术领域,具体涉及一种语音识别方法、装置、电子设备和可读存储介质。

背景技术

目前,语音识别分为流式识别和非流式识别,流式识别是指:在用户说话的时候便进行语音识别;非流式识别是指:用户说完一句话或者一段话之后再进行识别。流式识别因为其延迟低的特点,能够给用户带来更好的体验,应用也更为广泛。

流式识别过程为:对于一条音频“某国崛起”,用户在说“某国”的时候,音频段达到预设值(如500ms),识别到的结果是“某国”;重新计时,当用户继续说“崛”的时候,音频段再次达到500ms,识别到的结果是“崛”;以此类推,直至完成整段音频的识别。在流式识别的过程中,是以固定时长作为识别单位来依次完成多次识别的,因此,很有可能出现的现象为:用户所说的某个字刚好出现在两个固定时长的边界处,如第一个500ms的结束处,以及第二个500ms的开始处,从而使得这个字的音频被拆分,进而导致无法准确识别这个字。

可见,现有技术中的流式语音识别的准确率较低。

发明内容

本申请实施例的目的是提供一种语音识别方法,能够解决现有技术中的流式语音识别的准确率较低的问题。

第一方面,本申请实施例提供了一种语音识别方法,该方法包括:对目标音频进行分频处理,得到目标帧;获取所述目标帧的采样点的最大值;在连续a1个目标帧的采样点的最大值均小于第一阈值的情况下,将所述连续a1个目标帧确定为一个间隙帧子序列,连续的N1个间隙帧子序列为一个间隙帧序列,a1、N1均为正整数;在连续a2个目标帧中,至少有一个目标帧的采样点的最大值大于或者等于所述第一阈值的情况下,将所述连续a2个目标帧确定为一个语音帧子序列,a2、N2均为正整数,连续的N2个语音帧子序列为一个语音帧序列;根据所述目标音频的静音段、所述目标音频的间隙帧序列和所述目标音频的语音帧序列,确定截断位置;识别与所述截断位置相关联的目标帧。

第二方面,本申请实施例提供了一种语音识别装置,该装置包括:分帧模块,用于对目标音频进行分频处理,得到目标帧;获取模块,用于获取所述目标帧的采样点的最大值;第一确定模块,用于在连续a1个目标帧的采样点的最大值均小于第一阈值的情况下,将所述连续a1个目标帧确定为一个间隙帧子序列,连续的N1个间隙帧子序列为一个间隙帧序列,a1、N1均为正整数;第二确定模块,用于在连续a2个目标帧中,至少有一个目标帧的采样点的最大值大于或者等于所述第一阈值的情况下,将所述连续a2个目标帧确定为一个语音帧子序列,a2、N2均为正整数,连续的N2个语音帧子序列为一个语音帧序列;第三确定模块,用于根据所述目标音频的静音段、所述目标音频的间隙帧序列和所述目标音频的语音帧序列,确定截断位置;识别模块,用于识别与所述截断位置相关联的目标帧。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。

第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。

这样,在本申请的实施例中,在接收到目标音频的情况下,实时地对接收到音频数据进行分帧处理,以得到连续的目标帧。进一步地,将连续的多个目标帧作为一个判断单位,以判断多个目标帧的采样点的最大值是否均小于第一阈值,若满足判断条件,则将多个(a1个)目标帧作为一个间隙帧子序列;可以基于上述判断方法,将连续出现的N1个间隙帧子序列作为一个间隙帧序列,用于表示用户说话时的换气动作。反之,将连续的多个目标帧作为一个判断单位,以判断多个目标帧的采样点的最大值是否有大于或者等于第一阈值的,若满足判断条件,则将多个(a2个)目标帧作为一个语音帧子序列;可以基于上述判断方法,将连续出现的N2个语音帧子序列作为一个语音帧序列,用于表示用户所说的语音信号。从而,在进行实时音频识别时,在已知间隙帧序列、语音帧序列和静音段的基础上确定截断位置,并对截断位置之前的目标帧进行识别,可以使得截断位置避开语音帧序列的区间,从而确保不会将一个字的发音被拆分在两次识别中。可见,基于本申请的实施例,在流式识别过程中,可以提高语音识别的准确率。

附图说明

图1是本申请实施例的语音识别方法的流程图;

图2至图5是本申请实施例的目标音频的波形图;

图6是本申请实施例的语音识别装置的框图;

图7是本申请实施例的电子设备的硬件结构示意图之一;

图8是本申请实施例的电子设备的硬件结构示意图之二。

具体实施方式

下面将结合本申请实施例的附图,对本申请实施例的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的语音识别方法进行详细地说明。

图1示出了本申请一个实施例的语音识别方法的流程图,该方法应用于电子设备,包括:

步骤110:对目标音频进行分频处理,得到目标帧。

在该步骤之前,还包括步骤:接收输入,响应于该输入,接收目标音频。

应用场景如,用户长按设备上的语音识别按钮,开始接收目标音频。

可选地,由麦克风接收目标音频。

在该步骤中,实时对接收到音频数据进行分帧处理,以得到目标帧。

需要说明的是,本申请适用于流式语音识别,对应地,目标音频用于指示当前接收到音频。其中,随着接收到音频数据逐渐增多,待处理的音频数据随之更新,得到的目标帧也逐渐增多。

例如,当前处理的音频数据为25ms,分帧后得到一帧,随着接收到音频数据逐渐增多,逐渐得到更多的帧。

步骤120:获取目标帧的采样点的最大值。

在该步骤中,对目标帧的所有采样点取绝对值,并将所有采样点中的最大值作为该目标帧的采样值。

其中,目标帧的采样点的正负用于表示麦克风的薄膜是在平衡位置附近振动产生的位移,平衡位置的位移是“0”,两侧的位移分别是正数和负数。

另外,在本申请中,将采样点中的最大值作为该目标帧的采样值,以判断该目标帧中是否包括语音信号,因为采样值的数值越大,所发出声音的能力越强。

步骤130:在连续a1个目标帧的采样点的最大值均小于第一阈值的情况下,将连续a1个目标帧确定为一个间隙帧子序列,连续的N1个间隙帧子序列为一个间隙帧序列,a1、N1均为正整数。

在该步骤中,将连续a1个目标帧,作为一个判断单元。若连续a1个目标帧中,任何一个目标帧对应的最大值都是小于第一阈值(n)的,则认为该组目标帧的采样值均不为“n”,同时,将该组目标帧定义为一个间隙帧子序列。进一步地,若连续N1个间隙帧子序列的采样值均不为“n”,则认为该序列是一个间隙帧序列。

例如,麦克风接收到的语音为:“今天天气怎么样”和“我去公园”,这两句话对应的完整波形如图2所示。用户在说话会进行换气,体现在波形图中,换气期间波形的采样值很低,甚至为零。因此,本实施例基于上述现象,对接收到的目标音频进行实时的分帧处理,以找到目标音频中的间隙帧序列,其中,间隙帧序列用于表示没有语音信号或者语音信号较弱。从而,参见图3,在波形图中区分出换气前后的的波形,其中,一个方框用于表示上方的文字对应的波形,相邻方框之间的小间隙,用于表示间隙帧序列。

步骤140:在连续a2个目标帧中,至少有一个目标帧的采样点的最大值大于或者等于第一阈值的情况下,将连续a2个目标帧确定为一个语音帧子序列,a2、N2均为正整数,连续的N2个语音帧子序列为一个语音帧序列。

在该步骤中,若连续a2个目标帧中,至少有一个目标帧对应的最大值是大于或者等于第一阈值(n)的,则将该组目标帧的采样点的最大值重置为“n”,同时,将该组目标帧定义为一个语音帧子序列。进一步地,若连续N2个语音帧子序列的采样值均为“n”,则认为该序列是一个语音帧序列。

通常,根据人说话时,声音强度较大的特征,将连续的包括语音信号的帧集合在一起,作为一个语音帧序列,进行后续的识别,从而避免因某个字的语音信号被拆分,导致识别不准确。

因此,该步骤中的语音帧序列用于表示有语音信号或者语音信号较强。

可选地,a1和a2取值相同,以选取相同长度的音频进行处理。

其中,在一段音频中,间隙帧序列和语音帧序列交替出现。

例如,参见图4,每两个语音帧序列之间,间隔一个间隙帧序列。

步骤150:根据目标音频的静音段、目标音频的间隙帧序列和目标音频的语音帧序列,确定截断位置。

在该步骤中,基于目标音频中的间隙帧序列、语音帧序列,结合目标音频中的静音段,在语音识别的过程中,确定截断位置。

可选地,根据每帧的特征信息,在接收到的目标音频中确定语音段或者静音段。

示例性地,将每一帧的特征通过语音激活检测(Voice Activity Detection,简称VAD)算法得到语音段和静音段。

参见图5,例如,接收到完整音频为“今天天气怎样,我去公园”,“今天天气怎样”和“我去公园”对应为语音段,两句话出现停顿,间隔时长较长,对应为静音段。

在一段音频中,语音段和静音段交替出现。

参见图5,例如,两个语音段之间间隔一个静音段。

可选地,结合目标音频中的语音帧序列,在目标音频的间隙帧序列和静音段所在区间确定截断位置,即在用户换气处、停留处截断音频,以使得被截断的两侧音频分别表示完整的字或者词。

步骤160:识别与截断位置相关联的目标帧。

在该步骤中,在确定截断位置之后,对截断位置之前的音频进行识别。

例如,基于流式识别的特征,可以以目标音频的某个位置作为起点,截断位置作为终点,识别起点和终点之间所有的音频信号。

这样,在本申请的实施例中,在接收到目标音频的情况下,实时地对接收到音频数据进行分帧处理,以得到连续的目标帧。进一步地,将连续的多个目标帧作为一个判断单位,以判断多个目标帧的采样点的最大值是否均小于第一阈值,若满足判断条件,则将多个(a1个)目标帧作为一个间隙帧子序列;可以基于上述判断方法,将连续出现的N1个间隙帧子序列作为一个间隙帧序列,用于表示用户说话时的换气动作。反之,将连续的多个目标帧作为一个判断单位,以判断多个目标帧的采样点的最大值是否有大于或者等于第一阈值的,若满足判断条件,则将多个(a2个)目标帧作为一个语音帧子序列;可以基于上述判断方法,将连续出现的N2个语音帧子序列作为一个语音帧序列,用于表示用户所说的语音信号。从而,在进行实时音频识别时,在已知间隙帧序列、语音帧序列和静音段的基础上确定截断位置,并对截断位置之前的目标帧进行识别,可以使得截断位置避开语音帧序列的区间,从而确保不会将一个字的发音被拆分在两次识别中。可见,基于本申请的实施例,在流式识别过程中,可以提高语音识别的准确率。

在本申请另一个实施例的语音识别方法的流程中,步骤150,包括:

子步骤A1:在检测到的语音帧序列的个数满足第二阈值的情况下,在最后一个语音帧序列相邻的下一个间隙帧序列所在区间确定截断位置。

可选地,第二阈值为“2”,以实现实时语音识别功能。

可参考地,本实施例的实现过程为:第一步,设置一个用于统计语音帧序列的计数值(count),并设置为count=0;第二步,依次检测连续的各个序列是否为语音帧序列,若是,则count在原有值的基础上加“1”,若否,则count保持不变,直至count=2。进一步地,在完成本次检测后,重置为count=0,并继续进行检测。

例如,检测到第一个序列为语音帧序列,则count=1;检测到第二个序列为间隙帧序列,则count=1;检测到第三个序列为语音帧序列,则count=2。

在本实施例中的情况下,在最后一个语音帧序列相邻的下一个间隙帧序列所在区间确定截断位置。

可选地,因间隙帧序列至少包括a1个目标帧,可以在最后一个语音帧序列之后的第a1帧,确定截断位置。

例如,在前述例子的基础上,第四个序列为间隙帧序列,在第四个序列中,确定一个截断位置。

其中,与截断位置相关联的目标帧包括:检测到连续的语音帧序列中的目标帧,以及,检测到连续的语音帧序列之间间隔的间隙帧序列中的目标帧。

在本实施例中,所要识别的目标帧包括:从本次检测的第一个序列开始,直到截断位置结束,之间所有的目标帧。这样的识别方法能够识别出字与字之前的间隔,提高识别的准确率。

可选地,将检测到的语音帧序列,以及各个语音帧序列之间间隔的间隙帧序列,同时输入模型中,以输出对应的识别结果。

例如,在前述例子的基础上,将第一个序列、第二个序列、第三个序列,以及第四个序列的前a1帧,同时输入模型中,以输出对应的识别结果。

在本实施例中,提供了一种识别方法,以检测到的语音帧序列的个数是否满足第二阈值作为条件,决定是否对音频进行截断,从而在确保识别准确性的基础上,实现实时识别,降低识别的延时性。

在本申请另一个实施例的语音识别方法的流程中,步骤150,包括:

子步骤B1:在依次检测到第一语音帧序列、第一静音段的情况下,在所第一静音段所在区间确定截断位置。

在本实施例中,检测过程中,若某个语音帧序列之后,紧跟着的是一个静音段,则认为这里是一个语句停顿,从而在该静音所在区间确定截断位置。

可选地,因静音段的停顿时长必然是大于一个间隙帧序列的时长的,因此一个静音段至少包括a1个目标帧,可以在第一语音帧序列之后的第a1帧,确定截断位置。

其中,与截断位置相关联的目标帧包括:第一语音段中的目标帧,第一语音段包括第一语音帧序列。

在本实施例中,所要识别的目标帧包括:从第一静音段紧邻的上一语音段的开始位置,直至截断位置,之间所有的目标帧。这样的识别方法不仅能够识别出字与字之前的间隔,还可以识别出语句的停顿,从而提高识别的准确率。

其中,第一语音帧序列是第一语音段中的最后一个语音帧序列。

在本步骤中,根据对整个语音段的识别,还可以对该段语音段中的其它已上屏的识别结果进行更新。

可选地,将待识别的所有目标帧,同时输入模型中,以对第一语音段进行整体识别。

在本实施例中,在识别到静音段的情况下,还可以对该静音段之前紧邻的一个语音段进行整体识别,以结合上下文信息,更新识别结果,进一步提高语音识别的准确率。

在本申请另一个实施例的语音识别方法的流程中,步骤150,包括:

子步骤C1:在第二语音帧序列的下一时刻检测到目标输入的情况下,在第二语音帧序列的下一时刻对应区间确定截断位置,目标输入用于停止接收目标音频。

其中,目标输入包括用户在屏幕上进行的触摸输入,不限于点击、滑动、拖动等输入;目标输入还可以是用户的隔空输入,例如手势动作、脸部动作等,目标输入还包括用户在设备上对实体按键的输入,不限于按动等输入。而且,目标输入包括一个或者多个输入,其中,多个输入可以是连续的,也可以是存在时间间隔的。

在该步骤中,目标输入用于停止接收目标音频。

应用场景如,用户在持续按压语音识别按钮的情况下,释放语音识别按钮。

可选地,因目标输入用于表示一段语音的结束,在音频中所占用的区间必然是大于一个间隙帧序列的时长的,因此,可以在第二语音帧序列之后的第a1帧,确定截断位置。

其中,与截断位置相关联的目标帧包括:第二语音段中的目标帧,第二语音段包括第二语音帧序列。

第二语音帧序列是第二语音段中的最后一个语音帧序列。

在本实施例中,所要识别的目标帧包括:从目标输入紧邻的上一语音段的开始位置,直至截断位置,之间所有的目标帧。这样的识别方法不仅能够识别出字与字之前的间隔,还可以识别出语句的结束,从而提高识别的准确率。

在本步骤中,根据对整个语音段的识别,还可以对该段语音段中的其它已上屏的识别结果进行更新。

在本实施例中,在识别到停止接收目标音频的指令的情况下,还可以对接收指令之前的一个语音段进行整体识别,以结合上下文信息,更新识别结果,进一步提高语音识别的准确率。

在本申请另一个实施例的语音识别方法的流程中,该方法还包括:

步骤D1:通过聚类算法,确定a的取值和第一阈值。

其中,a1=a2=a。

可选地,通过k均值聚类算法(k-means clustering algorithm,简称k-means聚类算法)确定a的取值和第一阈值。

可参考地,a的取值为“5”,第一阈值(n)为“1000”。

在本实施例中,a和n主要是运用统计的方法来得到。

可参考地,第一步,对语音数据集分帧处理,对每一帧中所有采样点取绝对值,取每一帧所有采样点的最大值作为当前帧的采样值;通过VAD算法得到语音数据集中所有的语音段和静音段;第二步,对语音数据集中所有属于语音段的语音帧和间隙帧的采样值分别通过k-means聚类算法(假设k取3)得到语音帧和间隙帧的聚类采样值,语音帧的聚类采样值从小到排序分别为x1、x2、x3,间隙帧的聚类采样值从小到大排序分别为y1、y2、y3;第三步,利用公式一,取语音帧和间隙帧聚类采样值的中位数的平均值,确定n,其中,利用n来区分语音帧和间隙帧的原因是消除语音帧和间隙帧的采样值过大过小而对整体采样值的影响;另外,对属于一个语音文字的语音帧的采样值小于n的帧距进行k-means聚类得到a3,a4,a5,最终a=a4,其中,a用于限定语音帧子序列和间隙帧子序列的长度,以及间接限定语音帧序列和间隙帧序列的长度。

其中,公式一:n=(x2+y2)/2。

在本实施例中,利用聚合算法,分别得到“a”的取值和第一阈值。一方面,通过a的取值来限定语音帧子序列或间隙帧子序列的长度,例如,a的取值为“5”,即每5帧作为一个子序列,这样既不需要依次对每一帧进行判断,以减少处理量,又确保用户在未换气情况下说一个字(或者连续的多个字),对应的帧数一定是超过5帧的。另一方面,通过第一阈值来限定语音信号的采样值,以很好地区分出何时在说话,何时在换气。可见,本实施例在所确定的相关参数具有有效性的情况下,可以进一步确保识别的准确率。

在本申请以上提供的实施例中,可单独实现,也可相互组合实现。

可选地,结合上述各个实施例,包括对语音帧序列、间隙帧序列、语音段、静音段和目标输入的检测,提供了本申请的一种实施方式为:

第一步、开始count=0,检测到“今”的语音帧序列,count=1,当前语音帧序列后是间隙帧,继续处理。

第二步、检测到“天天”的语音帧序列,count=2,因为当前语音帧序列后是间隙帧序列,从而将“天天”的语音帧序列后的5帧作为截断点(即截断位置),所以将“今”“天天”两个连续语音帧序列和中间的间隙帧序列输入模型进行语音识别,得到结果“今天天”,上屏结果“今天天”,count重置为0。

第三步、检测到“气”的语音帧序列,count=1,当前语音帧序列后是间隙帧,继续处理。

第四步、检测到“怎”的语音帧序列,count=2,因为当前语音帧序列后是间隙帧序列,从而将“气怎”的语音帧序列后的5帧作为截断点,所以将“气”“怎”两个连续语音帧序列和中间的间隙帧序列输入模型进行语音识别,得到结果“气怎”,上屏结果“今天天气怎”,count重置为0。

第五步、检测到“么”的语音帧序列,count=1,当前语音帧序列后是间隙帧,继续处理。

第六步、检测到“样”的语音帧序列,count=2,因为当前语音帧序列后是静音段,从而将“样”的语音帧序列后的5帧作为截断点,所以将“今”“天天”“怎”“么”“样”语音段特征输入模型进行语音识别,得到结果“今天天气怎么样”,上屏结果“今天天气怎么样”,count重置为0。

第七步、检测到“我”的语音帧序列,count=1,当前语音帧序列后是间隙帧,继续处理。

第八步、检测到“去”的语音帧序列,因为当前语音帧序列后是间隙帧序列,从而将“去”的语音帧序列后的5帧作为截断点,所以将“我”“去”两个连续语音帧序列和中间的间隙帧序列输入模型进行语音识别,得到结果“我去”,上屏结果“今天天气怎么样,我去”,count重置为0。

第九步、检测到“公”的语音帧序列,count=1,因为当前语音帧序列后是间隙帧,继续处理。

第十步、检测到“园”的语音帧序列,因为当前语音帧序列后用户释放了语音识别按钮,从而将“我”“去”“公”“园”的语音段特征输入模型进行语音识别,得到结果“我去公园”,上屏结果“今天天气怎么样,我去公园”。

综上,本申请通过聚类算法获取阈值的方式来区分语音帧序列和间隙帧序列,选取固定长度(如两个)的语音帧序列来实现流式语音识别,同时通过音频文字间的间隙帧来进行截断,使得含有某文字的音频不被划分到两次音频识别中,提升流式上屏准确率和用户体验。此外,通过对音频中的每一个语音段中的音频特征重新语音识别,并更新之前的上屏结果,从而提升语音识别准确率。

本申请实施例提供的语音识别方法,执行主体可以为语音识别装置。本申请实施例中以语音识别装置执行语音识别方法为例,说明本申请实施例提供的语音识别装置。

图6示出了本申请另一个实施例的语音识别装置的框图,该装置包括:

分频模块10,用于对目标音频进行分频处理,得到目标帧;

获取模块20,用于获取目标帧的采样点的最大值;

第一确定模块30,用于在连续a1个目标帧的采样点的最大值均小于第一阈值的情况下,将连续a1个目标帧确定为一个间隙帧子序列,连续的N1个间隙帧子序列为一个间隙帧序列,a1、N1均为正整数;

第二确定模块40,用于在连续a2个目标帧中,至少有一个目标帧的采样点的最大值大于或者等于第一阈值的情况下,将连续a2个目标帧确定为一个语音帧子序列,a2、N2均为正整数,连续的N2个语音帧子序列为一个语音帧序列;

第三确定模块50,用于根据目标音频的静音段、目标音频的间隙帧序列和目标音频的语音帧序列,确定截断位置;

识别模块60,用于识别与截断位置相关联的目标帧。

这样,在本申请的实施例中,在接收到目标音频的情况下,实时地对接收到音频数据进行分帧处理,以得到连续的目标帧。进一步地,将连续的多个目标帧作为一个判断单位,以判断多个目标帧的采样点的最大值是否均小于第一阈值,若满足判断条件,则将多个(a1个)目标帧作为一个间隙帧子序列;可以基于上述判断方法,将连续出现的N1个间隙帧子序列作为一个间隙帧序列,用于表示用户说话时的换气动作。反之,将连续的多个目标帧作为一个判断单位,以判断多个目标帧的采样点的最大值是否有大于或者等于第一阈值的,若满足判断条件,则将多个(a2个)目标帧作为一个语音帧子序列;可以基于上述判断方法,将连续出现的N2个语音帧子序列作为一个语音帧序列,用于表示用户所说的语音信号。从而,在进行实时音频识别时,在已知间隙帧序列、语音帧序列和静音段的基础上确定截断位置,并对截断位置之前的目标帧进行识别,可以使得截断位置避开语音帧序列的区间,从而确保不会将一个字的发音被拆分在两次识别中。可见,基于本申请的实施例,在流式识别过程中,可以提高语音识别的准确率。

可选地,第三确定模块50,包括:

第一确定单元,用于在检测到的语音帧序列的个数满足第二阈值的情况下,在最后一个语音帧序列相邻的下一个间隙帧序列所在区间确定截断位置;

其中,与截断位置相关联的目标帧包括:检测到连续的语音帧序列中的目标帧,以及,检测到连续的语音帧序列之间间隔的间隙帧序列中的目标帧。

可选地,第三确定模块50,包括:

第二确定单元,用于在依次检测到第一语音帧序列、第一静音段的情况下,在第一静音段所在区间确定截断位置;

其中,与截断位置相关联的目标帧包括:第一语音段中的目标帧,第一语音段包括第一语音帧序列。

可选地,第三确定模块50,包括:

第三确定单元,用于在第二语音帧序列的下一时刻检测到目标输入的情况下,在第二语音帧序列的下一时刻对应区间确定截断位置,目标输入用于停止接收目标音频;

其中,与截断位置相关联的目标帧包括:第二语音段中的目标帧,第二语音段包括第二语音帧序列。

本申请实施例中的语音识别装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。

本申请实施例的语音识别装置可以为具有动作系统的装置。该动作系统可以为安卓(Android)动作系统,可以为ios动作系统,还可以为其他可能的动作系统,本申请实施例不作具体限定。

本申请实施例提供的语音识别装置能够实现上述方法实施例实现的各个过程,为避免重复,这里不再赘述。

可选地,如图7所示,本申请实施例还提供一种电子设备100,包括处理器101,存储器102,存储在存储器102上并可在所述处理器101上运行的程序或指令,该程序或指令被处理器101执行时实现上述任一语音识别方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,本申请实施例的电子设备包括上述所述的移动电子设备和非移动电子设备。

图8为实现本申请实施例的一种电子设备的硬件结构示意图。

该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。

本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

其中,处理器1010,用于对目标音频进行分频处理,得到目标帧;获取所述目标帧的采样点的最大值;在连续a1个目标帧的采样点的最大值均小于第一阈值的情况下,将所述连续a1个目标帧确定为一个间隙帧子序列,连续的N1个间隙帧子序列为一个间隙帧序列,a1、N1均为正整数;在连续a2个目标帧中,至少有一个目标帧的采样点的最大值大于或者等于所述第一阈值的情况下,将所述连续a2个目标帧确定为一个语音帧子序列,a2、N2均为正整数,连续的N2个语音帧子序列为一个语音帧序列;根据所述目标音频的静音段、所述目标音频的间隙帧序列和所述目标音频的语音帧序列,确定截断位置;识别与所述截断位置相关联的目标帧。

这样,在本申请的实施例中,在接收到目标音频的情况下,实时地对接收到音频数据进行分帧处理,以得到连续的目标帧。进一步地,将连续的多个目标帧作为一个判断单位,以判断多个目标帧的采样点的最大值是否均小于第一阈值,若满足判断条件,则将多个(a1个)目标帧作为一个间隙帧子序列;可以基于上述判断方法,将连续出现的N1个间隙帧子序列作为一个间隙帧序列,用于表示用户说话时的换气动作。反之,将连续的多个目标帧作为一个判断单位,以判断多个目标帧的采样点的最大值是否有大于或者等于第一阈值的,若满足判断条件,则将多个(a2个)目标帧作为一个语音帧子序列;可以基于上述判断方法,将连续出现的N2个语音帧子序列作为一个语音帧序列,用于表示用户所说的语音信号。从而,在进行实时音频识别时,在已知间隙帧序列、语音帧序列和静音段的基础上确定截断位置,并对截断位置之前的目标帧进行识别,可以使得截断位置避开语音帧序列的区间,从而确保不会将一个字的发音被拆分在两次识别中。可见,基于本申请的实施例,在流式识别过程中,可以提高语音识别的准确率。

可选地,处理器1010,还用于在检测到的语音帧序列的个数满足第二阈值的情况下,在最后一个语音帧序列相邻的下一个间隙帧序列所在区间确定截断位置;其中,与所述截断位置相关联的目标帧包括:所述检测到连续的语音帧序列中的目标帧,以及,所述检测到连续的语音帧序列之间间隔的间隙帧序列中的目标帧。

可选地,处理器1010,还用于在依次检测到第一语音帧序列、第一静音段的情况下,在所述第一静音段所在区间确定截断位置;其中,与所述截断位置相关联的目标帧包括:第一语音段中的目标帧,所述第一语音段包括所述第一语音帧序列。

可选地,处理器1010,还用于在第二语音帧序列的下一时刻检测到目标输入的情况下,在所述第二语音帧序列的下一时刻对应区间确定截断位置,所述目标输入用于停止接收所述目标音频;其中,与所述截断位置相关联的目标帧包括:所述第二语音段中的目标帧,所述第二语音段包括所述第二语音帧序列。

综上,本申请通过聚类算法获取阈值的方式来区分语音帧序列和间隙帧序列,选取固定长度(如两个)的语音帧序列来实现流式语音识别,同时通过音频文字间的间隙帧来进行截断,使得含有某文字的音频不被划分到两次音频识别中,提升流式上屏准确率和用户体验。此外,通过对音频中的每一个语音段中的音频特征重新语音识别,并更新之前的上屏结果,从而提升语音识别准确率。

应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频图像捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频图像的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10061。用户输入单元1007包括触控面板10071以及其他输入设备10072中的至少一种。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、动作杆,在此不再赘述。存储器1009可用于存储软件程序以及各种数据,包括但不限于应用程序和动作系统。处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理动作系统、用户页面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。

存储器1009可用于存储软件程序以及各种数据。存储器1009可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1009可以包括易失性存储器或非易失性存储器,或者,存储器1009可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器1009包括但不限于这些和任意其它适合类型的存储器。

处理器1010可包括一个或多个处理单元;可选的,处理器1010集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。

本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述语音识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。

本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述语音识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述语音识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

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

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

相关技术
  • 语音识别方法、语音识别装置、可读存储介质和电子设备
  • 语音识别方法、语音识别装置、可读存储介质和电子设备
技术分类

06120114719061