语音控制方法、设备及存储介质转让专利

申请号 : CN202210823501.4

文献号 : CN115312068B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴彪夏日升

申请人 : 荣耀终端有限公司

摘要 :

本申请提供了一种语音控制方法、设备及存储介质。该方法包括:接收第一语音数据;检测第一语音数据中是否存在第一唤醒词,第一唤醒词为在第一电子设备中预先注册的系统默认唤醒词,或者支持切换为唤醒词的命令词;在第一语音数据中存在第一唤醒词时,确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度;在第一声纹特征匹配度大于或等于设定的声纹阈值时,响应于第一语音数据对应的操作。这样,即便当前语音数据中包括的关键词为未进行语音注册的命令词,也可以实现唤醒电子设备,并控制电子设备作出该命令词对应的响应操作,从而简化用户操作,使得电子设备能够更好的适用于各种语音识别场景。

权利要求 :

1.一种语音控制方法,其特征在于,所述语音控制方法包括:接收第一语音数据;

检测所述第一语音数据中是否存在第一唤醒词,所述第一唤醒词为在第一电子设备中预先注册的系统默认唤醒词,或者支持切换为唤醒词的命令词;

在所述第一语音数据中存在所述第一唤醒词时,确定所述第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度;

在所述第一声纹特征匹配度大于或等于设定的声纹阈值时,响应于所述第一语音数据对应的操作;

其中,所述检测所述第一语音数据中是否存在第一唤醒词,包括:识别所述第一语音数据中包括的关键词;

判断所述关键词是否为命令词;

在所述关键词为所述命令词时,判断所述命令词是否支持切换为唤醒词;

在所述命令词支持切换为所述唤醒词时,确定所述第一语音数据中存在所述第一唤醒词。

2.根据权利要求1所述的方法,其特征在于,在所述第一声纹特征匹配度大于或等于设定的声纹阈值时,所述方法还包括:判断所述第一语音数据是否满足添加到所述第一唤醒词声纹模版库的条件;

在所述第一语音数据满足添加到所述第一唤醒词声纹模版库的条件时,将所述第一语音数据添加到所述第一唤醒词声纹模版库。

3.根据权利要求1所述的方法,其特征在于,在所述接收第一语音数据之前,所述方法还包括:接收用户对第一应用对应的命令词的控件的第一操作,所述第一操作用于选中所述第一应用对应的命令词的控件,以使所述第一应用对应的命令词设置为支持切换为唤醒词;

响应于所述第一操作,将所述第一应用对应的命令设置为支持切换为唤醒词。

4.根据权利要求1所述的方法,其特征在于,在所述接收第一语音数据之前,所述方法还包括:接收用户对第一应用类型对应的控件的第二操作,所述第一应用类型包括第一应用,所述第二操作用于选中所述第一应用类型对应的控件,以使所述第一应用类型中的每一所述第一应用对应的命令设置为支持切换为唤醒词;

响应于所述第二操作,将所述第一应用类型中的每一所述第一应用对应的命令设置为支持切换为唤醒词。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述第一语音数据中不存在所述第一唤醒词时,获取与所述第一电子设备关联的第二电子设备;

如果获取到与所述第一电子设备关联的所述第二电子设备,获取在所述第二电子设备对应的第二唤醒词,所述第二唤醒词为在所述第二电子设备中预先注册的系统默认唤醒词,或者被设置为可以切换为唤醒词的命令词;

检测所述第一语音数据中是否存在所述第二唤醒词;

在所述第一语音数据中存在所述第二唤醒词时,确定所述第一语音数据与第二唤醒词声纹模版库中的语音数据的第二声纹特征匹配度;

在所述第二声纹特征匹配度大于或等于设定的声纹阈值时,唤醒所述第一电子设备。

6.根据权利要求1所述的方法,其特征在于,所述第一唤醒词声纹模版库中的语音数据有多条;

所述确定所述第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度,包括:确定所述第一语音数据对应的第一信噪比,以及所述第一唤醒词声纹模版库中每一条语音数据对应的第二信噪比;

分别确定每一条语音数据对应的第二信噪比与所述第一信噪比的信噪比差值;

根据每一条语音数据对应的信噪比差值,确定信噪比差值总和;

确定所述第一语音数据与每一条语音数据的音素重叠个数;

根据每一条语音数据对应的音素重叠个数,确定音素重叠个数总和;

对于每一条语音数据,根据所述信噪比差值总和、所述语音数据对应的信噪比差值、所述音素重叠个数总和、所述语音数据对应的音素重叠个数,确定所述语音数据的权重;

确定所述第一语音数据与每一条语音数据的声纹特征匹配度;

根据每一条语音数据对应的权重和所述声纹特征匹配度,确定所述第一声纹特征匹配度。

7.根据权利要求6所述的方法,其特征在于,对于每一条语音数据,基于下述公式,根据所述信噪比差值总和、所述语音数据对应的信噪比差值、所述音素重叠个数总和、所述语音数据对应的音素重叠个数,确定所述语音数据的权重,包括:;

其中, 表示第i条语音数据的权重, 为信噪比差值总和, 为第i条语音数据对应的信噪比差值, 为音素重叠个数总和, 为第i条语音数据对应的音素重叠个数, 、为常数系数,遵循 。

8.根据权利要求1所述的方法,其特征在于,所述第一语音数据包括第一通道语音数据和第二通道语音数据,所述第一通道语音数据和所述第二通道语音数据分别来自不同的麦克风;

在所述确定所述第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度之前,所述方法还包括:将所述第一通道语音数据和所述第二通道语音数据进行融合,得到单通道的所述第一语音数据。

9.根据权利要求8所述的方法,其特征在于,所述将所述第一通道语音数据和所述第二通道语音数据进行融合,得到单通道的所述第一语音数据,包括:分别确定所述第一通道语音数据对应的第一语音能量和所述第二通道语音数据对应的第二语音能量;

在所述第一语音能量大于或等于所述第二语音能量时,将所述第一通道语音数据作为单通道的所述第一语音数据;

在所述第一语音能量小于所述第二语音能量时,将所述第二通道语音数据作为单通道的所述第一语音数据。

10.根据权利要求8所述的方法,其特征在于,所述将所述第一通道语音数据和所述第二通道语音数据进行融合,得到单通道的所述第一语音数据,包括:分别对所述第一通道语音数据和所述第二通道语音数据进行降噪处理;

基于多通道维纳滤波方法,根据降噪后的所述第一通道语音数据和所述第二通道语音数据,生成单通道的所述第一语音数据。

11.根据权利要求8所述的方法,其特征在于,在所述得到单通道的所述第一语音数据之后,确定所述第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度之前,所述方法还包括:对单通道的所述第一语音数据进行语音活动检测,得到待验证的所述第一语音数据;

所述确定所述第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度,包括:确定待验证的所述第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度。

12.根据权利要求8所述的方法,其特征在于,在所述将所述第一通道语音数据和所述第二通道语音数据进行融合之前,所述方法还包括:确定所述第一语音数据对应的语音场景,所述语音场景包括室内场景和室外场景;

在所述语音场景为所述室外场景时,执行所述将所述第一通道语音数据和所述第二通道语音数据进行融合的步骤;

在所述语音场景为所述室内场景时,执行所述确定所述第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度的步骤。

13.根据权利要求1至12任一项所述的方法,其特征在于,在所述第一唤醒词为支持切换为唤醒词的命令词时,所述响应于所述第一语音数据对应的操作,包括:唤醒所述第一电子设备,并响应于所述命令词对应的操作。

14.根据权利要求1至12任一所述的方法,其特征在于,在所述第一唤醒词为所述系统默认唤醒词时,所述响应于所述第一语音数据对应的操作,包括:唤醒所述第一电子设备。

15.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述关键词不是所述命令词时,判断所述关键词是否为所述系统默认唤醒词;

在所述关键词为所述系统默认唤醒词时,确定所述第一数据中存在所述第一唤醒词。

16.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述命令词不支持切换为所述唤醒词时,判断所述第一电子设备是否已被唤醒;

在所述第一电子设备已被唤醒时,执行所述命令词对应的操作。

17.一种电子设备,其特征在于,所述电子设备包括:存储器和处理器,所述存储器和所述处理器耦合;所述存储器存储有程序指令,所述程序指令由所述处理器执行时,使得所述电子设备执行如权利要求1至16任意一项所述的语音控制方法。

18.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至16任意一项所述的语音控制方法。

说明书 :

语音控制方法、设备及存储介质

技术领域

[0001] 本申请涉及语音处理技术领域,尤其涉及一种语音控制方法、设备及存储介质。

背景技术

[0002] 随着语音识别技术的不断发展,目前大部分电子设备都支持语音助手。语音助手具有通过智能对话与即时问答等语音交互方式实现语音控制、信息查询等功能。
[0003] 但是,目前电子设备上的语音助手通常需要用户对其进行唤醒,一般是通过输入特定的语音唤醒词实现语音助手的唤醒,然后再输入特定的语音命令词,这样电子设备才能作出相应的响应,如打开某一应用程序。

发明内容

