首页 > 乐器声学 专利正文
语音唤醒方法、装置、设备及介质与流程

时间:2022-02-24 阅读: 作者:专利查询

语音唤醒方法、装置、设备及介质与流程

1.本发明涉及语音识别技术领域,尤其涉及一种语音唤醒方法、装置、设备及介质。


背景技术:

2.随着科学技术的发展,越来越多的设备带有语音功能,如手机、音箱、可穿戴设备、智能家居、车载设备等,而这些设备都需要人和机器互动的一个入口,如何才能更好更准确地打开这个入口显得尤为重要,我们将打开此入口的方式称为语音唤醒(voice trigger)。语音唤醒在学术上被定义为在语流中实时检测出特定片段,语音唤醒的目的是将设备从休眠状态激活至运行状态。这一过程中用户不需要用手接触,直接可以用语音进行操作,同时利用语音唤醒的机制,设备无需实时处于工作状态,从而节省能耗。随着语音唤醒在生活应用场景的进一步丰富,单一唤醒词渐渐无法满足客户需求,多个唤醒词、自定义唤醒词设定需求随之增加。
3.目前语音唤醒主要采取以下三种方法:(1)传统的基于模板匹配的keyword spotting(kws,关键词检索)方法,该方法训练和测试的步骤简单,对数据量要求低,模型相对较小,准确率也相对较低,系统鲁棒性较差,(2)基于gmm(混合高斯模型)

hmm(隐马尔科夫模型)的keyword spotting方法,用gmm进行声学模型建模,用hmm拟合语音时序变化特点,(3)基于神经网络的keyword spotting方法,该方法针对单一唤醒词,模型相对方法(1)(2)较大,当唤醒词个数增加时,方法(1)(2)模型及运算量呈倍数增加,方法(3)模型及运算量增加有限,准确率不变,针对多唤醒词场景,方法(3)优势明显。
4.基于神经网络的传统实现方法,在确定指定唤醒词之后,需要收集相应唤醒词的数据集进行模型训练。针对多唤醒词的情况,则需分别收集各唤醒词的数据集,若多个唤醒词中包含公用词语,例如“打开音乐”、“暂停音乐”等唤醒指令均包含“音乐”,“打开音乐”、“打开视频”均包含“打开”等,语料收集时如果针对不同指令分别收集对应的语料,则收集难度较大。


技术实现要素:

