首页 > 乐器声学 专利正文
语音识别方法、装置、终端及存储介质与流程

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

语音识别方法、装置、终端及存储介质与流程

1.本技术涉及语音唤醒技术领域,特别涉及一种语音识别方法、装置、终端及存储介质。


背景技术:

2.目前,终端具有语音识别功能,能够识别用户的语音,来执行该语音中的控制指令对应的操作,从而可以解放用户双手。例如,终端识别用户语音中播放音乐的指令,进而打开音乐播放器播放音乐。
3.相关技术中,终端识别用户语音之前,用户需要先通过目标唤醒词,唤醒终端,然后终端输出提示信息,提示用户输入语音控制命令,此时用户可以基于提示信息输入语音控制命令,然后终端识别该命令,执行该命令对应的操作。
4.但是,上述方法中,用户在说出目标唤醒词后,需要等待终端输出提示信息之后,才能说出语音控制命令,此时终端才能识别出该语音指令,从而导致语音识别的效率较低。


技术实现要素:

5.本技术实施例提供了一种语音识别方法、装置、终端及存储介质,新增了“命令+唤醒词”的语音识别模式,在获取到包含目标唤醒词的语音信号的情况下,通过目标唤醒词被发出的第一起始时间点,获取第一起始时间点之前的目标语音信号,对该目标语音信号进行语音识别,从而用户在进行语音控制时,直接连续说出命令和唤醒词,中间无需等待,能够及时识别该语音中的命令,从而提高了语音识别的效率。所述技术方案如下:
6.根据本技术实施例的一个方面,提供了一种语音识别方法,所述方法包括:
7.获取语音信号,所述语音信号包含目标唤醒词;
8.确定所述目标唤醒词被发出的第一起始时间点;
9.从所述语音信号中获取所述第一起始时间点之前的语音信号得到目标语音信号;
10.对所述目标语音信号进行语音识别。
11.在一种可能的实现方式中,所述获取语音信号包括:
12.拾取语音信号;
13.对拾取的所述语音信号进行缓存;
14.识别出所述语音信号包括所述目标唤醒词,所述目标唤醒词用于唤醒终端;
15.从所述缓存中获取本次唤醒事件对应的所述语音信号。
16.在另一种可能的实现方式中,在获取所述语音信号之前,还包括:
17.确定语音信号的缓存频率;
18.所述对拾取的所述语音信号进行缓存,包括:基于所述缓存频率,对拾取的语音信号进行缓存。
19.在另一种可能的实现方式中,所述确定语音信号的缓存频率,包括:
20.基于当前时间,从多个时间范围中确定所述当前时间所属的时间范围;
21.基于所述时间范围,从时间范围和缓存频率的对应关系中确定所述时间范围对应的缓存频率。
22.在另一种可能的实现方式中,所述方法还包括:
23.获取至少一个第二起始时间点,所述第二起始时间点为目标唤醒词历史被发出的起始时间点;
24.基于所述至少一个第二起始时间点,确定每个所述时间范围对应的唤醒次数;
25.基于多个所述时间范围对应的唤醒次数,更新所述时间范围和缓存频率的对应关系。
26.在另一种可能的实现方式中,所述对所述目标语音信号进行语音识别,包括:
27.将所述目标语音信号输入本地的语音识别模型中,对所述目标语音信号进行语音识别。
28.在另一种可能的实现方式中,所述本地包括多个语义类型对应的多个语音识别模型,所述方法还包括:
29.确定所述目标语音信号的语义类型;
30.从所述多个语音识别模型中确定所述语义类型对应的所述语音识别模型。
31.根据本技术实施例的一个方面,提供了一种语音识别装置,所述装置包括:
32.第一获取模块,用于获取语音信号,所述语音信号包含目标唤醒词;
33.第一确定模块,用于确定所述目标唤醒词被发出的第一起始时间点;
34.第二获取模块,用于从所述语音信号中获取所述第一起始时间点之前的语音信号得到目标语音信号;
35.识别模块,用于对所述目标语音信号进行语音识别。
36.在一种可能的实现方式中,所述第一获取模块,包括:
37.拾取单元,用于拾取语音信号;
38.缓存单元,用于对拾取的所述语音信号进行缓存;
39.识别单元,用于识别出所述语音信号包括所述目标唤醒词,所述目标唤醒词用于唤醒终端;
40.获取单元,用于从所述缓存中获取本次唤醒事件对应的所述语音信号。
41.在另一种可能的实现方式中,所述缓存单元,包括:
42.确定子单元,用于确定语音信号的缓存频率;
43.缓存子单元,用于基于所述缓存频率,对拾取的语音信号进行缓存。
44.在另一种可能的实现方式中,所述确定子单元,用于基于当前时间,从多个时间范围中确定所述当前时间所属的时间范围;基于所述时间范围,从时间范围和缓存频率的对应关系中确定所述时间范围对应的缓存频率。
45.在另一种可能的实现方式中,所述装置还包括:
46.第三获取模块,用于获取至少一个第二起始时间点,所述第二起始时间点为目标唤醒词历史被发出的起始时间点;
47.第二确定模块,用于基于所述至少一个第二起始时间点,确定每个所述时间范围对应的唤醒次数;
48.更新模块,用于基于多个所述时间范围对应的唤醒次数,更新所述时间范围和缓
存频率的对应关系。
49.在另一种可能的实现方式中,所述识别模块,用于将所述目标语音信号输入本地的语音识别模型中,对所述目标语音信号进行语音识别。
50.在另一种可能的实现方式中,所述本地包括多个语义类型对应的多个语音识别模型,所述装置还包括:
51.第三确定模块,用于确定所述目标语音信号的语义类型;
52.第四确定模块,用于从所述多个语音识别模型中确定所述语义类型对应的所述语音识别模型。
53.根据本技术实施例的一个方面,提供了一种终端,该终端包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现如上述任一种可能实现方式的语音识别方法所执行的操作。
54.根据本技术实施例的一个方面,提供了一种存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现如上述任一种可能实现方式的语音识别方法所执行的操作。
55.根据本技术实施例的一个方面,提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品包括:计算机程序代码,所述计算机程序代码被计算机执行时,使得所述计算机实现如上述任一种可能实现方式的语音识别方法所执行的操作。
56.本技术实施例提供的技术方案带来的有益效果至少包括:
57.本技术实施例提供的语音识别方法、装置、设备、及存储介质,新增了“命令+唤醒词”的语音识别模式,在获取到包含目标唤醒词的语音信号的情况下,通过目标唤醒词被发出的第一起始时间点,获取第一起始时间点之前的目标语音信号,对该目标语音信号进行语音识别,从而用户在进行语音控制时,直接连续说出命令和唤醒词,中间无需等待,能够及时识别该语音中的命令,从而提高了语音识别的效率。
附图说明
58.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
59.图1是本技术一个示例性实施例提供的一种实施环境示意图;
60.图2是本技术一个示例性实施例提供的一种语音识别方法的流程图;
61.图3是本技术一个示例性实施例提供的一种语音识别方法的流程图;
62.图4是本技术一个示例性实施例提供的一种语音信号结构示意图;
63.图5是本技术一个示例性实施例提供的一种本地语音识别模型示意图;
64.图6是本技术一个示例性实施例提供的一种语音识别方法的流程图;
65.图7是本技术一个示例性实施例提供的一种语音识别装置结构示意图;
66.图8是本技术一个示例性实施例提供的一种终端的结构示意图。
具体实施方式
67.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
68.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离申请的范围的情况下,可以将第一起始时间点与第二起始时间点的名称互换。
69.本技术所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或者两个以上,多个包括两个或者两个以上,而每个是指对应的多个中的每一个,任一是指多个中的任意一个,举例来说,多个时间范围包括3个时间范围,而每个是指这3个时间范围中的每一个时间范围,任一是指这3个时间范围中的任意一个,可以是第一个,也可以是第二个,还可以是第三个。
70.图1是本技术实施例提供的一种实施环境的示意图,如图1所示,该实施环境包括终端101和服务器102。终端101与服务器102之间通过无线或者有线网络连接。
71.可选地,终端101为智能手机、平板电脑、智能穿戴设备或者智能家居设备等任一种类型的终端,智能家居设备为智能音箱、智能电视、智能冰箱、智能空调、智能机器人、智能灯具、智能锁等。服务器102为一台服务器,或者由若干服务器组成的服务器集群,或者是一个云计算服务中心。
72.终端101上安装由服务器102提供服务的应用,终端101能够通过该应用实现例如数据传输、消息交互等功能。可选地,该应用为终端101操作系统中的应用,或者为第三方提供的应用。例如,该应用为语音助手,该语音助手应用具有识别功能,当然,该语音助手应用还能够具有其他功能,例如,执行语音命令的功能、缓存功能等。
73.在用户通过语音控制终端101执行目标操作的场景中,用户说出语音信号,终端101将拾取到的语音信号发送给服务器102。服务器102接收语音信号,识别语音信号中的语音控制指令,将语音控制指令传输给终端101。终端101执行语音控制指令对应的目标操作。
74.本技术实施例提供的语音识别方法能够应用于任一语音控制终端执行目标操作场景。
75.第一种场景,在终端为手机的情况下,应用于通过语音信号控制手机的场景。
76.例如,在用户开车的过程中,用户不方便操作手机,但是用户想要使用手机进行导航的情况下,用户可以通过语音信号控制手机,手机识别该语音信号,然后打开导航软件进行导航。
77.第二种场景,在终端为智能家居设备的情况下,应用于通过语音信号控制智能家居设备的场景。
78.例如,智能家居设备为智能电视,用户想要更换智能电视的频道或者调整智能电视的音量,用户可以通过语音信号控制智能电视,智能电视识别该语音信号,进而执行相应的操作。
79.需要说明的是,本技术实施例仅是以手机或者智能家居设备识别语音信号为例进
行说明,并不对本技术的语音识别方法的场景进行限定。
80.图2是本技术实施例提供的一种语音识别方法的流程图。本技术实施例由终端执行,该方法包括如下步骤:
81.步骤201:终端获取语音信号,语音信号包含目标唤醒词。
82.步骤202:终端确定目标唤醒词被发出的第一起始时间点。
83.步骤203:终端从语音信号中获取第一起始时间点之前的语音信号得到目标语音信号。
84.步骤204:终端对目标语音信号进行语音识别。
85.在本技术实施例中,新增了“命令+唤醒词”的语音控制模式,在获取到包含目标唤醒词的语音信号的情况下,通过目标唤醒词被发出的第一起始时间点,从该语音信号中获取第一起始时间点之前的目标语音信号,对该目标语音信号进行语音识别,从而用户在进行语音控制时,直接连续说出命令和唤醒词,中间无需等待,终端能够及时识别该语音中的命令,从而提高了语音识别的效率。
86.图3是本技术实施例提供的一种语音识别方法的流程图。本技术实施例由终端执行,该方法包括如下步骤:
87.步骤301:终端拾取语音信号。
88.本技术实施例提供了一种新的语音识别模式,该模式为“命令+唤醒词”,例如,如图4所示,语音信号中包含命令词和唤醒词,可选的,语音信号中命令词在唤醒词之前,也即用户在通过语音信号控制终端执行某些操作时,先说出命令词,再说出唤醒词,例如打开风扇,小a,其中“打开风扇”为命令词,“小a”为唤醒词,终端可以对语音信号缓存,例如,终端实时缓存语音信号,这样终端可以缓存到唤醒词之前的这一段语音信号,以便于后续基于这一段语音信号执行操作。因此,终端拾取到语音信号后,执行步骤302,将拾取到的语音信号进行缓存。其中,终端事先处于休眠状态,在休眠状态下实时拾取语音信号。
89.在一种可能的实现方式中,在用户在操作终端的过程中,用户可能会通过手动触发终端执行某些操作,而不需要通过语音控制终端执行操作;因此,终端拾取到语音信号之后,确定终端的交互状态信息,在交互状态信息用于表示终端没有被操作的情况下,执行步骤302;在交互状态信息用于表示终端在被操作的情况下,丢弃拾取到的语音信号,也即不需要执行步骤302。
90.其中,交互状态信息是用于表示终端是否被操作的信息,例如,交互状态信息为终端的操作信息,操作信息为屏幕操作信息;例如,交互状态信息为屏幕的触控记录信息等。例如,用户手持终端,正在滑动终端的屏幕来触发终端依次播放短视频,则该交互状态信息用于表示终端在被操作,此时并不存储拾取到的语音信号,也即不执行步骤302。再如,终端没有被握持,且在离当前时间最近的预设时长内,终端没有被操作,也即用户没有触控终端,则该交互状态信息用于表示终端没有被操作,这种情况下,用户可能会通过语音信号控制终端执行某些操作,因此,终端执行步骤302,将拾取到的语音信号缓存到缓存空间中。
91.在本技术实施例中,终端在没有被操控的情况下,将拾取到的语音信号缓存在缓存空间中,若用户在手动操控终端,无需对终端进行语音控制,此时终端拾取到的语音信号是无意义的,不用进行缓存。该方法避免了缓存无意义信息占据缓存空间,节省了缓存空间。
92.在另一种可能的实现方式中,在用户开车等场景中,用户不方便手动控制终端执行某些操作,这时候使用语音控制终端的概率较大,因此,终端确定运动状态信息,在该运动状态信息用于表示终端处于目标模式的情况下,执行步骤302;在该运动状态信息用于表示终端没有处于目标模式的情况下,丢弃拾取到的语音信号,也即不需要执行步骤302。其中,目标模式为存在语音识别需求的模式;例如,目标模式为开车模式,口袋模式等。
93.其中,运动状态信息用于表示终端运动状态的信息;例如,运动状态信息用于表示终端处于运动状态还是静止状态,在运动状态信息用于表示终端处于运动状态的情况下,运动状态信息还用于表示终端的运动速度。
94.例如,用户开车时,不方便手动操控终端,此时用户可能会通过语音信号控制终端,此时终端基于该运动状态信息,确定终端处于开车模式,则终端执行步骤302,将拾取到的语音信号缓存到缓存空间中。
95.在本技术实施例中,终端基于当前的运动状态信息,确定处于语音识别需求的模式,然后对拾取到的语音信号进行缓存。在用户不便手动操控终端的情况下,终端将拾取到语音信号及时缓存在缓存空间中,以供后续识别该语音信号,避免信号丢失。
96.步骤302:终端对拾取的语音信号进行缓存。
97.缓存空间为终端中用于存储语音信号的空间,例如,缓存空间为内存空间。
98.在一种实现方式中,终端将拾取到的所有语音信号均缓存到缓存空间中。
99.在另一种可能的实现方式中,终端用于拾取目标用户的语音信号,例如,终端从拾取到的语音信号中筛选出用户的语音信号,将用户的语音信号缓存到缓存空间中。其中,用户为任一能够控制终端执行操作的对象;例如,目标用户为用户a和用户b,也即拾取到用户a和用户b的语音信号,终端缓存用户a和用户b的语音信号;或者,目标用户为终端的持有者,也即终端拾取到用户a和用户b的语音信号,仅缓存用户a(终端的持有者)的语音信号。
100.在本技术实施例中,由于周围环境中的语音信号较多(例如,包括用户的语音信号和环境噪音),而只有用户的语音信号才用于唤醒终端,因此,终端从拾取到的语音信号中筛选出用户的语音信号,仅缓存用户的语音信号,不仅能够节省缓存空间,还能够提高后续识别的准确性。
101.在一种可能的实现方式中,终端每当拾取到语音信号,就将拾取到的语音信号缓存到缓存空间中,从而确保所有的语音信号都能被缓存,提高了后续识别的准确性。
102.在另一种可能的实现方式中,终端以数据替换的方式,将拾取到的语音信号缓存到缓存空间中,从而使用较小的缓存空间来缓存语音信号,节省了缓存空间。在另一种可能的实现方式中,终端直接以数据存储的方式,将拾取到的语音信号缓存到缓存空间中,从而提高了缓存效率。
103.在终端直接以数据存储的方式,将拾取到的语音信号缓存到缓存空间中的情况下,终端定期对缓存空间进行清理,以确保每次缓存语音信号时,有足够的缓存空间来存储拾取到的语音信号,避免了由于缓存空间不足导致的缓存失败情况的发生,提高了缓存的成功率。其中,终端可以在缓存空间的剩余空间小于预设值时,对该缓存空间进行清理,从而能够及时对缓存空间进行清理。或者,终端可以在单位时间的预设时间段内对缓存空间进行清理;单位时间为一天或者一周等。在单位时间为一天的情况下,预设时间段可以为凌晨2