[0004] 为了解决上述技术问题,本申请提供一种语音控制方法、设备及存储介质,旨在使电子设备的授权用户能够在电子设备处于待机状态时,使用未进行语音注册的命令词直接唤醒电子设备,并控制电子设备作出该命令词对应的响应操作,从而简化用户操作,使得电子设备能够更好的适用于各种语音识别场景。
[0005] 第一方面,本申请提供一种语音控制方法。该方法应用于第一电子设备,包括:接收第一语音数据;检测第一语音数据中是否存在第一唤醒词,第一唤醒词为在第一电子设备中预先注册的系统默认唤醒词,或者支持切换为唤醒词的命令词;在第一语音数据中存在第一唤醒词时,确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度;在第一声纹特征匹配度大于或等于设定的声纹阈值时,响应于第一语音数据对应的操作。
[0006] 其中,第一语音数据,即下文通过第一电子设备的麦克风或者连接的耳机的麦克风采集到的语音数据。
[0007] 其中,第一唤醒词,例如包括系统默认的唤醒词,如下文中出现的“你好YOYO”,以及被设置为支持切换为唤醒词的命令词,例如下文中出现的“打开信息”、“打开电子邮件”等。
[0008] 需要说明的,在本申请中,上述所说的被设置为支持切换为唤醒词的命令词,例如为系统自动生成的,即无需用户进行注册。
[0009] 此外,在一些实现方式中,如果用户对命令词进行修改,也无需录入对应的语音数据。因此,用户在使用第一电子设备时,仅需注册一次系统默认唤醒词,后续使用过程中将命令词自动切换为唤醒词时,无需用户进行语音注册。
[0010] 其中,第一电子设备,即下文中所说的电子设备,可以为服务器,或者是终端。其中,终端包括但不限于智能音箱、智能手机、平板电脑、笔记本电脑、个人数字助理(personal digital assistant,PDA)或者智能穿戴设备等,此处不再一一列举。
[0011] 其中,第一声纹特征匹配度,即下文中有声纹验证模块进行声纹验证处理,得到的分数。
[0012] 其中,第一唤醒词声纹模版库,即为下文中所说的设置于电子设备内部存储其中的唤醒词声纹模版库。
[0013] 示例性的,在另一些实现方案中,第一唤醒词声纹模版库也可以存储在对应的云端服务器中,当需要进行声纹验证时从云端服务器获取对应的声纹模版的语音数据。
[0014] 示例性的,在另一些实现方案中,声纹验证也可以由云端服务器完成,这种方式,第一电子设备中可以不增加下文中所说的声纹验证模块,当需要进行声纹验证时也无需从云端服务器获取对应的声纹模版的语音数据,而是将麦克风采集到的第一语音数据发送给云端服务器进行声纹验证。
[0015] 这样,就可以使第一电子设备的授权用户能够在第一电子设备处于待机状态时,使用未进行语音注册的命令词直接唤醒电子设备,并控制第一电子设备作出该命令词对应的响应操作,从而简化用户操作,使得第一电子设备能够更好的适用于各种语音识别场景。
[0016] 根据第一方面,在第一声纹特征匹配度大于或等于设定的声纹阈值时,方法还包括:判断第一语音数据是否满足添加到第一唤醒词声纹模版库的条件;在第一语音数据满足添加到第一唤醒词声纹模版库的条件时,将第一语音数据添加到第一唤醒词声纹模版库。
[0017] 示例性的,在一些实现方式中,添加到第一唤醒词声纹模版库的条件例如可以根据信噪比确定。
[0018] 示例性的,在另一些实现方式中,添加到第一唤醒词声纹模版库的条件例如可以根据信噪比和声纹验证结果(分数)确定。
[0019] 关于具体的判断方式,可以参见下文,此处不再赘述。
[0020] 根据第一方面,或者以上第一方面的任意一种实现方式,在接收第一语音数据之前,方法还包括:接收用户对第一应用对应的命令词的控件的第一操作,第一操作用于选中第一应用对应的命令词的控件,以使第一应用对应的命令词设置为支持切换为唤醒词;响应于第一操作,将第一应用对应的命令设置为支持切换为唤醒词。
[0021] 其中,第一应用例如为下文中出现的时钟应用、日历应用、图库应用、备忘录应用、文件关联应用、电子邮件应用、音乐应用、计算器应用、视频应用、录音机应用、天气应用、浏览器应用、设置应用、相机应用、通讯录应用、电话应用、信息应用等,此处不再一一列举。
[0022] 其中,第一应用对应的命令词的控件例如为下文中所说的控件10h‑4。
[0023] 其中,第一操作即为选中下文中所说的控件10h‑4的操作。
[0024] 这样,通过为控制每一个应用的命令词设置一个开启命令词/唤醒词自动切换,即设置命令词支持作为唤醒词的控件,从而用户可以通过控制各个应用对应的命令词的控件,达到开启命令词/唤醒词自动切换权限的目的,实现了对单一命令词的设置,能够更好的满足用户需求。
[0025] 根据第一方面,或者以上第一方面的任意一种实现方式,在接收第一语音数据之前,方法还包括:接收用户对第一应用类型对应的控件的第二操作,第一应用类型包括第一应用,第二操作用于选中第一应用类型对应的控件,以使第一应用类型中的每一第一应用对应的命令设置为支持切换为唤醒词;响应于第二操作,将第一应用类型中的每一所述第一应用对应的命令设置为支持切换为唤醒词。
[0026] 其中,第一应用类型,例如为下文所说的金融类、将涉及用户个人信息的类型。
[0027] 示例性的,对于金融类,包括的第一应用例如可以有各种银行的应用、支付宝等;对应涉及用户个人信息的类型,包括的第一应用例如可以有健康码、行程码等应用。
[0028] 其中,第二操作即为选中第一应用类型下所有第一应用命令词对应的控件的操作。
[0029] 这样,以类型进行划分,通过为每一类应用设置一个总的控件,用户只需对该控件进行选中,就可以实现对该类型的所有应用的命令词的设置,方便用户操作。
[0030] 根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:在第一语音数据中不存在第一唤醒词时,获取与第一电子设备关联的第二电子设备;如果获取到与第一电子设备关联的第二电子设备,获取在第二电子设备对应的第二唤醒词,第二唤醒词为在第二电子设备中预先注册的系统默认唤醒词,或者被设置为可以切换为唤醒词的命令词;检测第一语音数据中是否存在第二唤醒词;在第一语音数据中存在第二唤醒词时,确定第一语音数据与第二唤醒词声纹模版库中的语音数据的第二声纹特征匹配度;在第二声纹特征匹配度大于或等于设定的声纹阈值时,唤醒第一电子设备。
[0031] 其中,第二唤醒词声纹模板库可以是存储在第二电子设备的内部存储器中,也可以如上文所说,与第一唤醒词声纹模板库类似,存储在对应的云端服务器中。
[0032] 相应地,在第二唤醒词声纹模板库存储在对应的云端服务器中,声纹验证操作同样可以交由云端服务器完成。
[0033] 这样,对于同一个用户使用多个电子设备的场景,该用户可以通过在任意一个电子设备中注册的系统默认唤醒词或者被设置为支持切换为唤醒词的关键词,唤醒与该电子设备关联的其他电子设备,并控制关联的电子设备作出其他操作,从而无需用户在每个电子设备都注册相同的系统默认唤醒词,也无需在每个电子设备中设置支持切换为唤醒词的命令词的属性信息,大大提升了用户体验。
[0034] 根据第一方面,或者以上第一方面的任意一种实现方式,第一唤醒词声纹模版库中的语音数据有多条;确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度,包括:确定第一语音数据对应的第一信噪比,以及第一唤醒词声纹模版库中每一条语音数据对应的第二信噪比;分别确定每一条语音数据对应的第二信噪比与第一信噪比的信噪比差值;根据每一条语音数据对应的信噪比差值,确定信噪比差值总和;确定第一语音数据与每一条语音数据的音素重叠个数;根据每一条语音数据对应的音素重叠个数,确定音素重叠个数总和;对于每一条语音数据,根据信噪比差值总和、语音数据对应的信噪比差值、音素重叠个数总和、语音数据对应的音素重叠个数,确定语音数据的权重;确定第一语音数据与每一条语音数据的声纹特征匹配度;根据每一条语音数据对应的权重和声纹特征匹配度,确定第一声纹特征匹配度。
[0035] 示例性的,在一些实现方式中,信噪比的确定可以基于VAD方式,具体的实现方式可以参见下文,此处不再赘述。
[0036] 此外,关于音素重叠个数的确定方式,也可以参见下文,此处不再赘述。
[0037] 这样,通过为每一条语音数据设置对应的权重,并基于权重融合每一条语音数据对应的声纹特征匹配度,进而得到第一声纹特征匹配度,从而使得第一声纹特征匹配度能够兼具多条语音数据的特征,更加精准。
[0038] 根据第一方面,或者以上第一方面的任意一种实现方式,对于每一条语音数据,基于下述公式,根据信噪比差值总和、语音数据对应的信噪比差值、音素重叠个数总和、语音数据对应的音素重叠个数,确定语音数据的权重,包括:Wi=α(SUM_SRN‑SRN_Di)/SUM_SRN+β(SUM_Pnum‑Pnumi)/SUM_Pnum;其中,Wi表示第i条语音数据的权重,SUM_SRN为信噪比差值总和,SRN_Di为第i条语音数据对应的信噪比差值,SUM_Pnum为音素重叠个数总和,Pnumi为第i条语音数据对应的音素重叠个数,α、β为常数系数,遵循α+β=1。
[0039] 其中,α、β为根据业务需求设置的常数系数,在本实施例中遵循α+β=1。基于此,在一些关注信噪比的场景下,α的取值可以大于β的取值,例如α=0.7,β=0.3;在另一些关注重叠音素个数的场景下,β的取值可以大于α的取值,例如β=0.7,α=0.3;在另一些既关注信噪比,又关注重叠音素个数的场景下,α的取值和β的取值可以相同,例如均为0.5。
[0040] 根据第一方面,或者以上第一方面的任意一种实现方式,第一语音数据包括第一通道语音数据和第二通道语音数据,第一通道语音数据和第二通道语音数据分别来自不同的麦克风;在确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度之前,方法还包括:将第一通道语音数据和第二通道语音数据进行融合,得到单通道的第一语音数据。
[0041] 这样,就可以保证进行声纹验证的第一语音数据为增加处理后的语音数据,从而使得验证结果更加精准。
[0042] 根据第一方面,或者以上第一方面的任意一种实现方式,将第一通道语音数据和第二通道语音数据进行融合,得到单通道的第一语音数据,包括:分别确定第一通道语音数据对应的第一语音能量和第二通道语音数据对应的第二语音能量;在第一语音能量大于或等于第二语音能量时,将第一通道语音数据作为单通道的第一语音数据;在第语音能量小于第二语音能量时,将第二通道语音数据作为单通道的第一语音数据。
[0043] 即,选取语音能量最大的一路通道对应的语音数据作为需要传输至语音活动检测模块的语音数据,主要是基于语音能量越大,表明说话者约靠近提供该路语音数据的麦克风,而在室外场景中,用户使用语音唤醒功能时,通常是手持电子设备,将其放在靠近嘴巴的位置说出含有唤醒词或命令词的语音数据。因此,靠近用户嘴巴位置的麦克风对应的通道传输的语音数据更能精准的体现出用户的声纹特征。
[0044] 这样,就可以保证进行声纹验证的第一语音数据为增加处理后的语音数据,从而使得验证结果更加精准。
[0045] 根据第一方面,或者以上第一方面的任意一种实现方式,将第一通道语音数据和第二通道语音数据进行融合,得到单通道的第一语音数据,包括:分别对第一通道语音数据和第二通道语音数据进行降噪处理;基于多通道维纳滤波方法,根据降噪后的第一通道语音数据和第二通道语音数据,生成单通道的第一语音数据。
[0046] 这样,就可以保证进行声纹验证的第一语音数据为增加处理后的语音数据,从而使得验证结果更加精准。
[0047] 根据第一方面,或者以上第一方面的任意一种实现方式,在得到单通道的第一语音数据之后,确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度之前,方法还包括:对单通道的第一语音数据进行语音活动检测,得到待验证的第一语音数据;确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度,包括:确定待验证的第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度。
[0048] 其中,语音活动检测例如可以基于语音活动检测技术实现。
[0049] 这样,对第一语音数据进行语音活动检测处理,能够从第一语音数据中识别和消除长时间的静音期,以达到在不降低业务质量的情况下,降低对资源的占用。
[0050] 根据第一方面,或者以上第一方面的任意一种实现方式,在将第一通道语音数据和第二通道语音数据进行融合之前,方法还包括:确定第一语音数据对应的语音场景,语音场景包括室内场景和室外场景;在语音场景为室外场景时,执行将第一通道语音数据和第二通道语音数据进行融合的步骤;在语音场景为室内场景时,执行确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度的步骤。
[0051] 其中,室内场景例如为办公室、家等通常较为安静,即不存在其他干扰声音,或干扰声音较少的语音场景;室外场景例如为广场、公园、街道等较为嘈杂,即存在很多干扰声音的语音场景。
[0052] 这样,在语音场景为室内场景时,跳过语音数据融合以及语音活动检测,直接执行确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度的步骤,从而加快语音处理速度,并降低对设备资源的占用和设备功耗;在语音场景为室外场景时,先进行语音数据融合以及语音活动检测,再执行确定第一语音数据与第一唤醒词声纹模版库中的语音数据的第一声纹特征匹配度的步骤,从而可以滤除部分干扰声音,避免这些干扰声音对声纹验证结果的英雄,即保证后续声纹验证结果的准确性。
[0053] 根据第一方面,或者以上第一方面的任意一种实现方式,在第一唤醒词为支持切换为唤醒词的命令词时,响应于第一语音数据对应的操作,包括:唤醒第一电子设备,并响应于命令词对应的操作。
[0054] 这样,在唤醒词为被设置为支持切换为唤醒词的命令词时,第一电子设备响应于包含该命令词的第一语音数据时,不仅要起到唤醒词的作用,还要起到命令词的作用,即这样情况下,第一电子设备在响应于第一语音数据的操作时,既要唤醒第一电子设备,同时还需要响应于命令词对应的操作,如打开第一电子设备中的某一应用,从而实现了利用一个命令词,既唤醒第一电子设备,右打开对应的应用,无需用户先使用唤醒词唤醒第一电子设备,在使用命令词控制第一电子设备打开对应的应用,减少用户操作。
[0055] 根据第一方面,或者以上第一方面的任意一种实现方式,在第一唤醒词为系统默认唤醒词时,响应于第一语音数据对应的操作,包括:唤醒第一电子设备。
[0056] 这样,在第一唤醒词为系统默认唤醒词时,即其作用仅用于唤醒电子设备时,当接收到包含该唤醒词的第一语音数据时,作出的响应操作仅为唤醒第一电子设备,即将第一电子设备从待机状态唤醒到工作状态。
[0057] 根据第一方面,或者以上第一方面的任意一种实现方式,检测第一语音数据中是否存在第一唤醒词,包括:识别第一语音数据中包括的关键词;判断关键词是否为命令词;在关键词为命令词时,判断命令词是否支持切换为唤醒词;在命令词支持切换为唤醒词时,确定第一数据中存在第一唤醒词。
[0058] 其中,识别第一语音数据中包括的关键词,例如可以是基于语音识别技术,识别语音数据对应的文本,即执行语音转文本操作,进而将文本中包括的文字作为识别到的关键词。
[0059] 关于判断关键词是否为命令词的逻辑,例如可以是通过对第一电子设备中存储的所有命令词进行遍历,然后将遍历到的命令词与从第一语音数据中提取出的关键词进行比对。
[0060] 相应地,关于判断命令词是否支持切换为唤醒词的逻辑,例如可以先检测第一电子设备是否开启了下文中所说的唤醒词/命令词自动切换功能。
[0061] 进一步地,在确定开启了唤醒词/命令词自动切换功能后,可以检测该命令词是否属于下文中“请选择要切换为唤醒词的命令词”界面中被选择的命令词,或者根据该命令词的属性确定是否支持“唤醒词/命令词自动切换”等。具体的判断逻辑可以参见下文,此处不再赘述。
[0062] 根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:在关键词不是命令词时,判断关键词是否为系统默认唤醒词;在关键词为系统默认唤醒词时,确定第一数据中存在第一唤醒词。
[0063] 关于上述判断逻辑可以参见下文,此处不再赘述。
[0064] 根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:在命令词不支持切换为唤醒词时,判断第一电子设备是否已被唤醒;在第一电子设备已被唤醒时,响应于命令词对应的操作。
[0065] 关于上述判断逻辑可以参见下文,此处不再赘述。
[0066] 第二方面,本申请提供了一种电子设备。该电子设备包括:存储器和处理器,存储器和处理器耦合;存储器存储有程序指令,程序指令由处理器执行时,使得所述电子设备执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
[0067] 其中,该电子设备可以是上述所说的第一电子设备,也可以是第二电子设备。
[0068] 其中,电子设备是指具有数据处理能力的设备,例如可以是服务器,或者是终端。其中,终端包括但不限于智能音箱、智能手机、平板电脑、笔记本电脑、个人数字助理(personal digital assistant,PDA)或者智能穿戴设备等。
[0069] 第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
[0070] 第三方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
[0071] 第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
[0072] 第四方面,本申请提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
[0073] 第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
[0074] 第五方面,本申请提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
[0075] 第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。