5.为了解决现有技术中多个唤醒词包含公用词时,针对不同唤醒词分别收集对应的语料导致收集难度较大的问题,本发明提供一种语音唤醒方法、装置、设备及介质,以在一定程度上减小训练语料的收集难度。
6.本发明通过如下技术方案解决上述技术问题:
7.第一方面,本发明提供一种语音唤醒方法,包括:
8.配置多个组合唤醒词,各所述组合唤醒词分别包括至少两个唤醒分词;
9.检测是否有至少两个语音段的唤醒词识别结果与其中一个组合唤醒词中的各唤醒分词一一对应匹配,若有,则执行唤醒操作。
10.优选地,所述方法还包括:
11.配置至少一个非组合唤醒词;
12.当检测到当前语音段的唤醒词识别结果与其中一个所述非组合唤醒词匹配时,执行唤醒操作。
13.优选地,所述至少两个语音段中相邻语音段之间满足预定间隔要求。
14.优选地,所述语音段的唤醒词识别结果基于预先训练的唤醒词识别模型对所述语音段进行处理得到。
15.优选地,基于所述唤醒词识别模型对语音段进行处理的过程如下:
16.对所述语音段进行特征提取处理,得到所述语音段的语音特征;
17.通过所述唤醒词识别模型对所述语音特征进行处理,得到所述语音段中包含不同关键词的概率;
18.当所述语音段中概率最大的关键词的概率大于预定阈值时,则确定该关键词为所述语音段的唤醒词识别结果。
19.优选地,当检测到当前语音段的唤醒词识别结果与各所述组合唤醒词中的唤醒分词或者各非组合唤醒词均不匹配、且该语音段的帧数达到预设帧数阈值时,将该语音段的起点向后推移预设间隔帧数后作为下一语音段的起点。
20.优选地,所述预设间隔帧数不大于所述预设帧数阈值。
21.优选地,当所述其中一个组合唤醒词包括两个唤醒分词时,通过如下步骤检测是否有两个语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配:
22.检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配;
23.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第一个唤醒分词匹配时,则标记所述其中一个组合唤醒词中的第一个唤醒分词匹配成功,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
24.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的两个唤醒分词均不匹配时,令k=k+1,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤,其中k的初始值为零;
25.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第二个唤醒分词匹配时,判断所述其中一个组合唤醒词中的第一个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则判定有两个语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配。
26.优选地,当所述其中一个组合唤醒词包括三个或三个以上唤醒分词时,通过如下步骤检测是否有三个或三个以上语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配,包括:
27.检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配;
28.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第一个唤醒分词匹配时,则标记所述其中一个组合唤醒词中的第一个唤醒分词匹配成功,并
获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
29.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词均不匹配时,令k=k+1,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤,其中k的初始值为零;
30.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的某中间位置唤醒分词匹配时,判断所述中间位置唤醒分词的前一个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则标记所述其中一个组合唤醒词中的所述某中间位置唤醒分词已匹配成功,将k清零,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
31.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的最后一个唤醒分词匹配时,判断所述其中一个组合唤醒词中的倒数第二个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若是,则判定有三个或三个以上语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配。
32.第二方面,本发明提供一种语音唤醒装置,包括:
33.配置模块,用于配置多个组合唤醒词,各所述组合唤醒词分别包括至少两个唤醒分词;
34.组合唤醒词检测模块,用于检测是否有至少两个语音段的唤醒词识别结果与其中一个组合唤醒词中的各唤醒分词一一对应匹配,若有,则调用唤醒模块执行唤醒操作。
35.优选地,所述配置模块还用于配置至少一个非组合唤醒词;
36.所述装置还包括:非组合唤醒词检测模块,用于检测当前语音段的唤醒词识别结果是否与各所述非组合唤醒词匹配,若与其中一个所述组合唤醒词匹配,则调用所述唤醒模块执行唤醒操作。
37.优选地,所述至少两个语音段中相邻语音段之间满足预定间隔要求。
38.优选地,所述语音段的唤醒词识别结果基于预先训练的唤醒词识别模型对所述语音段进行处理得到。
39.优选地,所述装置还包括用于基于所述唤醒词识别模型对语音段进行处理的唤醒词识别模块,所述唤醒词识别模块包括:
40.特征提取单元,用于对所述语音段进行特征提取处理,得到所述语音段的语音特征;
41.模型处理单元,用于通过所述唤醒词识别模型对所述语音特征进行处理,得到所述语音段中包含不同关键词的概率;
42.识别结果确定单元,用于当所述语音段中概率最大的关键词的概率大于预定阈值时,则确定该关键词为所述语音段的唤醒词识别结果。
43.优选地,所述装置还包括:语音段起点更新模块,用于当检测到当前语音段的唤醒词识别结果与各所述组合唤醒词中的唤醒分词或者各非组合唤醒词均不匹配、且该语音段的帧数达到预设帧数阈值时,则将该语音段的起点向后推移预设间隔帧数后作为下一语音
段的起点。
44.优选地,当所述其中一个组合唤醒词包括两个唤醒分词时,所述组合唤醒词检测模块具体用于:
45.检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配;
46.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第一个唤醒分词匹配时,则标记所述其中一个组合唤醒词中的第一个唤醒分词匹配成功,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
47.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的两个唤醒分词均不匹配时,令k=k+1,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤,其中k的初始值为零;
48.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第二个唤醒分词匹配时,判断所述其中一个组合唤醒词中的第一个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则判定有两个语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配。
49.优选地,当所述其中一个组合唤醒词包括三个或三个以上唤醒分词时,所述组合唤醒词检测模块具体用于:
50.检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配;
51.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第一个唤醒分词匹配时,则标记所述其中一个组合唤醒词中的第一个唤醒分词匹配成功,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
52.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词均不匹配时,令k=k+1,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤,其中k的初始值为零;
53.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的某中间位置唤醒分词匹配时,判断所述中间位置唤醒分词的前一个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则标记所述其中一个组合唤醒词中的所述某中间位置唤醒分词已匹配成功,将k清零,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
54.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的最后一个唤醒分词匹配时,判断所述其中一个组合唤醒词中的倒数第二个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则判定有三个或三个以上语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配。
55.第三方面,本发明提供一种语音唤醒设备,包括前述任一项所述的语音唤醒装置。
56.第四方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
57.第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,其所述程序被处理器执行时实现上述任一项所述的方法的步骤。
58.通过采用上述技术方案,本发明具有如下有益效果:
59.本发明预先配置多个组合唤醒词,各所述组合唤醒词分别包括至少两个唤醒分词,而后检测是否有至少两个语音段的唤醒词识别结果与其中一个组合唤醒词中的各唤醒分词一一对应匹配,若有,则执行唤醒操作,由于各所述语音段的唤醒词识别结果可以分别基于预先训练的唤醒词识别模型对各所述语音段进行处理得到,从而当多个组合唤醒词中包含公用词时,可以针对多个组合唤醒词中的公用词和非公用词分别进行语料收集以对唤醒词识别模型进行训练,相对于针对不同组合唤醒词分别收集对应语料的方案,一定程度上减小了语料收集难度,并且在不增加计算量和模型大小的基础上,同时支持预设唤醒词唤醒、自定义唤醒词唤醒和多唤醒词唤醒。
附图说明
60.图1为本发明实施例1的语音唤醒方法的流程示意图;
61.图2为本发明实施例2的语音唤醒方法的软件实现过程示意图;
62.图3为本发明实施例3的语音唤醒装置的结构框图;
63.图4为本发明实施例5的电子设备的硬件架构图。
具体实施方式
64.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
65.在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任意或所有可能组合。
66.实施例1
67.本实施例提供一种语音唤醒方法,如图1所示,该方法具体包括以下步骤:
68.s101,配置多个组合唤醒词,各所述组合唤醒词分别包括至少两个唤醒分词。
69.在本实施例中,多个组合唤醒词之间具有公用唤醒词。例如,多个组合唤醒词分别为:打开+音乐、暂停+音乐等。应该理解,组合唤醒词除了由两个唤醒分词组成以外,根据需要也可以由三个、四个或更多个唤醒分词组成,本实施例对此不做任何具体限定。
70.s103,检测是否有至少两个语音段的唤醒词识别结果与其中一个组合唤醒词中的各唤醒分词一一对应匹配,若有,则执行步骤s105,否则,获取下一语音段。其中,所述至少
两个语音段中相邻语音段之间满足预定间隔要求。
71.在本实施例中,各所述语音段的唤醒词识别结果分别基于预先训练的唤醒词识别模型对各所述语音段进行处理得到。
72.在本实施例中,一一对应匹配是指所述至少两个语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词的内容和顺序均一一对应匹配。
73.例如,假设第一个语音段的唤醒词识别结果为“打开”,第二个语音段的唤醒词识别结果为“音乐”,且预设的组合唤醒词包括“打开音乐”,则认为第一、第二个语音段的唤醒词识别结果与组合唤醒词“打开音乐”中的各唤醒分词一一对应匹配,表示已检测到唤醒指令,可执行唤醒操作。
74.s105,执行唤醒操作,以将语音唤醒终端唤醒。
75.通过采用上述步骤,当多个组合唤醒词中包含公用词时,本实施例可以针对多个组合唤醒词中的公用词和非公用词分别进行语料收集以对唤醒词识别模型进行训练,相对于针对不同唤醒词分别收集对应语料的方案,一定程度上减小了语料收集难度,并且在不增加计算量和模型大小的基础上,同时支持预设唤醒词唤醒、自定义唤醒词唤醒和多唤醒词唤醒。
76.优选地,本实施例提供的唤醒识别方法还包括以下步骤:
77.s102,配置至少一个非组合唤醒词。
78.在本实施例中,非组合唤醒词是指一个单独唤醒词。例如“开机”、“关机”等。
79.s104,当检测到当前语音段基于所述唤醒词识别模型处理得到的唤醒词识别结果与其中一个所述非组合唤醒词匹配时,执行步骤s105。
80.例如,当检测到当前语音段基于所述唤醒词识别模型处理得到的唤醒词识别结果为“开机”,且预先配置有非组合唤醒词“开机”时,则认为当前语音段的唤醒词识别结果与其中一个所述非组合唤醒词匹配,表示已检测到唤醒指令,可执行唤醒操作。
81.通过上述步骤s21和s22,使得本实施例的方法不仅支持组合唤醒词唤醒,还支持非组合唤醒词唤醒。
82.优选地,本实施例提供的唤醒识别方法还包括以下步骤:
83.如果当前语音段的唤醒词识别结果与各所述组合唤醒词中的唤醒分词或者各非组合唤醒词均不匹配、且该语音段的帧数达到预设帧数阈值,则将该语音段的起点向后推移预设间隔帧数后作为下一语音段的起点,以使下一语音段的起点与当前语音段的起点间隔预定时长。其中,所述预设间隔帧数不大于所述预设帧数阈值。通过本步骤能够减少无效语音输入。
84.实施例2
85.本实施例是对实施例1的进一步限定。
86.在本实施例中,基于所述唤醒词识别模型对语音段进行处理以得到唤醒词识别结果的过程如下:
87.首先,对所述语音段进行特征提取处理,得到所述语音段的语音特征;
88.而后,通过所述唤醒词识别模型对所述语音特征进行处理,得到所述语音段中包含不同关键词的概率;
89.最后,当所述语音段中概率最大的关键词的概率大于预定阈值时,则确定该关键
词为所述语音段的唤醒词识别结果。
90.在本实施例中,预先采集与各组合唤醒词中的公用词和非公用词、以及各非组合唤醒词分别对应的训练语料对该唤醒词识别模型进行训练,使得唤醒词识别模型可以识别语音段属于各组合唤醒词中的公用词和非公用词、以及各非组合唤醒词的概率。优选地,唤醒词识别模型为神经网络。
91.通过上述步骤能够准确各语音段的唤醒词识别结果。
92.在本实施例中,当所述其中一个组合唤醒词包括两个唤醒分词时,步骤s103通过如下步骤检测是否有至少两个语音段的唤醒词识别结果与其中一个组合唤醒词中的各唤醒分词一一对应匹配:
93.s10311,检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配;
94.s10312,当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第一个唤醒分词匹配时,则标记所述其中一个组合唤醒词中的第一个唤醒分词匹配成功,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
95.s10313,当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的两个唤醒分词均不匹配时,令k=k+1,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤,其中k的初始值为零;
96.s10314,当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第二个唤醒分词匹配时,判断所述其中一个组合唤醒词中的第一个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则判定有两个语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配。
97.在本实施例中,当所述其中一个组合唤醒词包括三个或三个以上唤醒分词时,步骤s103包括:
98.s10321,检测所述当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配;
99.s10322,当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第一个唤醒分词匹配时,则标记所述其中一个组合唤醒词中的第一个唤醒分词匹配成功,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
100.s10323,当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词均不匹配时,令k=k+1,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤,其中k的初始值为零;
101.s10324,当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的某中间位置唤醒分词匹配时,判断所述中间位置唤醒分词的前一个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则标记所述其中一个组合唤醒词中的所述某中间位置唤醒分词已匹配成功,将k清零,并获取下一语音段作为新的当前语音段,
再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
102.s10325,当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的最后一个唤醒分词匹配时,判断所述其中一个组合唤醒词中的倒数第二个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则判定有三个或三个以上语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配。
103.通过上述步骤,可以实现输入语音的组合唤醒词检测。
104.下面如图2所示,以检测包括词1和词2的单个组合唤醒词1为例,介绍本实施例语音唤醒方法的具体软件实现过程如下:
105.s201,确认语音段起点start_frame,当第一次执行时将start_frame置零。
106.s202,进行初始化,主要包括:帧数计数j置零、以及神经网络(即唤醒词识别模型)相关的参数初始,如网络所需语音段的帧数阈值width等,以及语音特征初始化,具体初始化方式和网络匹配,这里不做限定。
107.s203,将第j帧语音输入。
108.s204,获取第j帧语音的语音特征并进行语音特征更新
109.s205,采用预先训练的神经网络对更新后的特征进行处理,得到语音特征属于不同关键词的概率。
110.s206,进行置信度判断,即,判断概率最大的关键词的概率是否大于预定阈值,若是,则确定该关键词为所述语音段的唤醒词识别结果。
111.s207,进行组合唤醒词判断,即检测当前语音段的唤醒词识别结果是否为某组合唤醒词中的词,若是,执行步骤s208,若否,执行步骤s209。
112.s208,进一步判断当前语音段的唤醒词识别结果是否为组合唤醒词1中的词1或词2,若为词1,则执行步骤s218,若为词2,则执行步骤s220,若为其它,则执行步骤s212。
113.s209,将mode置零,其中,mode为组合唤醒词标志位,当mode=1时,表示当前语音段的唤醒词识别结果属于组合唤醒词,当mode=0时,表示当前语音段的唤醒词识别结果不属于组合唤醒词。
114.s210,当mode置零后,进一步判断当前语音段的唤醒词识别结果是否为非组合唤醒词,若是,执行步骤s211,若否,执行步骤s212。
115.s211,执行唤醒操作。
116.s212,判断j是否大于等于width,若是,执行步骤s214,若否,执行步骤s213。
117.s213,令j=j+1,并返回步骤s203,以在前一语音段中增加一帧语音得到新的语音段。应该理解,由于语音段的长度是预先确定的,因而在增加语音帧的同时,会将前一语音段中的第一帧语音去除。
118.s214,判断mode是否为1,若为1,则执行步骤s215,若不为1,则执行步骤s217。
119.s215,判断word1_1是否为1,若为1,则执行步骤s216,否则,执行步骤s217。其中,word1_1为1时表示组合唤醒词1中的词1已标记为匹配成功,word1_1为0时表示组合唤醒词1中的词1未标记为匹配成功。
120.s216,令k=k+1,k表示词1被标记成功之后,唤醒词识别结果为非唤醒词的语音长度。
121.s217,更新语音段起点,具体地,通过令start_frame=start_frame+j

