一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-08-02 23:24:27 来源:中国专利 TAG:


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.可选的,所述唤醒模型利用c语言库函数生成;所述方法还包括:
32.基于所述c语言库函数生成解码器;其中,所述解码器用于对所述各个语音帧分别对应于目标唤醒词中各个音素的概率进行处理,确定是否唤醒所述待唤醒设备。
33.根据本技术的第二方面,提供了一种语音唤醒装置,所述装置包括:
34.音素概率确定模块,用于获取待处理语音数据,将所述待处理语音数据输入预先训练完成的唤醒模型,得到所述待处理语音数据中各个语音帧分别对应于目标唤醒词中各个音素的概率;
35.目标音素确定模块,用于根据所述各个语音帧分别对应于目标唤醒词中各个音素的概率,确定每个所述语音帧在所述目标唤醒词的音素中对应的目标音素;其中,针对每个目标音素对应的语音帧,所述语音帧对应于目标音素的下一个音素的概率小于或等于所述语音帧对应所述目标音素的概率;
36.唤醒判断模块,用于根据每个所述语音帧对应于目标音素的概率,确定是否唤醒待唤醒设备。
37.可选的,所述目标音素确定模块,具体用于将所述待处理语音数据中的初始语音
帧作为当前比对语音帧,并将所述目标唤醒词中的初始音素作为当前比对音素;获取所述当前比对语音帧对应于所述当前比对音素的概率,作为第一概率,并获取所述当前比对语音帧对应于所述目标唤醒词中当前比对音素的下一音素的概率,作为第二概率;通过比较所述第一概率与第二概率的大小,确定所述当前比对语音帧对应的目标音素;将所述待处理语音数据中所述当前比对语音帧的下一语音帧,作为当前比对语音帧,直至确定每个所述语音帧在所述目标唤醒词的音素中对应的目标音素。
38.可选的,所述目标音素确定模块,具体用于通过下述步骤实现通过比较所述第一概率与第二概率的大小,确定所述当前比对语音帧对应的目标音素:
39.判断所述第二概率是否大于所述第一概率;
40.若所述第二概率小于或等于所述第一概率,则确定所述当前比对音素为所述当前比对语音帧对应的目标音素;
41.若所述第二概率大于所述第一概率,则确定所述当前比对音素的下一音素为所述当前比对语音帧对应的目标音素,并将所述当前比对音素的下一音素作为当前比对音素。
42.可选的,所述语音唤醒装置还包括:
43.音素判断模块,用于判断所述各个语音帧对应的目标音素中是否包括所述目标唤醒词中最后一个音素;
44.确定不唤醒模块,用于如果所述各个语音帧对应的目标音素中不包括所述目标唤醒词中最后一个音素,则确定不唤醒所述待唤醒设备;
45.所述唤醒判断模块,具体用于如果所述各个语音帧对应的目标音素中包括所述目标唤醒词中最后一个音素,则执行所述根据每个所述语音帧对应于目标音素的概率,确定是否唤醒待唤醒设备的步骤。
46.可选的,所述唤醒判断模块,具体用于根据每个所述语音帧对应于目标音素的概率,得到唤醒得分;如果所述唤醒得分大于预设唤醒得分,则唤醒待唤醒设备;如果所述唤醒得分小于或等于所述预设唤醒得分,则不唤醒待唤醒设备。
47.可选的,所述唤醒判断模块,具体用于通过下述方式实现根据每个所述语音帧对应于目标音素的概率,得到唤醒得分:
48.将各个语音帧对应于目标音素的概率的平均值,确定为唤醒得分。
49.可选的,所述语音唤醒装置还包括:
50.唤醒模型训练模块,用于获取样本语音数据,并确定所述样本语音数据中各个样本语音帧在目标唤醒词的各个音素中对应的目标样本音素;根据所述样本语音帧对应的目标样本音素,确定所述样本语音帧对应于目标唤醒词中各个音素的概率;将所述样本语音数据作为输入,所述样本语音数据中各个样本语音帧分别对应于目标唤醒词中各个音素的概率作为标签数据,训练生成所述唤醒模型。
51.可选的,所述唤醒模型利用c语言库函数生成;所述语音唤醒装置还包括:
52.解码器生成模块,用于基于所述c语言库函数生成解码器;其中,所述解码器用于对所述各个语音帧分别对应于目标唤醒词中各个音素的概率进行处理,确定是否唤醒所述待唤醒设备。
53.根据本技术的第三方面,提供了一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面所述的语音
唤醒方法。
54.根据本技术的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的语音唤醒方法。
55.根据本技术的第五方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面所述的语音唤醒方法。
56.本技术实施例提供的技术方案与现有技术相比具有如下优点:
57.在唤醒模型输出待处理语音数据中各个语音帧分别对应于目标唤醒词中各个音素的概率后,可以按语音帧的顺序和音素的顺序依次确定每个语音帧在目标唤醒词的音素中对应的目标音素。针对每个语音帧,在该语音帧对应于当前音素的下一个音素的概率大于该语音帧对应于当前音素的概率时,该语音帧才跳转到下一个音素,否则不跳转,即该语音帧对应的目标音素仍然是当前音素,这样,可以很好地解决唤醒模型输出杂乱的问题。由于本技术不是根据多条解码路径的唤醒得分,选择最终的解码路径,而是在解码路径确定后再计算唤醒得分,不会出现比较靠前的音素的得分较高而拉高总唤醒得分,导致误唤醒的问题。并且,该方法对唤醒模型的准确输出依赖性较小,因此可以使用较少的训练数据生成唤醒模型,计算量较小。
附图说明
58.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
59.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
60.图1为本技术实施例中唤醒方法的一种应用场景示意图;
61.图2为本技术实施例中语音唤醒方法的一种流程图;
62.图3为本技术实施例中解码路径确定方法的一种流程图;
63.图4为本技术实施例中的一种解码路径示意图;
64.图5为本技术实施例中语音唤醒装置的一种结构示意图;
65.图6为本技术实施例中电子设备的一种结构示意图。
具体实施方式
66.为了能够更清楚地理解本技术的上述目的、特征和优点,下面将对本技术的方案进行进一步描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
67.在下面的描述中阐述了很多具体细节以便于充分理解本技术,但本技术还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本技术的一部分实施例,而不是全部的实施例。
68.图1为本技术实施例中唤醒方法的一种应用场景示意图。如图1所示,待唤醒设备为智能音箱,智能音箱具有语音唤醒功能,用户可以喊特定的唤醒词来唤醒该智能音箱。
69.参见图2,图2为本技术实施例中语音唤醒方法的一种流程图,可以包括以下步骤:
70.步骤s210,获取待处理语音数据,将待处理语音数据输入预先训练完成的唤醒模型,得到待处理语音数据中各个语音帧分别对应于目标唤醒词中各个音素的概率。
71.步骤s220,根据各个语音帧分别对应于目标唤醒词中各个音素的概率,确定每个语音帧在目标唤醒词的音素中对应的目标音素。
72.步骤s230,根据每个语音帧对应于目标音素的概率,确定是否唤醒待唤醒设备。
73.本技术实施例的唤醒方法,在唤醒模型输出待处理语音数据中各个语音帧分别对应于目标唤醒词中各个音素的概率后,可以按语音帧的顺序和音素的顺序依次确定每个语音帧在目标唤醒词的音素中对应的目标音素。针对每个语音帧,在该语音帧对应于当前音素的下一个音素的概率大于该语音帧对应于当前音素的概率时,该语音帧才跳转到下一个音素,否则不跳转,即该语音帧对应的目标音素仍然是当前音素,这样,可以很好地解决唤醒模型输出杂乱的问题。由于本技术不是根据多条解码路径的唤醒得分,选择最终的解码路径,而是在解码路径确定后再计算唤醒得分,不会出现比较靠前的音素的得分较高而拉高总唤醒得分,导致误唤醒的问题。并且,该方法对唤醒模型的准确输出依赖性较小,因此可以使用较少的训练数据生成唤醒模型,计算量较小。
74.以下对本技术实施例的语音唤醒方法进行详细介绍。
75.在步骤s210中,获取待处理语音数据,将待处理语音数据输入预先训练完成的唤醒模型,得到待处理语音数据中各个语音帧分别对应于目标唤醒词中各个音素的概率。
76.待处理语音数据是用户输入的语音数据,用户想要唤醒待唤醒设备(例如智能音箱、智能电视等)时,可以喊目标唤醒词,目标唤醒词即为待唤醒设备对应的唤醒词,不同待唤醒设备对应的唤醒词通常会不同。用户喊目标唤醒词时生成的语音数据即为待处理语音数据。待处理语音数据中包括多个语音帧,每个语音帧可以是10毫秒等。
77.唤醒模型是通过预先获取训练数据,并根据训练数据生成的模型,该唤醒模型的输入是语音数据,输出是语音数据的各个语音帧对应唤醒词中各个音素的概率,唤醒模型可以使用任意一种深度学习框架。可以理解的是,针对不同的待唤醒设备,由于对应的唤醒词不同,因此,不同待唤醒设备对应不同的唤醒模型。
78.在一些实施例中,一个字母可以是一个音素,例如,针对“小”而言,x、i、a、o均可以表示一个音素。或者,也可以是根据语音的自然属性划分出来的最小语音单位,依据发音动作来分析,一个动作构成一个音素。例如,在汉语中,x、i、ao均可以表示一个音素。或者,x表示一个音素,iao也表示一个音素,本技术对音素的具体形式不做限定。
79.在一些实施例中,上述唤醒模型的训练方法可以包括以下步骤:
80.首先,获取样本语音数据,并确定样本语音数据中各个样本语音帧在目标唤醒词的各个音素中对应的目标样本音素。
81.样本语音数据可以包括正样本数据(可以唤醒待唤醒设备的语音数据)和负样本数据(无法唤醒待唤醒设备的语音数据)。可以将每个样本语音数据划分为多个样本语音帧,并确定每个样本语音帧在目标唤醒词的各个音素中对应的目标样本音素。通常情况下,多个样本语音帧对应同一个目标样本音素。
82.之后,根据样本语音帧对应的目标样本音素,确定样本语音帧对应于目标唤醒词中各个音素的概率。可以理解的是,样本语音帧对应于目标唤醒词中目标样本音素的概率为1,对应于目标唤醒词中剩余其他音素的概率为0。
83.最后,将样本语音数据作为输入,样本语音数据中各个样本语音帧分别对应于目标唤醒词中各个音素的概率作为标签数据,训练生成唤醒模型。
84.在模型训练过程中,样本语音数据中各个样本语音帧分别对应于目标唤醒词中各个音素的预测概率和实际概率通常存在一定的差距,因此,可以通过预设的损失函数,计算损失值。损失值用于估量预测概率与实际概率的不一致程度,损失值越小,表示预测概率越接近于实际概率。在损失值小于预设阈值时,模型训练结束,得到唤醒模型。
85.在步骤s220中,根据各个语音帧分别对应于目标唤醒词中各个音素的概率,确定每个语音帧在目标唤醒词的音素中对应的目标音素。
86.在训练数据的数据量较大时,唤醒模型输出的每个语音帧对应多个音素的概率的准确性较高。举例而言,语音数据包含100个语音帧,目标唤醒词包含5个音素,该100个语音帧在各个音素上的分布是比较均匀的,也就是,每个音素对应的语音帧的数量在10个左右。此时可以先确定可能存在的多条解码路径,然后比较各个解码路径的唤醒得分,选取唤醒得分最高的解码路径作为最终的解码路径即可。该方法可以很好地保证唤醒率,但是容易产生误唤醒,比较依赖唤醒模型的准确输出,而且计算量较大,比较浪费计算资源。
87.然而,在训练数据的数据量较小时,100个语音帧在各个音素上的分布可能不均匀,例如,实际是10个语音帧对应一个音素,而根据唤醒模型得到一两个语音帧对应一个音素。如果按照上述同样的方法,先确定多条解码路径,再从多条解码路径中选取最终的解码路径,唤醒效果会比较差。
88.基于此,本技术实施例中,可以直接根据各个语音帧分别对应于目标唤醒词中各个音素的概率,确定每个语音帧在各个音素中对应的目标音素,即直接选取一条最终的解码路径进行解码。每个语音帧对应一个目标音素,由于每个语音帧的持续时间较短,例如10毫秒,因此通常多个语音帧对应同一个目标音素。
89.本技术实施例中,针对每个目标音素对应的语音帧,该语音帧对应于目标音素的下一个音素的概率小于或等于该语音帧对应目标音素的概率。也就是说,在该语音帧对应于目标音素的下一个音素的概率大于该语音帧对应目标音素的概率的情况下,该语音帧对应的目标音素将会发生改变,即变更为目标音素的下一个音素。
90.例如,目标唤醒词包含6个音素(音素1~音素6),针对前5个语音帧(语音帧1~语音帧5),如果语音帧1对应音素2的概率小于语音帧1对应音素1的概率,语音帧1对应的目标音素为音素1;如果语音帧2对应音素2的概率小于语音帧2对应音素1的概率,语音帧2对应的目标音素仍然为音素1;如果语音帧3对应音素2的概率小于语音帧3对应音素1的概率,语音帧3对应的目标音素仍然为音素1。如果语音帧4对应音素2的概率大于语音帧4对应音素1的概率,语音帧4对应的目标音素将为音素2。类似地,如果语音帧5对应音素3的概率小于语音帧5对应音素2的概率,语音帧5对应的目标音素仍然为音素2。以此类推,可以确定每个语音帧对应的目标音素。
91.可以看出,在每个语音帧对应于当前音素的下一个音素的概率大于该语音帧对应于当前音素的概率时,才跳转至下一个音素,否则横向移动,不进行跳转。这样,可以保证跳转至新的音素的语音帧,对应于该新的音素的概率相比对应于旧的音素的概率是增大的,避免神经网络输出杂乱的问题。
92.在步骤s230中,根据每个语音帧对应于目标音素的概率,确定是否唤醒待唤醒设
备。
93.本技术实施例中,确定每个语音帧对应的目标音素,也即确定了解码路径。根据解码路径中每个语音帧对应于目标音素的概率,即可确定是否唤醒待唤醒设备。在一些实施例中,可以根据每个语音帧对应于目标音素的概率,得到唤醒得分。可选的,可以将各个语音帧对应于目标音素的概率的平均值,确定为唤醒得分,或者,也可以先确定对应于同一目标音素的多个语音帧,得到该多个语音帧对应于同一目标音素的概率的平均值(或最大值)。然后,再将各个平均值(最大值)的平均值,确定为唤醒得分等。
94.如果唤醒得分大于预设唤醒得分(例如,0.8、0.85等),则唤醒待唤醒设备;如果唤醒得分小于或等于预设唤醒得分,则不唤醒待唤醒设备。
95.在一些实施例中,唤醒模型可以利用c语言库函数生成。这样,可以方便部署解码器,即,可以直接基于c语言库函数生成解码器。解码器与前述的唤醒模型结合使用,判断是否唤醒待唤醒设备。其中,该解码器用于对各个语音帧分别对应于目标唤醒词中各个音素的概率进行处理,确定是否唤醒待唤醒设备。也就是,可以通过生成的解码器执行上述步骤s220~步骤s230。
96.在一些实施例中,在确定每个语音帧在各个音素中对应的目标音素之后,可以判断各个语音帧对应的目标音素中是否包括目标唤醒词中最后一个音素,如果各个语音帧对应的目标音素中不包括目标唤醒词中最后一个音素,表示用户可能没有说出完整的目标唤醒词,因此,待处理语音数据中的各个语音帧没有覆盖目标唤醒词中所有的音素。或者,各个语音帧分别对应于目标唤醒词中各个音素的概率的准确性较低,按照上述解码路径的确定方法,各个语音帧也无法覆盖所有的音素,此时确定不唤醒待唤醒设备。如果语音帧对应的目标音素中包括目标唤醒词中最后一个音素,再根据每个语音帧对应于目标音素的概率,确定是否唤醒待唤醒设备。这样,可以较好地避免误唤醒。
97.参见图3,图3为本技术实施例中解码路径确定方法的一种流程图,可以包括以下步骤:
98.步骤s310,将待处理语音数据中的初始语音帧作为当前比对语音帧,并将目标唤醒词中的初始音素作为当前比对音素。
99.本技术实施例中,可以按语音帧的顺序和目标唤醒词中各个音素的顺序依次确定每个语音帧对应的目标音素。当前比对语音帧和当前比对音素是循环变量,在确定每个语音帧在目标唤醒词的音素中对应的目标音素的过程中,该当前比对语音帧和当前比对音素是不断更新的。
100.由于用户在唤醒待唤醒设备时,是从静音开始说目标唤醒词,因此,在一些实施例中,也可以将初始音素设置为静音,第二个音素为目标唤醒词中的第一个音素,第三个音素为目标唤醒词中的第二个音素,依次类推,具体处理方法与不设置静音类似,在此不再详述。
101.步骤s320,获取当前比对语音帧对应于当前比对音素的概率,作为第一概率,并获取当前比对语音帧对应于目标唤醒词中当前比对音素的下一音素的概率,作为第二概率。
102.步骤s330,通过比较第一概率与第二概率的大小,确定当前比对语音帧对应的目标音素。
103.第一概率越大,表示当前比对音素越有可能是当前比对语音帧对应的目标音素;
第二概率越大,表示当前比对音素的下一个音素越有可能是当前比对语音帧对应的目标音素。因此,通过比较第一概率与第二概率的大小,来确定当前比对语音帧对应的目标音素。
104.在一些实施例中,可以判断第二概率是否大于第一概率,若第二概率小于或等于第一概率,则确定当前比对音素为当前比对语音帧对应的目标音素。由于此时没有发生跳转,因此当前比对音素没有发生改变。例如,针对第一个语音帧,第一个语音帧对应第二个音素的概率通常小于第一个语音帧对应第一个音素的概率,此时可以确定第一个语音帧对应的目标音素为第一个音素。
105.若第二概率大于第一概率,则确定当前比对音素的下一音素为当前比对语音帧对应的目标音素,并将当前比对音素的下一音素作为当前比对音素。由于此时发生了跳转,因此当前比对音素发生改变。例如,针对第二个语音帧,第二个语音帧对应第二个音素的概率大于第二个语音帧对应第一个音素的概率,此时可以确定第二个语音帧对应的目标音素为第二个音素,当前比对音素更新为第二个音素。
106.步骤s340,将待处理语音数据中当前比对语音帧的下一语音帧,作为当前比对语音帧,直至确定每个语音帧在目标唤醒词的音素中对应的目标音素。
107.如果当前比对语音帧不是最后一个语音帧,将下一语音帧作为当前比对语音帧,并执行上述步骤s320~步骤s330;如果当前比对语音帧是最后一个语音帧,流程结束。
108.参见图4,图4为本技术实施例中的一种解码路径示意图。当路径从音素一跳转到音素二时,在唤醒模型输出中,语音帧对应音素二的概率大于该语音帧对应于音素一的概率时,则跳转,否则横向移动,即不进行跳转。语音帧三对应音素二的概率大于语音帧三对应音素一的概率,因此,语音帧三对应的目标音素为音素二。语音帧四对应音素二的概率小于或等于语音帧四对应音素一的概率,因此,语音帧四对应的目标音素仍然为音素二。其中,黑色圆圈表示各个语音帧对应的目标音素,黑色圆圈按顺序连接后得到的路径为解码路径。可见,本技术直接确定一个最终的解码路径,然后根据该解码路径进行解码。而图4中的其他路径为相关技术中先确定的可能存在的多条解码路径,比较各个解码路径的唤醒得分,并选取唤醒得分最高的解码路径作为最终的解码路径。
109.本技术实施例的唤醒方法中,针对每个语音帧,在该语音帧对应于当前音素的下一个音素的概率大于该语音帧对应于当前音素的概率时,该语音帧才跳转到下一个音素,否则不跳转,可以很好地解决唤醒模型输出杂乱的问题。由于本技术直接根据各个语音帧分别对应于目标唤醒词中各个音素的概率直接确定解码路径,然后再计算唤醒得分,因此不会出现比较靠前的音素的得分较高而拉高总唤醒得分,导致误唤醒的问题。并且,该方法对唤醒模型的准确输出依赖性较小,因此可以使用较少的训练数据生成唤醒模型,计算量较小。
110.相应于上述方法实施例,本技术实施例还提供了一种语音唤醒装置,参见图5,语音唤醒装置500包括:
111.音素概率确定模块510,用于获取待处理语音数据,将待处理语音数据输入预先训练完成的唤醒模型,得到待处理语音数据中各个语音帧分别对应于目标唤醒词中各个音素的概率;
112.目标音素确定模块520,用于根据各个语音帧分别对应于目标唤醒词中各个音素的概率,确定每个语音帧在目标唤醒词的音素中对应的目标音素;其中,针对每个目标音素
对应的语音帧,该语音帧对应于目标音素的下一个音素的概率小于或等于该语音帧对应于目标音素的概率;
113.唤醒判断模块530,用于根据每个语音帧对应于目标音素的概率,确定是否唤醒待唤醒设备。
114.可选的,目标音素确定模块520,具体用于将待处理语音数据中的初始语音帧作为当前比对语音帧,并将目标唤醒词中的初始音素作为当前比对音素;获取当前比对语音帧对应于当前比对音素的概率,作为第一概率,并获取当前比对语音帧对应于目标唤醒词中当前比对音素的下一音素的概率,作为第二概率;通过比较第一概率与第二概率的大小,确定当前比对语音帧对应的目标音素;将待处理语音数据中当前比对语音帧的下一语音帧,作为当前比对语音帧,直至确定每个语音帧在目标唤醒词的音素中对应的目标音素。
115.可选的,目标音素确定模块520,具体用于通过下述步骤实现通过比较第一概率与第二概率的大小,确定当前比对语音帧对应的目标音素:
116.判断第二概率是否大于第一概率;
117.若第二概率小于或等于第一概率,则确定当前比对音素为当前比对语音帧对应的目标音素;
118.若第二概率大于第一概率,则确定当前比对音素的下一音素为当前比对语音帧对应的目标音素,并将当前比对音素的下一音素作为当前比对音素。
119.可选的,语音唤醒装置500还包括:
120.音素判断模块,用于判断各个语音帧对应的目标音素中是否包括目标唤醒词中最后一个音素;
121.确定不唤醒模块,用于如果各个语音帧对应的目标音素中不包括目标唤醒词中最后一个音素,则确定不唤醒待唤醒设备;
122.唤醒判断模块530,具体用于如果各个语音帧对应的目标音素中包括目标唤醒词中最后一个音素,则执行根据每个语音帧对应于目标音素的概率,确定是否唤醒待唤醒设备的步骤。
123.可选的,唤醒判断模块530,具体用于根据每个语音帧对应于目标音素的概率,得到唤醒得分;如果唤醒得分大于预设唤醒得分,则唤醒待唤醒设备;如果唤醒得分小于或等于预设唤醒得分,则不唤醒待唤醒设备。
124.可选的,唤醒判断模块530,具体用于通过下述方式实现根据每个语音帧对应于目标音素的概率,得到唤醒得分:
125.将各个语音帧对应于目标音素的概率的平均值,确定为唤醒得分。
126.可选的,语音唤醒装置500还包括:
127.唤醒模型训练模块,用于获取样本语音数据,并确定样本语音数据中各个样本语音帧在目标唤醒词的各个音素中对应的目标样本音素;根据样本语音帧对应的目标样本音素,确定样本语音帧对应于目标唤醒词中各个音素的概率;将样本语音数据作为输入,样本语音数据中各个样本语音帧分别对应于目标唤醒词中各个音素的概率作为标签数据,训练生成唤醒模型。
128.可选的,唤醒模型利用c语言库函数生成;语音唤醒装置500还包括:
129.解码器生成模块,用于基于c语言库函数生成解码器;其中,解码器用于对各个语
音帧分别对应于目标唤醒词中各个音素的概率进行处理,确定是否唤醒待唤醒设备。
130.上述装置中各模块或单元的具体细节,以及系统中线上服务器和线下服务器的具体细节已经在对应的方法中进行了详细的描述,因此此处不再赘述。
131.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
132.在本技术的示例性实施例中,还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行本示例实施方式中上述语音唤醒方法。
133.图6为本技术实施例中电子设备的一种结构示意图。需要说明的是,图6示出的电子设备600仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
134.如图6所示,电子设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有系统操作所需的各种程序和数据。中央处理单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
135.以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如局域网(lan)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
136.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元601执行时,执行本技术的装置中限定的各种功能。
137.本技术实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述语音唤醒方法。
138.需要说明的是,本技术所示的计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器、只读存储器、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频等等,或者上述的任意合适的组合。
139.本技术实施例中,还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述语音唤醒方法。
140.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
141.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献