附图说明

[0076] 图1a为示例性示出的语音唤醒电子设备的场景示意图;
[0077] 图1b为示例性示出的语音唤醒电子设备的场景示意图;
[0078] 图1c为示例性示出的语音唤醒电子设备的场景示意图;
[0079] 图2为示例性示出的电子设备的硬件结构示意图;
[0080] 图3为示例性示出的电子设备的软件结构示意图;
[0081] 图4为示例性示出的开启语音唤醒功能的用户界面示意图;
[0082] 图5为示例性示出的开启语音唤醒功能的用户界面示意图;
[0083] 图6为示例性示出的注册系统默认唤醒词的用户界面示意图;
[0084] 图7为示例性示出的注册系统默认唤醒词的用户界面示意图;
[0085] 图8为示例性示出的命令词对应的用户界面示意图;
[0086] 图9为示例性示出的命令词对应的用户界面示意图;
[0087] 图10为示例性示出唤醒词/命令词自动切换设置功能对应的用户界面示意图;
[0088] 图11为示例性示出的模块交互示意图;
[0089] 图12为示例性示出的语音控制方法的流程示意图;
[0090] 图13为示例性示出的场景识别的示意图;
[0091] 图14为示例性示出的多路语音数据来源的示意图;
[0092] 图15为示例性示出的声纹验证模块实现声纹验证的示意图;
[0093] 图16为示例性示出的将命令词切换为唤醒词添加到唤醒词声纹模版库后的用户界面示意图。

具体实施方式