a
×
width进行更新,其中a为可调系数,可根据算力和性能要求自行调整,a取值范围在0~1之间,通过本步骤将该语音段的起点向后推移预设间隔帧数后作为下一语音段的起点。
122.s218,若当前语音段的唤醒词识别结果为组合唤醒词1中的词1,将word1_1置1,表示组合唤醒词1中的第1个词已匹配成功,而后执行步骤s219。
123.s219,更新语音段起点,具体地,通过start_frame=start_frame+j,将所述当前语音段的终点作为下一语音段的起点。
124.s220,判断word1_1是否为1并且k是否小于n,若均是,则执行步骤s221,否则,则执行步骤s219。其中,n表示预设的间隔阈值。
125.s221,令k=0,word1_1=0。
126.s222,执行唤醒操作,而后重复执行步骤s219。
127.以上仅检测包括词1和词2的单个组合唤醒词1,对于预先配置的多个组合唤醒词(如词3+词4、词5+词6)的检测,通过并行进行上述软件流程实现。应该理解,图2所示的软件流程仅为示例而非限制,在不背离本发明的原理和实质的前提下,软件流程可以改变。
128.实施例3
129.本实施例提供一种语音唤醒装置,如图3所示,该装置包括配置模块11、组合唤醒词检测模块12、非组合唤醒词检测模块13、以及唤醒模块14。
130.下面分别对上述各个模块进行详细描述:
131.配置模块11用于配置多个组合唤醒词,各所述组合唤醒词分别包括至少两个唤醒分词;
132.组合唤醒词检测模块12用于检测是否有至少两个语音段的唤醒词识别结果与其中一个组合唤醒词中的各唤醒分词一一对应匹配,若有,则调用唤醒模14块执行唤醒操作,其中所述至少两个语音段中相邻语音段之间满足预定间隔要求;
133.其中,各所述语音段的唤醒词识别结果分别基于预先训练的唤醒词识别模型对各所述语音段进行处理得到。
134.此外,配置模块11还用于配置至少一个非组合唤醒词;
135.非组合唤醒词检测模块13用于检测当前语音段基于所述唤醒词识别模型处理得到的唤醒词识别结果是否与各所述非组合唤醒词匹配,若与其中一个所述组合唤醒词匹配,则调用所述唤醒模块14执行唤醒操作。
136.优选地,所述装置还包括用于基于所述唤醒词识别模型对语音段进行处理的唤醒词识别模块,所述唤醒词识别模块包括:
137.特征提取单元,用于对所述语音段进行特征提取处理,得到所述语音段的语音特征;
138.模型处理单元,用于通过所述唤醒词识别模型对所述语音特征进行处理,得到所述语音段中包含不同关键词的概率;
139.识别结果确定单元,用于当所述语音段中概率最大的关键词的概率大于预定阈值时,则确定该关键词为所述语音段的唤醒词识别结果。
140.优选地,所述装置还包括:语音段起点更新模块,用于当检测到当前语音段的唤醒词识别结果与各所述组合唤醒词中的唤醒分词或者各非组合唤醒词均不匹配、且该语音段
的帧数达到预设帧数阈值时,则将该语音段的起点向后推移预设间隔帧数后作为下一语音段的起点。
141.优选地,所述预设间隔帧数不大于所述预设帧数阈值。
142.优选地,所述组合唤醒词检测模块12具体用于:
143.优选地,当所述其中一个组合唤醒词包括两个唤醒分词时,所述组合唤醒词检测模块12具体用于:
144.检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配;
145.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第一个唤醒分词匹配时,则标记所述其中一个组合唤醒词中的第一个唤醒分词匹配成功,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
146.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的两个唤醒分词均不匹配时,令k=k+1,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤,其中k的初始值为零;
147.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第二个唤醒分词匹配时,判断所述其中一个组合唤醒词中的第一个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则判定有两个语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配。
148.优选地,当所述其中一个组合唤醒词包括三个或三个以上唤醒分词时,所述组合唤醒词检测模块12具体用于:
149.检测所述当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配;
150.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的第一个唤醒分词匹配时,则标记所述其中一个组合唤醒词中的第一个唤醒分词匹配成功,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
151.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词均不匹配时,令k=k+1,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤,其中k的初始值为零;
152.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的某中间位置唤醒分词匹配时,判断所述中间位置唤醒分词的前一个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则标记所述其中一个组合唤醒词中的所述某中间位置唤醒分词已匹配成功,将k清零,并获取下一语音段作为新的当前语音段,再返回所述检测当前语音段的唤醒词识别结果是否与所述其中一个组合唤醒词中的各唤醒分词匹配的步骤;
153.当检测到所述当前语音段的唤醒词识别结果与所述其中一个组合唤醒词中的最
后一个唤醒分词匹配时,判断所述其中一个组合唤醒词中的倒数第二个唤醒分词是否已标记为匹配成功、且k是否小于预定间隔阈值,若均是,则判定有三个或三个以上语音段的唤醒词识别结果与所述其中一个组合唤醒词中的各唤醒分词一一对应匹配。
154.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施
155.实施例4
156.本实施例提供一种语音唤醒设备,该设备包括语音采集装置以及如实施例3所述的语音唤醒装置。
157.实施例5
158.图4是本发明一示例实施例示出的一种电子设备的结构示意图,示出了适于用来实现本发明实施方式的示例性电子设备60的框图。图4显示的电子设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
159.如图4所示,电子设备60可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备60的组件可以包括但不限于:上述至少一个处理器61、上述至少一个存储器62、连接不同系统组件(包括存储器62和处理器61)的总线63。
160.总线63包括数据总线、地址总线和控制总线。
161.存储器62可以包括易失性存储器,例如随机存取存储器(ram)621和/或高速缓存存储器622,还可以进一步包括只读存储器(rom)623。
162.存储器62还可以包括具有一组(至少一个)程序模块624的程序工具625(或实用工具),这样的程序模块624包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
163.处理器61通过运行存储在存储器62中的计算机程序,从而执行各种功能应用以及数据处理,例如上述任一实施例所提供的方法。
164.电子设备60也可以与一个或多个外部设备64(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口65进行。并且,模型生成的电子设备60还可以通过网络适配器66与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器66通过总线63与模型生成的电子设备60的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的电子设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
165.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
166.实施例6
167.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被
处理器执行时实现上述任一实施例所提供的方法的步骤。
168.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
169.在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现上述任一实施例所提供的方法的步骤。
170.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
171.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。