4点;在单位时间为一周的情况下,预设时间段可以为周一或者周末等。
104.在另一种可能的实现方式中,终端拾取到语音信号时,将拾取到的语音信号暂存到缓冲区中,然后从缓冲区中确定待缓存的语音信号,将待缓存的语音信号转存到缓存空间中。由于用户通过包含目标唤醒词的语音信号来唤醒终端,因此,终端可以将目标唤醒词之前的语音信号确定为待缓存的语音信号,也即将目标唤醒词之前的语音信号转存到缓存空间中。其中,目标唤醒词是能够将设备从休眠状态激活至运行状态的特定词语或词组。
105.例如,终端实时拾取语音信号,例如,拾取到的语音信号为“停止播放音乐,小a”,在检测到语音信号中存在目标唤醒词(小a)的情况下,将“停止播放音乐”的语音信号缓存到缓存空间中。
106.在本技术实施例中,终端在检测到包含目标唤醒词的语音信号情况下,将拾取到的语音信号之前的语音信号缓存在缓存空间,避免缓存无意义的语音信号,节省了缓存空间,提高了缓存空间的利用率,节约了成本。
107.需要说明的一点是,终端可以直接将拾取到的语音信号缓存到缓存空间,也可以将拾取到的语音信号关联该语音信号的拾取时间点,将关联后的语音信号存储到缓存空间中。其中,拾取时间点为接收到该语音信号的时间点。
108.步骤303:终端识别出语音信号包括目标唤醒词,目标唤醒词用于唤醒终端。
109.在一种可能的实现方式中,当用户想要通过语音信号控制终端时,用户对着终端说出语音信号,终端接收语音信号,然后对语音信号进行识别,在识别到语音信号中包含目标唤醒词的情况下,终端从休眠状态中被唤醒。例如,用户对终端说出“播放音乐,小a”,终端接收到该语音信号,对语音信号中是否存在目标唤醒词进行检测,在检测到该语音信号中存在目标唤醒词“小a”时,手机从休眠状态中被唤醒,手机屏幕变亮。在未识别出语音信号中目标唤醒词的情况下,终端继续处于休眠状态,且执行步骤301,继续拾取语音信号。
110.步骤304:终端从缓存中获取本次唤醒事件对应的语音信号。
111.在一种可能的实现方式中,本次唤醒事件对应的语音信号为包含目标唤醒词以及目标唤醒词之前的语音信号,即包含目标唤醒词和命令词的语音信号。例如,终端缓存语音信号为“今天天气怎么样,小a,想要出去吃饭”,在终端被唤醒的情况下,从该缓存的语音信号中获取“今天天气怎么样,小a”的语音信号,该语音信号即为本次唤醒事件对应的语音信号。
112.步骤305:终端确定目标唤醒词被发出的第一起始时间点。
113.其中,第一起始时间点为某个时刻,是用户输出目标唤醒词的初始时刻。例如,用户输出目标唤醒词“小a”,第一起始时间点是用户输出目标唤醒词第一个“小”字的时刻。
114.终端在确定获取的语音信号中包含目标唤醒词的情况下,检测目标唤醒词在语音信号中的位置,基于该位置信息获取目标唤醒词的第一起始时间点。例如,用户在8点10分10秒时刻开始说“播放音乐,小a”,在8点10分15秒时刻说完,根据目标唤醒词“小a”在整个语音信号中的位置,可以确定用户在8点10分13秒时刻开始说目标唤醒词“小a”中的“小”字,由此能够确定第一起始时间点为8点10分13秒。
115.步骤306:终端从语音信号中获取第一起始时间点之前的语音信号得到目标语音信号。
116.其中,目标语音信号就是语音信号中目标唤醒词之前的语音信号。例如,终端确定第一起始时间点为8点10分13秒,10秒至13秒之间的语音信号是“播放音乐”,13秒至15秒之
间的语音信号是“小a”,获取10秒至13秒之间的语音信号“播放音乐”,将其作为目标语音信号。
117.在一种可能的实现方式中,缓存空间中已缓存的语音信号是与拾取时间点关联的,因此,在步骤305中,终端基于第一起始时间点和缓存空间中已缓存的应用信号关联的时间点,从缓存空间中获取拾取时间点位于第一起始时间点之前的目标语音信号。其中,目标语音信号的长度可以根据需要进行设置并更改,在本技术实施例中,对目标语音信号的长度不作具体限定;例如,目标语音信号为5秒或者10秒等。
118.步骤307:终端对目标语音信号进行语音识别。
119.终端对目标语音信号进行语音识别,从目标语音信号中识别出语音控制指令。
120.在一种可能的实现方式中,终端通过服务器来识别目标语音信号中的语音控制指令;则步骤307可以为:终端向服务器发送目标语音信号,服务器接收目标语音信号,从目标语音信号中识别出语音控制指令,向终端发送该语音控制指令,终端接收该语音控制指令。
121.其中,服务器中存储有语音识别模型,相应的,服务器从目标语音信号中识别出语音控制指令的步骤可以为:服务器将目标语音信号输入服务器的语音识别模型中,对目标语音信号进行语音识别,输出该语音控制指令。
122.在本技术实施例中,终端直接将目标语音信号发送至服务器,由服务器识别出目标语音信号中的语音控制指令,从而本地不需要增加语音识别模型,能够节省内存,从而提高运行速度。
123.在另一种可能的实现方式中,终端的本地存储有语音识别模型,直接通过语音识别模型来识别目标语音信号中的语音控制指令;则步骤307可以为:终端将目标语音信号输入本地的语音识别模型中,对目标语音信号进行语音识别,输出该语音控制指令。
124.在本技术实施例中,通过在终端本地增加语音识别模型的方法,终端缓存的语音信号在终端本地就可以识别,无需发送给服务器去识别,提高了语音控制的效率。其中,本地的语音识别模型的量级小于服务器的语音识别模型的量级。也即终端本地的语音识别模型为小模型,通过在地设置小的语音识别模型,能够提高语音控制的效率的情况下,节省内存,进而提高运行速度。
125.需要说明的一点是,终端的本地可以存储有多个语音识别模型,例如,如图5所示,终端中存储n个语音识别模型,不同的语音识别模型用于识别不同语义的语音信号;例如,终端中存储有2个语音识别模型,分别为语音识别模型1和语音识别模型2,其中,语音识别模型1用于识别问答式的语音信号,语音识别模型2用于识别命令式的语音信号。相应的,在终端本地存储有多个语音识别模型的情况下,终端从多个语音识别模型中确定本地的语音识别模型的步骤可以为:终端确定目标语音信号的语义类型,从多个语音识别模型中确定该语义类型对应的语音识别模型。
126.在本技术实施例中,通过存储多个语音识别模型,基于语义类型选择对应的语音识别模型来进行语音信号的识别,能够通过适配的语音识别模型进行识别,提高准确性。
127.在另一种可能的实现方式中,先通过本地的语音识别模型对目标语音信号进行识别,在本地的语音识别模型未识别出目标语音信号中的语音控制指令的情况下,由服务器对该目标语音信号进行识别。则步骤307可以为:
128.终端在本地的语音识别模型未识别出语音控制指令的情况下,向服务器发送目标
语音信号,服务器接收目标语音信号,将目标语音信号输入服务器的语音识别模型中,对目标语音信号进行语音识别,输出语音控制指令,向终端发送该语音控制指令,终端接收服务器发送的语音控制指令。
129.在本技术实施例中,服务器的语音识别模型比本地的语音识别模型的量级大,在本地的语音识别模型不能识别出目标语音信号中的语音控制指令的情况下,服务器能够通过服务器语音识别模型识别出该语音控制指令,从而能够确保识别出语音控制指令。
130.在另一种可能的实现方式中,终端中存储语音多个语音控制指令,终端可以直接从多个语音控制指令中确定该目标语音信号的语音控制指令。相应的,步骤307可以为:终端对目标语音信号进行语音识别,从本地存储的多个语音控制指令中确定目标语音信号匹配的语音控制指令。
131.终端将目标语音信号转换为文本信息,从该文本信息中提取第一关键词;终端本地存储每个语音控制指令对应的第二关键词;相应的,终端对目标语音信号进行语音识别,从本地存储的多个语音控制指令中确定目标语音信号匹配的语音控制指令的步骤可以为:终端基于第一关键词,从多个第二关键词中确定与第一关键词匹配的第二关键词,从多个语音控制指令中确定该第二关键词对应的语音控制指令。
132.在本技术实施例中,终端通过获取目标语音信号对应文本信息的关键词,与本地存储的多个语音控制指令的关键词进行匹配,进而从本地存储的多个语音控制指令中确定目标语音信号匹配的语音控制指令,提高准确性。
133.需要说明的一点是,终端根据该语音控制指令,执行该语音控制指令对应的目标操作。
134.目标操作可以为该语音控制指令对应的任一类型的操作;例如,语音控制指令为“播放音乐”,则目标操作为“打开音乐播放器,播放音乐”;语音控制指令为“今天天气怎么样”,则目标操作为“查询今天天气情况”。终端基于语音控制指令和目标操作的对应关系,执行语音控制指令对应的目标操作。
135.在本技术实施例中,新增了“命令+唤醒词”的语音控制模式,在获取到包含目标唤醒词的语音信号的情况下,确定目标唤醒词被发出的第一起始时间点,之后获取第一起始时间点之前的目标语音信号,对该目标语音信号进行语音识别,从而用户在进行语音控制时,直接连续说出命令和唤醒词,中间无需等待,终端能够及时识别该语音中的命令,从而提高了语音识别的效率。
136.图6是本技术实施例提供的一种语音识别方法的流程图。本技术实施例由终端执行,该方法包括如下步骤:
137.步骤601:终端确定语音信号的缓存频率。
138.其中,缓存频率是终端单位时间内把语音信号缓存在缓存空间中的次数,单位时间可以是一分钟或一个小时等。
139.在一种可能的实现方式中,终端预先设置语音信号的缓存频率,在本步骤中,终端直接获取已设置的缓存频率,该缓存频率是固定不变的,在每个时间都是相同的。例如,终端预先设置语音信号的缓存频率为1分钟缓存一次,即终端在每一分钟内缓存一次语音信号。
140.在本技术实施例中,终端直接获取已设置的缓存频率,操作简单,从而提高了缓存
效率。
141.在另一种可能的实现方式中,终端预先设置多个时间范围内的语音信号的缓存频率。例如,多个时间范围可分为高峰时段、普通时段和低谷时段,其分别对应的缓存频率由高到低,即高峰时段的缓存频率最大,普通时段的缓存频率次之,低谷时段缓存频率最低。终端基于当前时间,从多个时间范围中确定当前时间所属的时间范围,基于该时间范围,从时间范围和缓存频率的对应关系中确定时间范围对应的缓存频率。
142.在本步骤之前,终端预先将时间划分为多个时间范围,对于每个时间范围设置各自对应的缓存频率,得到多个时间范围与缓存频率的对应关系。例如,将24小时的时间划分为多个时间范围,多个时间范围可以为早上6点到9点、早上9点到下午5点、下午5点到凌晨12点、凌晨12点到次日6点这四个时间范围。在早上6点到9点和下午5点到凌晨12点这两个时间范围内,设置终端缓存频率为每30秒缓存一次,在早上9点到下午5点时间范围内,设置终端缓存频率为每1小时缓存一次,在凌晨12点到次日6点时间范围内,设置终端缓存频率为0。终端在早上6点到9点之间拾取到语音信号,基于“早上6点到9点”的时间范围,能够确定缓存频率,将拾取到的语音信号每30秒缓存一次。
143.在本技术实施例中,终端预先将时间划分为多个时间范围,对于每个时间范围设置各自对应的缓存频率;并且,对于每个时间范围,若该时间范围内用户通过语音控制终端的概率大,则设置该时间范围对应较大的缓存频率,从而能够及时缓存用户输出的语音信号,避免信号遗漏。而若该时间范围内用户通过语音控制终端的概率小,则设置该时间范围对应较小的缓存频率,从而能够节省终端的功耗。
144.在另一种可能的实现方式中,终端基于用户历史唤醒终端的唤醒次数来更新时间范围和缓存频率的对应关系,该过程为:终端获取至少一个第二起始时间点,第二起始时间点为目标唤醒词历史被发出的起始时间点,基于至少一个第二起始时间点,确定每个时间范围对应的唤醒次数,基于多个时间范围对应的唤醒次数,更新时间范围和缓存频率的对应关系。
145.终端事先存储唤醒记录,该唤醒记录中存储该终端历史被唤醒的时间点;相应的,终端获取至少一个第二起始时间点的步骤,包括:终端从该唤醒记录中获取至少一个第二起始时间点。
146.其中,终端基于多个时间范围对应的唤醒次数,更新时间范围和缓存频率的对应关系的步骤,包括:对于每个时间范围,终端基于该时间范围对应的唤醒次数,确定该唤醒次数对应的缓存频率,将对应关系中的该时间范围对应的缓存频率更新为确定出的缓存频率。
147.例如,对于每个时间范围,若该时间范围内的唤醒次数不大于1次,确定该缓存频率为0;若该时间范围内的唤醒次数大于1次并小于5次,确定该缓存频率为每1小时缓存一次;若该时间范围内的唤醒次数大于5次并小于10次,确定该缓存频率为每20分钟缓存一次;若该时间范围内的唤醒次数大于10次,确定该缓存频率为每30秒缓存一次;若该时间范围内的唤醒次数大于20次,确定该缓存频率为每20秒缓存一次等。
148.需要说明的一点是,终端中最初存储的时间范围和缓存频率的对应关系可以为从服务器中获取的,也可以为基于该唤醒记录自动生成的。在终端最初存储的时间范围和缓存频率的对应关系为基于该唤醒记录自动生成的情况下,终端确定该时间范围和缓存频率
的对应关系的步骤,包括:终端获取至少一个第三起始时间点,第三起始时间点为历史唤醒终端的时间点,基于至少一个第三起始时间点,确定每个时间范围对应的唤醒次数,基于多个时间范围对应的唤醒次数,确定时间范围和缓存频率的对应关系。
149.在本技术实施例中,终端通过多个时间范围对应的唤醒次数,设置每个时间范围对应的缓存频率,能够符合用户的使用习惯,在用户使用次数多的时间范围内多次缓存语音信号,避免信号遗漏,在用户使用次数少的时间范围内减少缓存,节省缓存空间,减少运行消耗,增强用户使用体验。
150.步骤602:终端拾取语音信号。
151.本步骤和步骤301相同,在此不再赘述。
152.步骤603:终端基于缓存频率,对拾取的语音信号进行缓存。
153.步骤603可以通过以下步骤6031和步骤6032实现,包括:
154.步骤6031:终端基于缓存频率,从拾取到的语音信号中确定待缓存的语音信号。
155.例如,在早上6点到9点时间范围内,终端缓存频率为每30秒缓存一次,即终端在8点10分钟内缓存两次,前30秒缓存一次,后30秒缓存一次。终端在前30秒内,将语音信号“播放音乐”缓存在缓存空间中,在后30秒内,拾取到用户说出的语音信号“停止播放音乐,小a”,从后30秒内拾取的语音信号中确定待缓存的语音信号“停止播放音乐”。
156.步骤6032:终端对待缓存的语音信号进行缓存。
157.终端对待缓存的语音信号进行缓存,即为终端将缓存空间中已缓存的语音信号替换为待缓存的语音信号。
158.在终端将拾取到的待缓存的语音信号缓存到缓存空间中之前,终端已经将之前拾取到的语音信号缓存到缓存空间。终端将之前拾取到的语音信号替换为当前拾取到的待缓存的语音信号,缓存在缓存空间中。例如,在上个例子之后,终端将前30秒内缓存的语音信号“播放音乐”,替换为后30秒内拾取到的语音信号“停止播放音乐”,缓存在缓存空间中。
159.在本技术实施例中,终端将以前缓存的语音信号替换为当前拾取到的待缓存的语音信号,缓存在缓存空间中,新的语音信号替换旧的语音信号,节省了缓存空间,节约了成本,提高了缓存空间利用率。
160.步骤604:终端识别出语音信号包括目标唤醒词,目标唤醒词用于唤醒终端。
161.步骤605:终端从缓存中获取本次唤醒事件对应的语音信号。
162.步骤606:终端确定目标唤醒词被发出的第一起始时间点。
163.步骤607:终端从语音信号中获取第一起始时间点之前的语音信号得到目标语音信号。
164.步骤608:终端对目标语音信号进行语音识别。
165.步骤604