[0094] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0095] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
[0096] 本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
[0097] 在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0098] 在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
[0099] 随着人工智能、语音处理技术的高速发展,语音交互作为人们最常用的交互方式之一,越来越多地应用于人们的日常生活。例如,用户可以在使用手机的过程中通过语音交互控制手机,也可以在家中通过语音交互控制智能家居设备,甚至可以在车中通过语音交互控制车载设备等。即,电子设备可以通过对用户的声音信息进行语音识别,然后对于所识别的语音通过自然语言处理获得语音内容,然后基于语音内容执行对应操作。
[0100] 可理解的,在对于语音交互功能的日常使用中,语音交互并不是长时间持续发生的状态。当在语音交互场景中,电子设备长期处于工作状态时,会影响电子设备的续航能力,影响电子设备的使用寿命,因此大多数情况下,电子设备都处于待机状态,然后通过语音唤醒(keyword spotting,KWS)功能将电子设备由待机状态转换为工作状态,然后再通过语音命令词控制电子设备作出相应的响应操作,如打开某一应用程序。
[0101] 语音唤醒,是指在连续的语音数据中实时检测出包括特定唤醒词的片段,使电子设备由待机状态转为工作状态。通常情况下,语音唤醒技术可以采用声学模型对语音数据进行编码、解码,从而检测语音数据中是否包括唤醒词,进而确定是否对电子设备进行唤醒。
[0102] 进一步地,为了保障用户个人信息的安全,以及使用体验,避免非注册用户通过语音唤醒注册用户的电子设备,如不法分子通过语音唤醒用户的电子设备,窃取电子设备中存储的文件,或者电子设备根据周围采集到的语音,如电视中播放的影视作品中的语音,自动唤醒用户的电子设备。目前的语音唤醒技术中融入了声纹验证,即在利用声学模型对语音数据进行编码、解码,检测到语音数据中的唤醒词后,进一步利用声纹验证模型对该唤醒词的语音数据进行声纹验证,从而确定唤醒词是否为注册用户(授权使用电子设备的用户)的所说,在确定唤醒词为注册用户所说时,才对电子设备进行唤醒。
[0103] 声纹验证技术,是指利用声纹识别进行身份认证的技术。声纹识别是根据语音中所蕴含的说话人的个性特征去识别该段语音所含说话人身份的过程。
[0104] 示例性的,在一些实现方式中,声纹验证技术可以实现说话人鉴别,如从多个说话人中识别出指定说话人,通常情况下,适用于刑侦破案、智能客服、智能家居等场景。
[0105] 示例性的,在另一些实现方式中,声纹验证技术还可以实现说话人分割聚类,如将一段语音数据中不同用户的语音进行分割聚类,通常情况下,适用于通话录音、会议录音、智能家居等场景。
[0106] 示例性的,在另一些实现方式中,声纹验证技术还可以实现说话人确认,如确认语音是否为录音,还是真人语音,通常情况下,适用于账号登录、机主核对等场景。
[0107] 为了实现上述功能,声纹验证技术从最开始的模版匹配阶段,已经发展到端到端深度神经网络阶段(Deep Neural Networks,DNN)。这中间还经历了高斯混合模型(Gaussian mixed model,GMM)阶段、高斯混合模型‑全局背景模型(Universal Background Model,UBM)阶段(即GMM‑UBM阶段)、联合因子分析(Joint Factor Analysis,JFA)阶段、基于GMM的向量(Vector)/概率线性判别分析(Probabilistic Linear Discriminant Analysis,PLDA)阶段、基于DNN的辨识向量(identification vector,i‑Vector)阶段。关于各阶段的算法特性,可以参见相应的算法标准,本实施例对此不再赘述。
[0108] 为了更好的理解电子设备基于语音助手实现各种语音识别场景,以下结合一种实际的使用场景对语音唤醒适用的场景进行说明。
[0109] 参见图1a,示例性的,手机A支持的系统默认唤醒词为“你好YOYO”,注册“你好YOYO”这一唤醒词的用户为用户A,即用户A为手机A的授权用户。
[0110] 继续参见图1a,当用户A对着手机A说出一段语音数据,如“打开信息”后,手机A的麦克风会采集到该语音数据,但是通过语音识别确定该语音数据中包括的关键词“打开信息”并非已经注册的唤醒词,因此手机A不会作出响应,即手机A依旧处于待机状态。
[0111] 此时,用户A如果想要通过语音控制手机A打开信息这一应用程序,必须先说出包含“你好YOYO”这一唤醒词的语音数据,唤醒手机A,即将手机A从待机状态唤醒到工作状态,才可以根据“打开信息”这一命令词的语音数据,控制手机A打开信息这一应用程序。例如图1b所示,用户A需要说出包含“你好YOYO,打开信息”的语音数据,这样手机A的麦克风会采集到该语音数据后,通过语音识别确定该语音数据中包括的关键词“你好YOYO”为已经注册的唤醒词,这样通过将“你好YOYO”这一唤醒词对应的语音数据与手机A中预存的该唤醒词对应的语音数据进行声纹验证,在验证成功后,会先唤醒手机A,如从1b所示待机(黑屏)界面,跳转到图1c中(1)所示的10a界面,然后根据“打开信息”这一命令词对应的语音数据控制手机A打开信息这一应用程序,即从图1c中(1)所示的10a界面跳转到图1c中(2)所示的10b界面。
[0112] 示例性的,在另一种实现方式中,用户A也可以先说出仅包括“你好YOYO”的语音数据将手机A唤醒,即从1b所示待机(黑屏)界面,跳转到图1c中(1)所示的10a界面,然后再输出仅包括“打开信息”的语音数据控制手机A作出响应,即从图1c中(1)所示的10a界面跳转到图1c中(2)所示的10b界面。
[0113] 通过上述描述可知,虽然这种方式用户A可以全程通过语音数据实现对手机A的控制,但是在手机A处于待机状态时,用户A想要通过语音方式控制手机A作出响应操作,必须要先通过唤醒词唤醒手机A,给用户带来了诸多不便。
[0114] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0115] 有鉴于此,本申请提供了一种语音控制方法,该方法应用于电子设备,旨在使电子设备的授权用户能够在电子设备处于待机状态时,使用未进行语音注册的命令词,如上述所说的“打开信息”直接唤醒电子设备,并控制电子设备作出该命令词对应的响应操作,从而简化用户操作,使得电子设备能够更好的适用于各种语音识别场景。
[0116] 可理解的,具体到本本申请各实施例中,实现该方法的电子设备,是指具有数据处理能力的设备,例如可以是服务器,或者是终端。
[0117] 其中,终端包括但不限于智能音箱、智能手机(如上述所说的手机A)、平板电脑、笔记本电脑、个人数字助理(personal digital assistant,PDA)或者智能穿戴设备等。
[0118] 其中,服务器可以是云服务器(下文称为:云端),例如是中心云计算集群中的中心服务器,或者是边缘云计算集群中的边缘服务器。当然,服务器也可以是本地数据中心中的服务器。可理解的,本地数据中心是指用户直接控制的数据中心。
[0119] 仍以手机A为例,在手机A支持的系统默认唤醒词为“你好YOYO”,注册“你好YOYO”这一唤醒词的用户为用户A,即用户A为手机A的授权用户。继续参见图1a,当用户A对着手机A说出一段语音数据,如“打开信息”后,手机A的麦克风会采集到该语音数据,基于本申请提供的语音控制方法进行处理后,手机A响应于该语音数据,会将手机A唤醒,即从1a所示待机(黑屏)界面,跳转到图1c中(1)所示的10a界面,比打开信息这一应用程序,即从图1c中(1)所示的10a界面跳转到图1c中(2)所示的10b界面。也就是说,手机A的授权用户A可以直接通过命令词的语音数据将手机A从待机状态唤醒到工作状态,并响应于该命令词对应的操作,直接打开信息这一应用程序。
[0120] 为了使得本申请提供的技术方案更加清楚、易于理解,下面结合图2和图3对电子设备的硬件结构和软件结构进行介绍。
[0121] 参见图2,电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器
170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器
192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
[0122] 示例性的,在一些实现方式中,传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等,此处不再一一例举,本申请对此不作限制。
[0123] 此外,需要说明的是,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural‑network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0124] 可理解的,控制器可以是电子设备100的神经中枢和指挥中心。在实际应用中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0125] 此外,还需要说明的是,处理器110中还可以设置存储器,用于存储指令和数据。在一些实现方式中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0126] 示例性的,在一些实现方式中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
[0127] 继续参见图2,示例性的,充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实现方式中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实现方式中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
[0128] 继续参见图2,示例性的,电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实现方式中,电源管理模块141也可以设置于处理器110中。在另一些实现方式中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
[0129] 继续参见图2,示例性的,电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0130] 需要说明的是,天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实现方式中,天线可以和调谐开关结合使用。
[0131] 继续参见图2,示例性的,移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实现方式中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。
在一些实现方式中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0132] 此外,需要说明的是,调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实现方式中,调制解调处理器可以是独立的器件。在另一些实现方式中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
[0133] 继续参见图2,示例性的,无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0134] 此外,还需要说明的是,电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0135] 继续参见图2,示例性的,显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light‑emitting diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实现方式中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
[0136] 此外,还需要说明的是,电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
[0137] 此外,还需要说明的是,ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实现方式中,ISP可以设置在摄像头193中。
[0138] 此外,还需要说明的是,摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal‑oxide‑semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实现方式中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
[0139] 此外,还需要说明的是,数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0140] 此外,还需要说明的是,视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
[0141] 继续参见图2,示例性的,外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0142] 继续参见图2,示例性的,内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0143] 具体到本申请实施例提供的技术方案中,电子设备的授权用户预先注册的系统默认唤醒词的声纹模版,以及开启本申请提供的语音控制方法中支持的唤醒词/命令词自动切换功能后,在用户无感知的情况下,自动将切换为唤醒词的命令词对应的声纹模版,以及进行声纹验证时所使用的声纹模型、声纹阈值等都可以存储在内部存储器121中,从而便于快速读取。
[0144] 此外,还需要说明的是,电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0145] 具体到本申请实施例提供的技术方案中,注册唤醒词,以及进行语音唤醒时,均需要借助麦克风170C实现对用户的声音的拾入,进而得到可供处理的语音数据。
[0146] 此外,需要说明的是,如果在实际应用中,用户在注册唤醒词、进行语音唤醒时,电子设备连接了耳机,如通过耳机接口170插入了有线耳机,或者通过无需通信模块160连接了蓝牙耳机,则可以通过耳机的麦克风拾取用户的声音。
[0147] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0148] 此外,还需要说明的是,音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实现方式中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
[0149] 继续参见图2,示例性的,按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
[0150] 继续参见图2,示例性的,马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
[0151] 继续参见图2,示例性的,指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0152] 关于电子设备100的硬件结构就介绍到此,应当理解的是,图2所示电子设备100仅是一个范例,在具体实现中,电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
[0153] 为了更好的理解图2所示电子设备100的软件结构,以下对电子设备100的软件结构进行说明。在对电子设备100的软件结构进行说明之前,首先对电子设备100的软件系统可以采用的架构进行说明。
[0154] 具体的,在实际应用中,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。
[0155] 此外,可理解的,目前主流的电子设备使用的软件系统包括但不限于Windows系统、Android系统和iOS系统。为了便于说明,本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
[0156] 此外,后续关于本申请实施例提供的语音控制方案,在具体实现中同样适用于其他系统。
[0157] 参见图3,为本申请实施例的电子设备100的软件结构框图。
[0158] 如图3所示,电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实现方式中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
[0159] 其中,应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括设置、地图、WLAN、蓝牙、相机、音乐、智慧助手等应用程序,此处不再一一列举,本申请对此不作限制。
[0160] 关于智慧助手应用程序,在本实施例中具体用于设置基于语音实现人机交互场景中各种功能数据的设置。例如,用户可以通过智慧助手应用,开启/关闭语音唤醒功能、注册系统默认唤醒词、修改系统默认的命令词、开启/关闭唤醒词/命令词自动切换功能、手动选择要切换为唤醒词的命令词、设置命令词是否可以作为唤醒词等操作。
[0161] 此外,可理解的,在一些实现方式中,智慧助手应用程序所实现的功能,也可以集成在设置应用程序中,本实施例对此不作限制。
[0162] 此外,可理解的,本实施例中所说的智慧助手,即上文所说基于语音识别技术实现的语音助手。在实际应用中,用于实现该功能的应用程序可以被称为语音助手、智慧助手等,也可以用其他名称表示,此处不作限制。
[0163] 其中,应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。在一些实现方式中,这些编程接口和编程框架可以描述为函数。如图3所示,应用程序框架层可以包括视图系统、内容提供器、语音识别模块、唤醒词/命令词检测模块、场景识别模块、语音数据融合模块、语音活动检测模块、声纹验证模块、唤醒词声纹模版管理模块等函数,此处不再一一列举,本申请对此不作限制。
[0164] 示例性的,在本实施例中,语音识别模块,用于识别麦克风采集到的语音数据中的关键词,即将数字语音转换为电子设备可以理解的文字。
[0165] 示例性的,在本实施例中,唤醒词/命令词检测模块,用于对语音识别模块识别出的文字信息,即关键词进行检测,确定当前环境下,麦克风采集到的语音数据中包括的关键词是否为已经添加到唤醒词列表中的唤醒词,或者是命令词列表中的命令词。
[0166] 需要说明的是,在本实施例中,当电子设备开启了唤醒词/命令词自动切换功能后,命令词列表中的任一命令词,或者指定的命令词既可以作为唤醒词将电子设备从待机状态唤醒,也可以作为命令词控制电子设备作出相应响应,如打开某一应用程序。
[0167] 基于此,唤醒词/命令词检测模块在对语音识别模块识别出的关键词进行检测时,可以先检测该关键词是否为命令词列表中记录的命令词。
[0168] 相应地,如果不是,则可以进一步判断该关键词是否为唤醒词列表中记录的唤醒词。
[0169] 相应地,如果不是,则对该语音数据不作后续处理,电子设备继续保持当前状态,如待机状态;反之,如果是,则可以进一步检测电子设备是否开启了唤醒词/命令词自动切换功能。
[0170] 相应地,如果电子设备开启了唤醒词/命令词自动切换功能,则可以进一步检测该命令词是否被指定为可以作为唤醒词。
[0171] 相应地,如果是,则可以通知场景识别模块对该语音数据进行场景识别处理;反之,则可以根据电子设备当前的状态确定是否响应,如在电子设备当前处于待机状态时,对该语音数据不作后续处理,电子设备继续保持待机状态;反之,如果经唤醒词/命令词检测模块检测,确定语音数据中识别出的关键词仅仅是命令词,并且电子设备当前已经被唤醒处于工作状态,则电子设备可以直接响应于该命令词对应的操作,如打开某一应用程序。
[0172] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。在实际应用中,唤醒词/命令词检测模块也可以先执行检测语音识别模块识别出的关键词是否为唤醒词,再执行检测是否为命令词的操作,本实施例对此不作限制。
[0173] 示例性的,在本实施例中,场景识别模块,用于对被确定为唤醒词(可能是系统默认唤醒词,也可能是被作为唤醒词使用的命令词)的语音数据中的音频特征进行处理,进而确定该语音数据对应的场景,如是办公室、家等室内场景,还是广场、公园、街道等室外场景。
[0174] 示例性的,在本实施例中,语音数据融合模块,用于在语音数据来自多个麦克风对应的通道时,将多通道的语音数据进行融合,即将多通道的语音数据融合为一个通道的语音数据。
[0175] 可理解的,对于室外场景,通常情况下麦克风采集到的语音数据,不仅会包括说话人的声音,还可能包括周围环境中的声音,如汽笛声。因此在本实施中,通过设置语音活动检测模块对语音数据进行处理,能够从语音数据中识别和消除长时间的静音期,以达到在不降低业务质量的情况下,降低对资源的占用。
[0176] 可理解的,在本实施例中,语音活动检测模块例如可以是基于语音活动检测技术(Voice Activity Detection,VAD)实现的。
[0177] 此外,需要说明的是,在实际应用中,可以根据业务需要设置语音数据是否需要经过场景识别模块进行场景识别。
[0178] 相应地,如果不需要进行场景识别模块进行场景识别,则在确定命令词被设定为唤醒词时,可以直接由声纹验证模块对上述语音数据进行声纹验证,即跳过语音数据融合模块、语音活动检测模块的处理流程。这样,可以减少语音唤醒处理流程,从而降低设备功耗。
[0179] 示例性的,在另一些实现方式中,也可以不考虑场景识别,即无论当前场景是室内场景,还是室外场景,经唤醒词/命令词检测模块检测,确定语音数据中识别出的关键词既可以作为唤醒词将电子设备从待机状态唤醒,也可以作为命令词控制电子设备作出相应响应时,将该语音数据经语音数据融合模块和语音活动检测模块进行处理,然后再将处理后的语音数据输入至声纹验证模块进行声纹验证。这样,可以有效减少语音数据中的干扰信息,进而提高验证结果的精准度。
[0180] 示例性的,在本实施例中,声纹验证模块,用于将被确定为是唤醒词(可能是系统默认唤醒词,也可能是被作为唤醒词使用的命令词)的语音数据的声纹特征与上述所说的存储在内部存储器中的声纹模版进行特征比对,进而得到该唤醒词对应的语音数据与声纹模版的匹配分数。接着,通过将得到的匹配分数与当前设定的声纹阈值进行比对,便可以确定本次验证结果是否成功。
[0181] 可理解的,在本实施例中,声纹阈值指的是当声纹模型确定的分数大于某一个值时,声纹验证模块确定当前声纹验证成功(验证结果成功);否则,确定当前声纹验证失败,该门限值就是声纹阈值。
[0182] 相应地,在当前声纹验证成功时,电子设备可以响应于该语音数据对应的操作,如将电子设备唤醒,同时打开对应的应用程序;反之,则可以响应,或者提示用户使用系统默认词进行身份验证后唤醒电子设备,在执行语音数据对应的操作。
[0183] 示例性的,在本实施例中,唤醒词声纹模版管理模块,用于在声纹验证模块确定当前声纹验证成功,且该语音数据中的关键词实质是被作为唤醒词使用的命令词时,可以通过判断该语音数据是否满足添加到唤醒词声纹模版库的条件,如果满足则将该语音数据添加到唤醒词声纹模版库中;反之,则对该语音数据不作处理,即不保存。
[0184] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0185] 此外,可以理解的,上述各功能模块的划分,仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。在实际应用中,上述功能也可以集成在一个功能模块中实现,本实施例对此不作限制。
[0186] 此外,在实际应用中,上述个功能模块也可以表示为服务、框架,如语音识别模块可以表示为语音识别服务、语音识别框架等,本实施例对此不作限制。
[0187] 此外,还需要说明的是,上述位于应用程序框架层中的视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0188] 此外,还需要说明的是,上述位于应用程序框架层中的内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等,此处不再一一列举,本申请对此不作限制。
[0189] Android Runtime包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。
[0190] 核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0191] 应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0192] 系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维(3D)图形处理库(例如:OpenGL ES),二维(2D)图形引擎(例如:SGL)等。
[0193] 表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
[0194] 媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
[0195] 三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0196] 可理解的,上述所说的2D图形引擎是2D绘图的绘图引擎。
[0197] 此外,可理解的,Android系统中的内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,麦克风驱动,传感器驱动等。示例性的,麦克风驱动可用于将麦克风拾取的用户的语音数据传输给语音识别模块,以使语音识别模块根据上述所说的注册唤醒词阶段和语音唤醒阶段,作出不同的处理。
[0198] 关于电子设备100的软件结构就介绍到此,可以理解的是,图3示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
[0199] 通过上述对基于语音识别功能实现的场景的描述,以及上述电子设备中应用程序框架层中设置的实现本申请提供的语音控制方案的功能模块的描述可知,本申请提供的语音控制方案,在用户开启语音唤醒功能时,至少需要完成系统默认唤醒词的注册,这样至少有一个声纹模版可以用作声纹验证。为了便于说明,以下将本申请提供的语音控制方案划分为注册唤醒词阶段和唤醒词验证阶段。
[0200] 关于注册唤醒词阶段,在本实施例中,还涉及唤醒词/命令词自动切换功能开启后,在用户无感知的情况下,自动将命令词列表中的命令词切换为唤醒词,或者根据用户设置切换为唤醒词的操作流程。
[0201] 在本实施例中,注册唤醒词需要借助电子设备的麦克风实现对用户的声音的拾入,进而得到可供处理的语音数据。
[0202] 此外,需要说明的是,如果在实际应用中,用户在注册唤醒词时,电子设备连接了耳机,如通过耳机接口插入了有线耳机,或者通过无需通信模块连接了蓝牙耳机,则可以通过耳机的麦克风拾取用户的声音。
[0203] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0204] 此外,通过上文描述可知,应用程序层可以安装专门用于设置基于语音实现人机交互场景中各种功能数据的智慧助手应用程序,也可以将智慧助手程序所实现的功能集成到设置应用程序中。为了便于描述,本实施例以将智慧助手程序所实现的功能集成到设置应用程序中为例,结合图4至图7对通过设置应用程序开启语音唤醒功能,并注册唤醒词的场景进行说明。
[0205] 参见图4中(1)所示的界面10a,示例性的,电子设备,如手机当前的界面10a中可以包括一个或多个控件。控件包括但不限于:网络控件、电量控件、应用图标控件等。
[0206] 继续参见图4中(1)所示的界面10a,示例性的,应用图标控件包括但不限于:时钟应用图标控件、日历应用图标控件、图库应用图标控件、备忘录应用图标控件、文件管理应用图标控件、电子邮件应用图标控件、音乐应用图标控件、计算器应用图标控件、视频应用图标控件、录音机应用图标控件、天气应用图标控件、浏览器应用图标控件、设置应用图标控件10a‑1等,此处不再一一列举,本申请对此不作限制。
[0207] 继续参见图4中(1)所示的界面10a,示例性的,当用户点击了控件10a‑1后,手机响应于用户的操作,启动图4中(2)所示的界面10c。
[0208] 参见图4中(2)所示的界面10c,示例性的,界面10c中可以包括一个或多个控件。控件包括但不限于:用于退出界面10c的控件10c‑1,用于设置手机的声音和振动模式的控件、用于设置通知的控件、用于设置语音唤醒功能的控件10c‑2、用于查看手机安装应用的控件、用于查看手机电池信息的控件、用于查看手机当前存储空间的控件、用于查看手机的安全信息的控件等,此处不再一一列举,本申请对此不作限制。
[0209] 继续参见图4中(2)所示的界面10c,示例性的,当用户点击了控件10c‑2后,手机响应于用户的操作,启动图5中(1)所示的界面10d。
[0210] 参见图5中(1)所示的界面10d,示例性的,界面10d中可以包括一个或多个控件。控件包括但不限于:用于退出界面10d的控件10d‑1,用于开启或关闭语音唤醒功能的控件10d‑2。
[0211] 示例性的,在本实施例中,以图5中(1)所示的界面10d中控件10d‑2的状态表示语音唤醒功能未开启,即语音唤醒功能处于关闭状态;以图5中(2)所示的界面10d中控件10d‑2的状态表示语音唤醒功能开启,即语音唤醒功能处于开启状态。
[0212] 继续参见图5中(1)所示的界面10d,示例性的,当用户点击了控件10d‑2后,手机响应于用户的操作,控件10d‑2从图5中(1)所示的状态切换为图5中(2)所示的状态。
[0213] 参见图5中(2)所示的界面10d,示例性的,在控件10d‑2从图5中(1)所示的状态切换为图5中(2)所示的状态后,界面10d中还会显示用于开启或关闭唤醒词/命令词自动切换功能的控件10d‑3,用于进入唤醒词管理界面的控件10d‑4,用于进入命令词管理界面的控件10d‑5。
[0214] 继续参见图5中(2)所示的界面10d,示例性的,当用户点击控件10d‑4后,手机响应于用户的操作,从图5中(1)所示的界面10d跳转到图6中(1)所示的界面10e。
[0215] 参见图6中(1)所示的界面10e,示例性的,界面10e中可以包括一个或多个控件。控件包括但不限于:显示已注册成功的唤醒词的控件,用于退出界面10e的控件10e‑1,用于注册唤醒词的控件10e‑2。
[0216] 可理解的,如果用户之前未注册过系统默认唤醒词,在界面10e中可以显示提示用户注册系统默认唤醒词的信息,如图6中(1)所示的“请点击控件10e‑2注册系统默认唤醒词“你好YOYO””。
[0217] 继续参见图6中(1)所示的界面10e,示例性的,当用户点击了控件10e‑2后,手机响应于用户的操作,从图6中(1)所示的界面10e跳转到图6中(2)所示的界面10f。
[0218] 参见图6中(2)所示的界面10f,示例性的,界面10f中可以包括一个或多个控件。控件包括但不限于:用于取消录制的内容,并退出界面10f的控件10f‑1;用于保存录制的内容,并退出界面10f的控件10f‑2;用于触发录制唤醒词的控件10f‑3;用于显示录制的语音数据时长的控件10f‑4。
[0219] 参见图6中(2)所示的界面10f和图7中(1)所示的界面10f,示例性的,当用户按下控件10f‑3时,手机响应于用户的操作控件10f‑4会开始记时。在用户长按控件10f‑3的期间,说出唤醒词“你好YOYO”时,手机的麦克风或连接的耳机的麦克风会拾取用户所说的唤醒词的语音数据。当用户松开对控件10f‑3的按压时,手机响应于用户的操作,控件10f‑4停止记时,显示对控件10f‑3的按压持续时长,如图7中(1)所示的界面10f中控件10f‑4中显示的“00:02:37”,表明录制的语音数据时长为2.37s。
[0220] 继续参见图7中(1)所示的界面10f,当用户点击了控件10f‑1时,手机响应于用户的操作,对本次录制的语音数据不作处理,退回到图6中(1)所示的界面10e,这种情况下界面10e中不显示唤醒词,依旧显示提示用户注册唤醒词的提示信息。
[0221] 继续参见图7中(1)所示的界面10f,当用户点击了控件10f‑2时,手机响应于用户的操作,对本次录制的语音数据进行保存,退回到图7中(2)所示的界面10e,这种情况下界面10e中用户注册的系统默认唤醒词,如“你好YOYO”。
[0222] 此外,需要说明的是,在本实施例中,由于开启唤醒词/命令词自动切换功能后,可以将命令词列表中的任意一个或多个,或指定的一个或多个作为唤醒词,因此为了区分哪些唤醒词是用户注册的系统默认唤醒词,哪些是由命令词自动切换为的唤醒词,可以界面10e中显示的唤醒词后添加系统默认标识或自定义标识。
[0223] 可理解的,在本实施例中,系统默认标识用于标识系统默认唤醒词,如上文所说的“你好YOYO”;自定义标识用于标识由命令词切换为的唤醒词,如“打开信息”、“打开图库”等,或者用户根据自己的喜欢注册的其他唤醒词,如“芝麻开门”。
[0224] 此外,还需要说明的是,在另一些实现方式中,系统默认唤醒词可以是在电子设备首次被激活时提示用户注册完成的,这样当用户开启语音唤醒功能时就可以不执行上述系统唤醒词的注册操作。
[0225] 此外,还需要说明的是,在另一些实现方式中,还可以设置单子设备在首次激活注册系统默认唤醒词后,自动开启语音唤醒功能,这样用户无需在通过上述操作开启语音唤醒功能,直接就可以使用。
[0226] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0227] 示例性的,在一些实现方式中,用户可以通过长按某一个显示已注册成功的唤醒词的控件,实现对该唤醒词的删除。
[0228] 示例性的,在另一些实现方式中,用户可以通过向左或向右滑动某一个显示已注册成功的唤醒词的控件,实现对该唤醒词的删除。
[0229] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0230] 由此,完成了语音唤醒功能的开启,以及系统默认唤醒词的注册。
[0231] 关于上述所说的命令词,在一些实现方式中也可以称为指令词,这些命令词无关声纹识别,即不需要进行声纹验证,因此在语音识别的场景中,命令词时系统自动生成的,无需用户进行注册,故而也不存在对应的语音数据/声纹模版。在实际应用中,命令词的生成例如是由系统根据当前已安装的应用程序,或支持的功能根据预设的控制词实现的。
[0232] 可理解的,这些控制词,例如可以是“打开”、“启动”、“播放”等动作指令的词汇。本实施例以“打开”为例,结合图4中(1)所示的界面10a中已安装的应用程序,系统自动生成命令词,例如包括:打开时钟、打开日历、打开图库、打开备份录、打开文件管理、打开电子邮件、打开音乐、打开计算器、打开视频、打开录音机、打开天气、打开浏览器、打开设置、打开相机、打开通讯录、打开电话、打开信息等,此处不再一一列举,本实施例对此不作限制。
[0233] 基于上述系统生成的命令词,当用户点击图5中(2)所示的界面10d中的控件10d‑5后,手机响应于用户的操作,从图5中(2)所示的界面10d中的控件10d‑5后,手机响应于用户的操作,从图5中(2)所示的界面10d跳转到图8中(1)所示的界面10g。
[0234] 参见图8中(1)所示的界面10g,示例性的,界面10g中可以包括一个或多个控件。控件包括但不限于:用于退出界面10g的控件10g‑1,用于显示上述罗列的命令词的命令词列表10g‑2。
[0235] 继续参见图8中(1)所示的界面10g,示例性的,命令词列表10g‑2中包括一个或多个控件。控件包括但不限于:对应于每一个命令词的控件10g‑21,以及滑动命令词列表中显示的命令词的控件10g‑22。
[0236] 可理解的,当用户滑动控件10g‑22后,命令词列表中显示的命令词会上下滑动,从而显示未显示在当前列表中的命令词。
[0237] 继续参见图8中(1)所示的界面10g,示例性的,当用户点击了命令词列表中任一命令词对应的控件10g‑21,比如“打开图库”这一命令词对应的控件10g‑21后,手机响应于用户的操作,会从图8中(1)所示的界面10g跳转到图8中(2)所示的界面10h。
[0238] 参见图8中(2)所示的界面10h,示例性的,界面10h中可以包括一个或多个控件。控件包括但不限于:退出界面10h的控件10‑1,用于对当前选中的命令词进行编辑的控件10h‑2,用于设置当前选中的命令词的属性的控件10h‑3和控件10h‑4。
[0239] 继续参见图8中(2)所示的界面10h,示例性的,在本实施例中,当控件控件10h‑3被选中时,即处于当前的状态时,表明“打开图库”这一命令词被用户设置为仅作为命令词,即即便用户通过操作图5中(2)所示的界面10中的控件10d‑3开启了唤醒词/命令词自动切换功能,但“打开图库”这一命令词依旧只能作为命令词使用,不能用作唤醒词,即当麦克风采集到的语音数据中包括“打开图库”这一关键词时,如果手机当前处于待机状态,手机不会作出响应,依旧处于待机状态;如果手机当前处于工作状态,则打开手机中安装的图库这一应用程序。
[0240] 继续参见图8中(2)所示的界面10h,示例性的,在本实施例中,当控件10h‑4被选中时,即处于控件10h‑3当前的状态时,表明“打开图库”这一命令词被用户设置为可以根据实际需求进行唤醒词和命令词的自动切换。
[0241] 应当理解的是,在实际应用中,控件10h‑3和控件10h‑4在同一时刻,只能有一个处于被选中的状态。
[0242] 此外,还应当理解的是,在实际应用中,可以根据需求设置控件10h‑4处于选中状态时,唤醒词/命令词自动切换功能处于开启状态才生效,也可以设置10h‑4处于选中状态时,无论唤醒词/命令词自动切换功能是否处于开启状态均生效。
[0243] 此外,还应当理解的是,在实际应用中,也可以不提供用于设置当前选中的命令词的属性的控件10h‑3和控件10h‑4。对于这种情况,当唤醒词/命令词自动切换功能处于开启状态时,在一种可行的实现方式中,可以设置所有的命令词都能够被切换为唤醒词,即在手机处于待机状态时,用户说出图8中(1)所示的界面10g中显示的任一命令词时,均进行声纹验证,在验证通过时才作出对应的响应,从而保证用户信息的安全性。
[0244] 此外,在另一种可行的实现方式中,可以根据这些命令词对应的应用程序的属性,确定涉及用户隐私的能够被切换为唤醒词,即在手机处于待机状态时,用户说出图8中(1)所示的界面10g中涉及隐私的应用程序对应的命令词时,才进行声纹验证,在验证通过时才作出对应的响应,从而既保证了用户信息的安全性,又无需对所有命令词都进行声纹验证,进而降低了对设备资源的占用和设备功耗。
[0245] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0246] 继续参见图8中(2)所示的界面10h,示例性的,当用户点击了控件10h‑2后,手机响应于用户的操作,可以在界面10h上弹出图9中(1)所示的用于编辑命令词的窗口10h‑5。
[0247] 参见图9中(1)所示的窗口10h‑5,示例性的,窗口10h‑5中可以包括一个或多个控件。控件包括但不限于:用于取消修改的命令词,并关闭窗口10h‑5的控件10h‑51;用于保存修改后的命令词,并关闭窗口10h‑5的控件10h‑52;用于显示修改前的命令词的控件10h‑53;用于编辑并显示修改后的命令词的控件10h‑54。
[0248] 继续参见图9中(1)所示的窗口10h‑5,示例性的,当用户通过控件10h‑54将系统默认的命令词,如“打开图库”修改为“图库图库”,并点击控件10h‑52后,手机响应于用户的操作,对控件10h‑54中的“图库图库”进行保存,退回到图9中(2)所示的界面10h,此时界面10h中显示的“打开图库”就会更新为“图库图库”。
[0249] 相应地,如果在图9中(2)所示的界面10h中,用户点击了控件10h‑1就会退出界面10h,回到界面10g,此时界面10g中原本显示的“打开图库”这一命令词同样会更新为“图库图库”(图中为示出)。
[0250] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0251] 关于对系统自动生成的命令词的修改,以及在命令词对应的界面设置是否支持唤醒词/命令词自动切换的属性的操作就介绍到此,以下对通过开启唤醒词/命令词自动切换功能后,通过唤醒词/命令词自动切换设置界面统一对当支持的命令词进行属性设置的实现方式进行说明。
[0252] 示例性的,在本实施例中,以图5中(1)所示的界面10d中控件10d‑3的状态表示唤醒词/命令词自动切换功能未开启,即唤醒词/命令词自动切换功能处于关闭状态;以图10中(1)所示的界面10d中控件10d‑3的状态表示唤醒词/命令词自动切换功能功能开启,即唤醒词/命令词自动切换功能处于开启状态。
[0253] 继续参见图5中(1)所示的界面10d,示例性的,当用户点击控件10d‑3后,手机响应于用户的操作,控件10d‑3从图5中(1)所示的状态切换为图10中(1)所示的状态,同时在界面10d中显示唤醒词/命令词自动切换设置入口对应的控件10d‑6。
[0254] 参见图10中(1)所示的界面10d,示例性的,当用户点击控件10d‑6后,手机响应于用户的操作,从图10中(1)所示的界面10d跳转到图10中(2)所示的界面10i。
[0255] 参见图10中(2)所示的界面10i,示例性的,界面10i中可以包括一个或多个控件。控件包括但不限于:用于退出界面10i的控件10i‑1,用于用于显示上述罗列的命令词的命令词列表10i‑2。
[0256] 继续参见图10中(2)所示的界面10i,示例性的,命令词列表10i‑2中包括一个或多个控件。控件包括但不限于:对应于每一个命令词的控件10i‑21,以及滑动命令词列表中显示的命令词的控件10i‑22。
[0257] 可理解的,当用户滑动控件10i‑22后,命令词列表10i‑21中显示的命令词会上下滑动,从而显示未显示在当前列表中的命令词。
[0258] 示例性的,在一些实现方式中,用户可以通过点击想要设置为唤醒词的命令词对应的控件10i‑21,从而使得该命令词可以作为唤醒词使用。
[0259] 示例性的,在另一些实现方式中,界面10i中还可以显示用于选中全部命令词对应的控件10i‑21的控件,以及取消选中全部命令词对应的控件10i‑21的控件。这样,用户通过操作选中全部命令词对应的控件10i‑21的控件,就可以实现对所有命令词对应的10i‑21的控件的选中,从而使得所有的命令词都可以作为唤醒词使用,用户通过操作取消选中全部命令词对应的控件10i‑21的控件,就可以实现对所有已被选中的命令词对应的10i‑21的控件取消选择,大大方便了用户操作,进而提升了用户体验。
[0260] 关于开启语音唤醒功能时,对系统默认唤醒词的注册,以及对系统自动生成的命令词的编辑、唤醒词/命令词自动切换功能的相应设置就介绍到此。应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。在实际应用中,开启语音唤醒功能,以及语音唤醒功能涉及的上述功能的方式还可以通过各种手势动作、敲击操作,或者对机械按键的按压实现,本实施例对此不作限定。
[0261] 此外,还应当理解的是,在本实施例中,上述示出的各个界面图中的控件布局、样式仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0262] 由此,通过提供用户入口,供用户根据需求选择开启或关闭唤醒词/命令词自动切换功能,从而能够在开启该功能后,基于命令词实现声纹验证,进而唤醒处于待机状态的电子设备,并响应于该命令词对应的操作,无需用户额外使用唤醒词进行唤醒。
[0263] 为了更好的理解本实施例提供的语音控制方法,以用户按照上文注册了系统默认唤醒词,并开启了唤醒词/命令词自动切换功能为例,对电子设备(以手机为例)的麦克风或连接的耳机的麦克风采集到用户语音数据后,手机中各功能模块的交互处理逻辑进行具体说明。
[0264] 参见图11,本实施例提供的语音控制方法的流程,具体包括:
[0265] 硬件设备,如麦克风采集到语音数据时,将采集到的语音数据传输至内核层的麦克风驱动,即执行步骤S101。
[0266] 内核层中的麦克风驱动将麦克风采集的语音数据传输至应用程序框架层中的语音识别模块,即执行步骤S102。
[0267] 应用程序框架层中的语音识别模块对语音数据进行处理,识别出语音数据中包括的关键词,并将语音数据和识别出的关键词输出至唤醒词/命令词检测模块,即执行步骤S103。
[0268] 唤醒词/命令词检测模块确定手机当前开了唤醒词/命令词自动切换功能,对语音识别模块识别出的关键词进行检测,并在确定关键词为系统默认唤醒词,或者为可以作为唤醒词的命令词时,将该关键词对应的语音数据传输至场景识别模块,即执行步骤S104。
[0269] 可理解的,如果手机没有开启唤醒词/命令词自动切换功能,在确定关键词为系统默认唤醒词时,就可以执行步骤S 104,即将该关键词对应的语音数据传输至场景识别模块;反之,如果确定关键词不是系统默认唤醒,则直接不进行后续处理流程,手机不做出响应,继续保持待机状态。
[0270] 场景识别模块对被确定为唤醒词(可能是系统默认唤醒词,也可能是被作为唤醒词使用的命令词)的语音数据中的音频特征进行处理,进而确定该语音数据对应的场景。
[0271] 可理解的,由于室内场景,如办公室、家等通常较为安静,即不存在其他干扰声音,或干扰声音较少,因此在确定该语音数据对应的场景为室内场景时,可以直接将该语音数据输出至声纹验证模块进行声纹验证,即执行步骤S105,从而加快语音处理速度,并降低对设备资源的占用和设备功耗。
[0272] 相应地,由于室外场景,如广场、公园、街道等较为嘈杂,即存在很多干扰声音,因此在确定该语音数据对应的场景为室外场景时,可以先将该语音数据输出至语音数据融合模块进行处理,即执行步骤S106,从而滤除部分干扰声音,避免这些干扰声音对声纹验证结果的英雄,即保证后续声纹验证结果的准确性。
[0273] 语音数据融合模块将特定角度范围内,多个麦克风设备采集到的语音数据,即多通道的语音数据进行融合,从的得到一路需要处理的语音数据,并将处理得到的语音数据传输至语音活动检测模块进行处理,即执行步骤S107。
[0274] 语音活动检测模块对语音数据融合模块处理后的语音数据进行VAD处理,从而得到语音识别模块识别出的关键词对应的语音片段,并将该语音片段作为待处理的语音数据传输至声纹验证模块进行声纹验证,即执行步骤S108,进一步保证验证结果的准确性。
[0275] 声纹验证模块将需要验证的语音数据的声纹特征与唤醒词声纹模版库中存储的声纹特征进行匹配,进而确定二者的匹配度,可以用一个分数来表示。
[0276] 相应地,在确定二者的匹配度后,进一步将得到分数与预设的声纹阈值,即判定验证成功的门限值进行比较,若大于或等于(可以设置仅大于)该声纹阈值,则确定验证成功,此时手机响应于该语音数据被唤醒,并执行该语音数据中对应的其他操作,如打开某一应用程序;反之,如果确定验证不成功,则手机可以不作任何响应,或者在界面提示用户说出系统默认唤醒词进行声纹验证。
[0277] 进一步地,在验证成功后,声纹验证模块可以将匹配出的分数,以及该语音数据传输至唤醒词声纹模版管理模块进行处理,即执行步骤S109。
[0278] 唤醒词声纹模版管理模块通过确定该语音数据的信噪比,进而确定该语音数据的质量是否满足要求,在质量满足要求,且分数也满足要求时,将该语音数据对应的声纹添加到唤醒词声纹模版库中。
[0279] 此外,需要说明的是,如果在验证识别后,用户根据提示重新说出系统默认的唤醒词,声纹验证模块验证成功后,声纹验证模块可以向唤醒词声纹模版管理模块传输上次的语音数据,以使唤醒词声纹模版管理模块将该语音数据对应的声纹添加到唤醒词声纹模版库中。
[0280] 由此,通过根据验证结果自动更新唤醒词声纹模版库中的唤醒词声纹模版,从而无需用户按照系统默认唤醒词的注册方式注册自定义唤醒词,即在用户无感知的情况下,就可以实现自定义唤醒词的注册(具体为将命令词切换为唤醒词,并得到对应的声纹模板),简化了用户操作,提升了用户体验。
[0281] 为了更好的理解图11中各功能模块在实现本实施例中的语音控制方法时进行的处理,以下结合图12对本实施例提供的语音控制方法的具体实现流程进行说明。
[0282] 参见图12,本实施例提供的语音控制方法,具体包括:
[0283] S201,麦克风采集到语音数据。
[0284] 示例性的,本实施例中的麦克风可以是电子设备自带的麦克风,也可以是外接设备,如耳机的麦克风。
[0285] 相应地,在麦克风是自带的时候,采集到的语音数据经麦克风驱动传输给语音识别模块;在麦克风是外接设备时,如有线耳机的麦克风时,采集的语音数据经耳机驱动传输给语音识别模块。
[0286] 示例性的,在另一些实现方式中,在麦克风是蓝牙耳机的麦克风时,采集的语音数据经蓝牙驱动传输给语音识别模块。
[0287] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。为了便于说明,本实施例中以电子设备自带的麦克风为例,其传输流程如图11所示。
[0288] S202,识别语音数据中的关键词。
[0289] 示例性的,在一些实现方式中,语音识别模块确定语音数据识别语音数据中的关键词的方式,例如可以基于语音识别技术,识别语音数据对应的文本,即执行语音转文本操作,进而将转换得到的文字作为关键词。
[0290] S203,关键词是否为命令词。
[0291] 通过上文的描述可知,不论是系统自动生成的命令词,还是用户修改后的命令词,都会显示在命令词列表中,如图8中(1)所示的10g‑2所示。而这些显示在命令词列表中的命令词,例如会被存储在电子设备的内部存储器中,因此通过遍历内部存储器中指定路径下存储的命令词,并将遍历到的命令词与该关键词进行对比,如果遍历到的命令词与该关键词相同,则确定该关键词为命令词;反之则继续进行遍历,直到将存储的所有命令词遍历完,此时如果依旧没有与关键词相同的命令词,则确定该关键词不是命令词。
[0292] 继续参见图12,示例性的,在关键词被确定为不是命令词时,可以执行步骤S204;在关键词被确定为命令词时,在电子设备开启唤醒词/命令词自动切换功能的情况下,需要执行步骤S206。即在电子设备开启唤醒词/命令词自动切换功能的情况下,无论关键词是否为命令词,都需要进一步判断该关键词是否为唤醒词,但是经步骤S204和步骤S206判断后的处理逻辑不相同。
[0293] S204,是否为唤醒词。
[0294] 可理解的,判断关键词是否为唤醒词的操作与步骤S203中判断其是否为命令词的方式大致相同,即均是通过遍历内部存储其中指定路径下存储的唤醒词,并将遍历到的唤醒词与该关键词进行对比,如果遍历到的唤醒词与该关键词相同,则确定该关键词为唤醒词;反之则继续进行遍历,直到将存储的所有唤醒词遍历完,此时如果依旧没有与关键词相同的唤醒词,则确定该关键词对应的语音数据不是用于对电子设备进行语音操控的,这种情况下,电子设备无论处于哪种状态,都不作响应,即执行步骤S205。
[0295] 此外,应当理解的是,由于唤醒词涉及用户身份的验证,因此在关键词为唤醒词时,需要对该语音数据中的声纹特征进行声纹验证,即执行步骤S210。
[0296] S205,电子设备不响应。
[0297] 可理解的,本实施例中所说的电子设备不响应是指电子设备继续保持当前的状态。例如,在待机状态下,依旧保持待机状态;还例如,在已被唤醒播放音视频时,依旧播放音视频。
[0298] S206,关键词是否为唤醒词。
[0299] 在该步骤中,由于关键词已经被确定为是命令词,因此在电子设备开启了唤醒词/命令词自动切换功能的情况下,存在该命令词被设置为可以切换为唤醒词的情况,故而步骤S206中判断是否为唤醒词的操作,具体是判断该命令词是否满足作为唤醒词的条件。
[0300] 示例性的,在一些实现方式中,可以判断该命令词是否为图10中(2)所示的10i‑2中被设置为切换为唤醒词的命令词,如果是则确定该命令词满足作为唤醒词的条件,即该命令词也是唤醒词;反之,则不是。
[0301] 示例性的,在另一些实现方式中,可以通过获取该命令词的属性信息,如果该命令词的属性信息被设置为仅作为命令词,则确定该命令词不能作为唤醒词;如果该命令词的属性信息被设置为命令词/唤醒词自动切换,则确定该命令词能作为唤醒词,关于命令词属性信息的设置,例如可以通过图9中(2)所示的控件10h‑3和控件10h‑4实现。
[0302] 示例性的,在另一些实现方式中,可以判断该命令词要打开的应用是否属于被设置为命令词/唤醒词自动切换的场景中包括的应用,如果是则确定该命令词满足作为唤醒词的条件,即该命令词也是唤醒词;反之,则不是。
[0303] 可理解的,关于被设置为命令词/唤醒词自动切换的场景可以由系统根据应用属性进行自动划分,也可以由用户根据个人喜好进行划分,例如可以将金融类应用的使用场景设置为命令词/唤醒词自动切换的场景,将涉及用户个人信息的应用,如目前出入公共场所需要使用的健康码、行程码等应用的场景为命令词/唤醒词自动切换的场景,此处不再一一例举,本实施例对此不作限制。
[0304] 对于这种根据场景确定的方式,在进行判断时例如可以是通过获取该关键词想要打开对应用的属性,在确定该应用为金融类应用,而金融类应用的使用场景设置为命令词/唤醒词自动切换的场景时,就可以确定该关键词为唤醒词。
[0305] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0306] 相应地,通过上述任意方式的判断,在确定该关键词不能作为唤醒词时,执行步骤S207的操作,在确定该关键词能作为唤醒词时,执行步骤S210。
[0307] S207,是否已唤醒。
[0308] 可理解的,在命令词只作为命令词,即不能切换为唤醒词的情况下,指作为控制指令控制电子设备作出对应的响应,如打开某一应用程序,不涉及身份的验证。因此需要保证电子设备已被唤醒后,才能作出响应。
[0309] 相应地,如果电子设备已经被唤醒,则执行执行步骤S208;否则执行步骤S209。
[0310] S208,响应于命令词对应的操作。
[0311] 例如,在命令词为“打开浏览器”时,无论电子设备当前显示的是什么界面,如播放音视频的界面,电子设备均会响应于该命令词,打开电子设备中安装的浏览器,使当前界面切换为浏览器界面。
[0312] 此外,需要说明的是,在实际应用中,用户可能在电子设备中安装了多个浏览器,这种情况下,可以选择打开系统默认的浏览器(系统自带的),也可以根据用户对已安装浏览器的历史使用记录,确定用户喜欢使用的浏览器,进而打开用户喜欢使用的浏览器。
[0313] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0314] S209,电子设备不响应。
[0315] 可理解的,在本实施例中所说的电子设备不响应是指电子设备继续保持待机状态。
[0316] 此外,需要说明的是,结合上文的描述,以及图11所示,本实施例中步骤S203至步骤S209的从中均可以由唤醒词/命令词检测模块实现。
[0317] 此外,还需要说明的是,在实际应用中,如果通过检测,确定没有当前接收到的语音数据中的关键词既不是该电子设备中注册的系统默认唤醒词,也不是被设置为支持切换为唤醒词的关键词时,还可以进一步获取与该电子设备(为了便于区分称为:第一电子设备)关联的其他电子设备(为了便于区分称为:第二电子设备)中是否存在与当前获取到的语音数据对应的关键词匹配的唤醒词(在第二电子设备中预先注册的系统默认唤醒词,或者被设置为支持切换为唤醒词的关键词)。
[0318] 相应地,如果存在,则可以从关联的第二电子设备中唤醒词声纹模版库中获取存储的声纹模板的语音数据,以便第一电子设备的声纹验证模块能够根据第二电子设备中的声纹模版的语音数据与第一电子设备接收到的语音数据进行声纹验证操作。
[0319] 可理解的,上述所说的第二电子设备,例如为智能手机、平板电脑、可穿戴设备等,此处不再一一例举,本实施例对此不作限制。
[0320] S210,室内or室外。
[0321] 关于场景识别模块对确定为唤醒词(可能是系统默认唤醒词,也可能是被用作唤醒词的命令词)的语音数据进行的场景识别操作,实现逻辑如图13所示。
[0322] 参见图13,示例性的,场景识别模块在进行场景识别时,会基于预设的音频特征提取维度,对麦克风采集的语音数据,即被确定为唤醒词的关键词对应的语音数据进行音频特征提取。
[0323] 继续参见图13,示例性的,在实际应用中,音频特征提取维度包括但不限于能量特征维度、时域特征维度、频域特征维度、乐理特征维度、感知特征维度等。关于这些维度的音频特征的具体提取方式,可以参见对应的协议标准,本实施例对此不再赘述。
[0324] 此外,可以理解的,在实际应用中,音频特征的提取操作,也可以基于其他音频特征提取维度进行提取,本实施例对此不作限制。
[0325] 继续参见图13,经音频特征提取操作得到的音频特征会输入电子设备当前采用的场景识别模型中,由场景识别模型进行处理,进而根据音频特征确定该语音数据对应的场景。
[0326] 继续参见图13,示例性的,在实际应用中,场景识别模型例如可以是深度卷积神经网络模型,该模型的构建可以参见卷积神经网络模型和卷积循环神经网络模型,对收集的各种场景的语音数据的音频特征训练获得,例如基于卷积神经网络模型作为前端进行特征学习,然后基于卷积循环神经网络模型作为时间维度上的特征建模。具体的实现方式可以参见基于深度学习的声学场景分类方法(Acoustic Sence Classifier,ASC)的实现细节,此处不再赘述。
[0327] 继续参见图13,示例性的,在本实施例中,经场景识别模型确定的场景可以分为室内场景和室外场景两大类。其中,室内场景包括但不限于干扰因素少,环境较为安静的办公室、家等,室外场景包括但不限于广场、公园、街道等。
[0328] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0329] 通过上述处理逻辑,在确定该语音数据对应的场景为室外场景时,执行步骤S211;在确定该语音数据对应的场景为室内场景时,执行步骤S213。
[0330] S211,将多路麦克风采集的语音数据进行融合,得到单通道语音数据。
[0331] 关于语音数据融合模块将多路麦克风采集的语音数据进行融合,得到单通道语音数据的处理逻辑,例如是通过固定波束方向,进行固定角度范围的声音增强,如图14所示,可以将手机底部麦克风、手机顶部麦克风的左右60°范围作为固定波束方向,即只提取该固定波束方向范围内的语音数据。
[0332] 此外,需要说明的是,上述所说的将多路麦克风采集的语音数据进行融合,得到单通道语音数据,例如可以先判断需要处理的语音数据时单路的还是多路的,如果是单路的,则在提取该固定波束方向范围内的语音数据后,不做其他处理,直接将提取的语音数据传输至语音活动检测模块执行步骤S212即可。
[0333] 反之,如果该语音数据包括多路的语音数据,一种实现方式是计算每个通道的语音能量,然后选取语音能量最大的一路通道对应的语音数据作为需要传输至语音活动检测模块的语音数据;另一种实现方式是通过将每一个通道的语音数据进行降噪处理,然后基于多通道维纳滤波的方法,将多路麦克风采集的语音数据进行融合,进而得到单通道语音数据,并将该得到语音数据传输至语音活动检测模块执行步骤S212。
[0334] 可理解的,关于第一方式中,选取语音能量最大的一路通道对应的语音数据作为需要传输至语音活动检测模块的语音数据,主要是基于语音能量越大,表明说话者约靠近提供该路语音数据的麦克风,而在室外场景中,用户使用语音唤醒功能时,通常是手持电子设备,将其放在靠近嘴巴的位置说出含有唤醒词或命令词的语音数据。因此,靠近用户嘴巴位置的麦克风对应的通道传输的语音数据更能精准的体现出用户的声纹特征。
[0335] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0336] S212,对单通道语音数据进行语音活动检测,得到待验证的语音数据。
[0337] 即,由语音活动检测模块,对增强后的语音数据进行VAD检测,将关键词所在的语音片段送入声纹验证模块,由声纹验证模块利用预设的声纹模型进行声纹验证。
[0338] S213,对语音数据进行声纹验证。
[0339] 关于声纹验证模块对语音数据执行的声纹验证操作,实现逻辑如图15所示。
[0340] 参见图15,示例性的,声纹验证模块在进行声纹验证时,需要将唤醒词声纹模版库中每一声纹模板对应的语音数据(图15中的注册语音1)与本次获取到的语音数据(步骤S201中的,或者经步骤S212处理后的)(图15中的待识别语音2)进行声学特征的提取,进而得到注册语音1对应的声学特征向量1和待识别语音2对应的声学特征向量2。
[0341] 继续参见图15,示例性的,在实际应用中,对注册语音1和待识别语音2进行的声学特征提取操作,例如可以是基于频域特征算法(FBank)、梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)、感觉加权线性预测算法(Perceptual linear predictive,PLP)中的任意一种或几种实现的。
[0342] 此外,可理解的,在实际应用中,声学特征的提取操作,也可以基于其他声学特征提取算法,本实施例对此不作限制。
[0343] 继续参见图15,经声学特征提取操作得到的声学特征向量1和声学特征向量2会输入电子设备当前采用的声纹模型中,由声纹模型进行处理,进而根据声学特征向量1得到说出注册语音1的说话人表征向量1,根据声学特征向量2得到说出待识别语音2的说话人表征向量2。
[0344] 通过上文描述可知,对声学特征向量进行处理的声纹模型可能是神经网络模型,如DNN、TDNN;也可能是高斯混合模型,还可以是残差网络模型等,本实施例对此不作限定。
[0345] 继续参见图15,由于说话人表征向量能够标识具体的说话人身份,因此通过将得到的说话人表征向量1和说话人表征向量2进行判断处理,具体为判断两个说话人表征向量的匹配度,进而得到对应的分数。
[0346] 继续参见图15,示例性的,在实际应用中,对说话人表征向量1和说话人表征向量2进行判断处理时,可以基于余弦函数(Cosin)、概率线性判别分析算法(Probabilistic Linear Discriminant Analysis,PLDA)实现的。
[0347] 继续参见图15,示例性的,在采用余弦函数或者概率线性判别分析算法确定说话人表征向量1与说话人表征向量2的对应的分数后,可以将该分数与预设的声纹阈值进行比较。
[0348] 相应地,如果大于或等于声纹阈值,则确定验证成功,反之则验证失败。
[0349] 由此,按照上述声纹验证的处理逻辑,将待识别语音2与唤醒词声纹模版库中每一条语音数据(注册语音1)进行声纹验证,直的验证结果为验证成功,则可以停止进行对剩余注册语音的遍历,否则继续遍历按照上述处理逻辑进行声纹验证,直到唤醒词声纹模版库中的所有注册语音1都与待识别语音2不匹配,即验证结果为失败,则确定该关键词对应的语音数据无法唤醒电子设备,并控制电子设备打开对应的应用。
[0350] 此外,在另一些实现方式中,也可以综合唤醒词声纹模版库中所有声纹模板对应的注册语音1与待识别语音2的匹配值,确定一个最终的分数。关于这种方式的实现,例如可以按照信噪比(signal‑to‑noise ratio,SNR)和音素重叠个数来确定每个声纹模板对应的权重。
[0351] 具体的,在实际应用中,可以先确定待识别语音2的信号能和噪声能量,进而得到待识别语音的信噪比。
[0352] 示例性的,关于信号能量和噪声能量的确定,例如可以是先基于VAD技术确定语音数据中静音部分的能量,然后再确定声音部分的能量,接着以帧为单位,将声音部分每一帧对应的能量减去静音部分每一帧对应的能量,就可以得到该帧的信号能量。通过这种方式,对每一帧处理完成后,将每一帧的信号能量进行汇总,将每一帧的噪声能量进行汇总,就可以得到待识别语音2对应的信号能量和噪声能量。
[0353] 此外,需要说明的是,为了便于声纹验证的快速进行,唤醒词声纹模版库中每一声纹模版对应的语音数据,在进行存储时可以根据上述方式确定各自对应的信噪比,并建立与各自对应的信噪比的对应关系,将信噪比一起进行存储。这样,在进行声纹验证时,就无需再计算每一个声纹模板对应的语音数据的信噪比,直接根据对应关系查找使用即可。
[0354] 接着,在得到待识别语音2对应的信噪比SNRR和每一个注册语音1,如注册语音1A对应的信噪比SNR1A,注册语音1B对应的信噪比SNR1B和注册语音1C对应的信噪比SNR1C后,可以分别计算SNRR与每一个注册语音1对应的信噪比的差值,并计算出信噪比差值总和。
[0355] 关于SNRR与SNR1A的差值,例如可以表示为SRN_D1A=|SRNR‑SNR1A|;关于SNRR与SNR1B的差值,例如可以表示为SRN_D1B=|SRNR‑SNR1B|;关于SNRR与SNR1C的差值,例如可以表示为SRN_D1C=|SRNR‑SNR1C|。相应地,信噪比差值总和可以表示为SUM_SRN=SRN_D1A+SRN_D1B+SRN_D1C。
[0356] 此外,关于待识别语音2和每一个注册语音1的音素可以基于自动语音识别技术(Automatic Speech Recognition,ASR)进行音素标注。
[0357] 同理,为了便于声纹验证的快速进行,唤醒词声纹模版库中每一声纹模版对应的语音数据,在进行存储时可以基于ASR技术预先对每一声纹模版对应的语音数据的文本进行音素标准,并建立每一声纹模版对应的语音数据与标注音素后的文本的对应关系,将标准了音素的文本一起进行存储。这样,在进行声纹验证时,就无需再对每一个声纹模板对应的语音数据的文本进行音素标准,直接根据对应的关系查找使用即可。
[0358] 仍以注册语音1包括注册语音1A、注册语音1B和注册语音1C为例。如果待识别语音2对应的标注了音素的文本与注册语音A1对应的标注了音素的文本进行匹配后,确定音素重叠(相同位置音素相同)的个数为Pnum1A;待识别语音2对应的标注了音素的文本与注册语音B1对应的标注了音素的文本进行匹配后,确定音素重叠的个数为Pnum1B;待识别语音2对应的标注了音素的文本与注册语音C1对应的标注了音素的文本进行匹配后,确定音素重叠的个数为Pnum1C。那么,音素重叠个数总和可以表示为SUM_Pnum=Pnum1A+Pnum1B+Pnum1C。
[0359] 仍以注册语音1包括注册语音1A、注册语音1B和注册语音1C为例,基于上述确定的信噪比差值总和、重叠个数总和,以及每一个注册语音1与待识别语音2的信噪比差值和重叠个数,注册语音1A对应的权重可以表示为:
[0360] W1A=α(SUM_SRN‑SRN_D1A)/SUM_SRN+β(SUM_Pnum‑Pnum1A)/SUM_Pnum;
[0361] 注册语音1B对应的权重可以表示为:
[0362] W1B=α(SUM_SRN‑SRN_D1B)/SUM_SRN+β(SUM_Pnum‑Pnum1B)/SUM_Pnum;
[0363] 注册语音1C对应的权重可以表示为:
[0364] W1C=α(SUM_SRN‑SRN_D1C)/SUM_SRN+β(SUM_Pnum‑Pnum1C)/SUM_Pnum。
[0365] 其中,α、β为根据业务需求设置的常数系数,在本实施例中遵循α+β=1。基于此,在一些关注信噪比的场景下,α的取值可以大于β的取值,例如α=0.7,β=0.3;在另一些关注重叠音素个数的场景下,β的取值可以大于α的取值,例如β=0.7,α=0.3;在另一些既关注信噪比,又关注重叠音素个数的场景下,α的取值和β的取值可以相同,例如均为0.5。
[0366] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0367] 基于上述举例可知,根据信噪比和音素重叠个数确定每个声纹模板的权重的方式可以基于如下公式:
[0368] Wi=α(SUM_SRN‑SRN_Di)/SUM_SRN+β(SUM_Pnum‑Pnumi)/SUM_Pnum
[0369] 其中,i指示唤醒词声纹模版库中当前遍历到的声纹模板。根据该公式可知,信噪比越接近,权重值越大,音素重叠个数越多,权重值也越大。
[0370] 仍以注册语音1包括注册语音1A、注册语音1B和注册语音1C为例,在基于上述方式确定每一个注册语音1对应的权重后,如果待识别语音2与注册语音1A的匹配度为F_1A,与注册语音1B的匹配度为F_1B,与注册语音1C的匹配度为F_1C。则根据上述确定的权重,最终得到的该待识别语音2对应的声纹验证分数为F=W1A*F_1A+W1B*F_1B+W1C*F_1C。
[0371] 也就是说,最终与声纹阈值进行比较的分数是F。
[0372] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0373] 此外,还需要说明的是,在一些实现方式中,也可以不进行场景识别,直接按照室内场景的处理流程进行处理,即在确定关键词为唤醒词时,直接由声纹验证模块进行声纹验证。
[0374] 示例性的,在另一些实现方式中,也可以直接按照室外场景的处理流程进行处理,即在确定关键词为唤醒词时,依次由语音数据融合模块和语音活动检测模块进行处理,然后再由声纹验证模块进行声纹验证。
[0375] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0376] S214,成功or失败。
[0377] 具体的,经声纹模型按照上述验证方式确定该语音数据的分数后,可以将该分数与声纹模型对应的声纹阈值进行比较。
[0378] 相应地,若小于该声纹阈值,则确定验证识别,执行步骤S215;若大于或等于该声纹阈值,则确定验证成功,执行步骤S216。
[0379] S215,不响应or提示用户使用系统默认唤醒词。
[0380] 可理解的,本实施例中所说的电子设备不响应是指电子设备继续保持当前的状态。例如,在待机状态下,依旧保持待机状态;还例如,在已被唤醒播放音视频时,依旧播放音视频。
[0381] 此外,可以理解的,由于该语音数据通过前述步骤的处理,已经确定其是一个唤醒词,因此在验证失败后,为了使得电子设备能够被唤醒,可以在电子设备的锁屏界面弹窗提示用户使用系统默认唤醒词进行唤醒,或者以语音方式提示用户使用系统默认唤醒词进行唤醒。这样就可以避免用户重复使用验证识别的关键词的语音数据唤醒电子设备,而电子设备没有响应。
[0382] 此外,需要说明的是,对于初始情况下,唤醒词声纹模版库中可能存在的声纹模版较少,如仅包括系统默认唤醒词的,因此这种情况下,设置的初始声纹阈值可以相对较低,这样能够尽可能保证被确定为唤醒词,但未添加到唤醒词声纹模版库的语音数据经声纹验证处理后,能够验证成功,进而唤醒电子设备。
[0383] 进一步地,随着唤醒词声纹模版库中声纹模版的增加,声纹阈值也可以随着动态变化。例如可以选择声纹模版对应的一个最低分数确定声纹阈值,也可以将每一个声纹模板添加到唤醒词声纹模版库中时对应的分数按照权重进行融合确定一个声纹阈值。
[0384] 此外,在另一些实现方式中,还可以考虑唤醒词声纹模版中各语音数据包含的音素的音调,从而进一步保证验证结果的准确度。
[0385] 此外,在另一些实现方式中,在引入音调这一判断依据后,为了避免同一用户在不同时间、不同身体状态下发音的变化,导致同一唤醒词的语音数据出现验证失败的情况,可以动态更新唤醒词声纹模版库中的声纹模板的语音数据的音调信息。
[0386] 示例性的,在一些实现方式中,更新的方式例如可以通过获取用户语音通话的权限,根据采集的语音通话过程中设定时间内用户说出的内容的音调信息确定该用户近期的发音变化,进而对唤醒词声纹模版库中的声纹模板的语音数据的音调信进行更新。
[0387] 示例性的,在另一些实现方式中,更新的方式例如可以通过记录麦克风采集的语音数据中的关键词多次为唤醒词,但因为音调信息验证失败后,用户通过其他方式解锁电子设备后,根据该语音数据中的音调信息对声纹模板的语音数据的音调信进行更新。
[0388] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0389] S216,语音数据是否满足添加到唤醒词声纹模版库的条件。
[0390] 可理解的,信噪比反映的是信号能量和噪声能量的比值(信号能量为分子,噪声能量为分母),因此信噪比的取值越大,表面信号能量的取值越大,也即该语音数据的质量越好;反之,语音数据的质量越差。因此在一些实现方式中,当声纹模型计算出的分数大于或等于声纹阈值时,唤醒词声纹模版管理模块可以通过该语音数据的信噪比确定是否将其添加到唤醒词声纹模版库。也就是说,如果该语音数据的信噪比大于设定的阈值,比如0.7则可以确定该语音数据满足添加到唤醒词声纹模版库的条件;反之,不满足。
[0391] 此外,需要说明的,为了使得添加到唤醒词声纹模版库中的语音数据后续进行声纹验证时,能够计算出相对较高的分数,在另一些实现方式中,既可以根据信噪比考虑语音数据的质量,也可以根据本次声纹模型确定的分数进行综合考虑,即在信噪比大于设定的阈值,并且本次得出的验证分数也等于声纹阈值,或略大于声纹阈值时,为了避免因此环境、发音变化等音素,导致下次使用唤醒词声纹模板库中的声纹模板计算出的分数低于声纹阈值,进而导致验证失败。可以将此类语音数据添加到唤醒词声纹模版库中,这样下次使用同样的语音数据对电子设备进行语音唤醒时,就可以根据新添加的该条语音数据进行匹配。由于两条语音数据对应的关键词一样,因此匹配度较高,得出的分数就会较高。这样就可以保证下次也可以验证成功。
[0392] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0393] 此外,需要说明的是,在一些实现方式中,可以设定唤醒词声纹模版库的存储空间,进而限定能够存储的声纹模板的数量,这样既可以兼顾语音唤醒的精准度,又能避免对电子设备资源的过多占用。
[0394] 示例性的,当唤醒词声纹模版库的存储空间不足时,在一些实现方式中,可以遵循先进先出的原则,即将最先存储到唤醒词声纹模版库的声纹模板删除,从而保证后续可以添加新的语音数据。
[0395] 示例性的,在另一些实现方式中,可以最近最久未使用原则,将近期没有使用的声纹目标的语音数据从唤醒词声纹模版库的声纹模板删除,从而保证后续可以添加新的语音数据。
[0396] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0397] 为了更好的理解向唤醒词声纹模版库中添加语音数据后,电子设备的唤醒词列表的变化,以下结合图16进行说明。
[0398] 示例性的,如果上述步骤S201中采集的语音数据对应的关键词为“打开信息”,参见图8中(1)所示可知,“打开信息”是一个命令词,经过上述步骤202至步骤S216的处理后,确“打开信息”命令词被设置为支持自动切换为唤醒词,并且“打开信息”这一命令词对应的语音数据满足添加到唤醒词声纹模版库的条件,电子设备则会将“打开信息”对应的语音数据添加到唤醒词声纹模版库,同时根据更新后的唤醒词声纹模版库,更新唤醒词列表,即图7中(2)所示的界面10e会变更为图16所示的界面10e,具体为增加了“打开信息”这一唤醒词。
[0399] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0400] S217,不添加。
[0401] 示例性的,在一些实现方式中,在确定用于唤醒电子设备,并控制电子设备作出其他响应,如打开某一应用的语音数据不满足添加到唤醒词声纹模版库的条件时,可以将该语音数据直接丢弃,从而减少对设备空间的占用。
[0402] 应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
[0403] 由此,本实施例提供的语音控制方法,使电子设备的授权用户能够在电子设备处于待机状态时,使用未进行语音注册的命令词直接唤醒电子设备,并控制电子设备作出该命令词对应的响应操作,从而简化用户操作,使得电子设备能够更好的适用于各种语音识别场景。
[0404] 此外,可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0405] 此外,需要说明的是,在实际的应用场景中由电子设备实现的上述各实施例提供的语音控制方法,也可以由电子设备中包括的一种芯片系统来执行,其中,该芯片系统可以包括处理器。该芯片系统可以与存储器耦合,使得该芯片系统运行时调用该存储器中存储的计算机程序,实现上述电子设备执行的步骤。其中,该芯片系统中的处理器可以是应用处理器也可以是非应用处理器的处理器。
[0406] 另外,本申请实施例还提供一种计算机可读存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的语音控制方法。
[0407] 另外,本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得电子设备执行上述相关步骤,以实现上述实施例中的语音控制方法。
[0408] 另外,本申请的实施例还提供一种芯片(也可以是组件或模块),该芯片可包括一个或多个处理电路和一个或多个收发管脚;其中,所述收发管脚和所述处理电路通过内部连接通路互相通信,所述处理电路执行上述相关方法步骤实现上述实施例中的语音控制方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
[0409] 此外,通过上述描述可知,本申请实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
[0410] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。