608分别和步骤303

307相同,在此不再赘述。
166.在本技术实施例中,终端基于该缓存频率,对拾取的语音信号进行缓存,缓存频率高时,终端进行多次缓存,避免语音信号的丢失,缓存频率低时,终端减少缓存,不仅节省缓存空间,而且减少运行消耗。
167.图7是本技术实施例提供的一种语音识别装置结构示意图,该装置包括:
168.第一获取模块701,用于获取语音信号,语音信号包含目标唤醒词;
169.第一确定模块702,用于确定目标唤醒词被发出的第一起始时间点;
170.第二获取模块703,用于从语音信号中获取第一起始时间点之前的语音信号得到目标语音信号;
171.识别模块704,用于对目标语音信号进行语音识别。
172.在一种可能的实现方式中,第一获取模块701,包括:
173.拾取单元,用于拾取语音信号;
174.缓存单元,用于对拾取的语音信号进行缓存;
175.识别单元,用于识别出语音信号包括目标唤醒词,目标唤醒词用于唤醒终端;
176.获取单元,用于从缓存中获取本次唤醒事件对应的语音信号。
177.在另一种可能的实现方式中,缓存单元,包括:
178.确定子单元,用于确定语音信号的缓存频率;
179.缓存子单元,用于基于缓存频率,对拾取的语音信号进行缓存。
180.在另一种可能的实现方式中,确定子单元,用于基于当前时间,从多个时间范围中确定当前时间所属的时间范围;基于时间范围,从时间范围和缓存频率的对应关系中确定时间范围对应的缓存频率。
181.在另一种可能的实现方式中,装置还包括:
182.第三获取模块,用于获取至少一个第二起始时间点,第二起始时间点为目标唤醒词历史被发出的起始时间点;
183.第二确定模块,用于基于至少一个第二起始时间点,确定每个时间范围对应的唤醒次数;
184.更新模块,用于基于多个时间范围对应的唤醒次数,更新时间范围和缓存频率的对应关系。
185.在另一种可能的实现方式中,识别模块704,用于将目标语音信号输入本地的语音识别模型中,对目标语音信号进行语音识别。
186.在另一种可能的实现方式中,本地包括多个语义类型对应的多个语音识别模型,装置还包括:
187.第三确定模块,用于确定目标语音信号的语义类型;
188.第四确定模块,用于从多个语音识别模型中确定语义类型对应的第一语音识别模型。
189.在本技术实施例中,新增了“命令+唤醒词”的语音识别模式,在获取到包含目标唤醒词的语音信号的情况下,通过目标唤醒词被发出的第一起始时间点,获取第一起始时间点之前的目标语音信号,对该目标语音信号进行语音识别,从而用户在进行语音控制时,直接连续说出命令和唤醒词,中间无需等待,能够及时识别该语音中的命令,从而提高了语音识别的效率。
190.图8示出了本公开一个示例性实施例提供的终端800的结构框图。该终端800可以是:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
191.通常,终端800包括有:处理器801和存储器802。
192.处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
193.存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本公开中方法实施例提供的语音识别方法。
194.在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、触摸显示屏805、摄像头806摄像头组件806、音频电路807、定位组件808和电源809中的至少一种。
195.外围设备接口803可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
196.射频电路804用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括nfc(near field communication,近距离无线通信)有关的电路,本公开对此不加以限定。
197.显示屏805用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例
中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
198.摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
199.音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
200.定位组件808用于定位终端800的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件808可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或俄罗斯欧盟的伽利略系统的定位组件。
201.电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以是支持有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
202.在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
203.加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制触摸显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
204.陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3d动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的
图像稳定、游戏控制以及惯性导航。
205.压力传感器813可以设置在终端800的侧边框和/或触摸显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在触摸显示屏805的下层时,由处理器801根据用户对触摸显示屏805的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
206.指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商logo时,指纹传感器814可以与物理按键或厂商logo集成在一起。
207.光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制触摸显示屏805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏805的显示亮度;当环境光强度较低时,调低触摸显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
208.接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制触摸显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制触摸显示屏805从息屏状态切换为亮屏状态。
209.本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
210.在示例性实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质中存储至少一条指令,至少一条指令由终端加载并执行,以实现上述实施例中语音识别方法。该计算机可读存储介质可以是存储器。例如,该计算机可读存储介质可以是rom(read

only memory,只读存储器)、ram(random access memory,随机存取存储器)、cd

rom(compact disc read

only memory,紧凑型光盘只读储存器)、磁带、软盘和光数据存储设备等。
211.在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括计算机程序代码,该计算机程序代码被计算机执行时,使得计算机实现上述实施例中的语音识别方法。
212.在示例性实施例中,本技术实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
213.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储
介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
214.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。