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

文档序号:18035752发布日期:2019-06-28 23:17阅读:171来源:国知局
一种语音唤醒方法、装置、设备及介质与流程

本申请涉及语音交互领域,尤其涉及一种语音唤醒方法、装置、设备及计算机可读存储介质。



背景技术:

随着语音识别技术的发展,语音交互逐渐成为一种较为流行的控制方式。为了实现语音交互,首先需要通过语音将设备由休眠状态激活至运行状态,也即需要进行语音唤醒。作为语音交互的入口,语音唤醒的唤醒效果直接影响着语音交互体验。

语音唤醒具体是指在连续语音流中检测出目标关键词,以唤醒设备或唤醒应用。目前,业界主要采用基于波束形成(beamforming)的麦克风阵列语音增强方法实现语音唤醒,具体地,利用多个麦克风接收到的语音信号里包含的空间相位信息对输入语音进行空间滤波,形成具有指向性的空间波束,然后对指定方向上的语音信号进行增强,能取得比单麦克风更好的增强效果。其中,基于波束形成的麦克风阵列语音增强方法包括固定波束形成法和自适应波束形成法。

固定波束形成法一般应用于声源位置未知的场景中,通过选取几个方位的波束进行降噪,再将降噪后的语音信号传输给唤醒引擎,由唤醒引擎进行筛选以确定声源位置,然后根据唤醒引擎的筛选结果锁定波束方向进行降噪,然后再对降噪后的语音信号进行关键词检测,从而实现语音唤醒。然而,该方法不能对波束外的语音信号进行强降噪,限制了唤醒前的降噪性能,并且在低信噪比的情况下,通过唤醒引擎筛选出的方位信息存在定位错误的风险,当声源定位错误时,可以导致降噪算法失效,出现无法唤醒的情况。

自适应波束形成法一般应用于声源位置已知的场景,通过摄像头、红外传感器等进行辅助定位以提前获取声源位置信息,将声源位置信息发送给前端降噪算法锁定波束,增强降噪算法性能,提升语音唤醒效果。然而,该方法需要额外的硬件辅助定位,其定位精度要求较高,当定位精度无法满足要求时,还可能导致降噪性能下降,并且该方案实现复杂,很多场景难以完全覆盖,可靠性差。



技术实现要素:

有鉴于此,本申请提供了一种语音唤醒方法、装置、设备、介质以及计算机程序产品,用于在不增加额外成本的情况下提高降噪性能,获得较好的语音唤醒效果。

本申请实施例第一方面提供了一种语音唤醒方法,该方法应用于电子设备,该电子设备通过麦克风阵列采集语音信号,利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号,每个波束形成降噪算法对应n个区域中的一个区域,不同波束形成降噪算法对应的区域不同,因而电子设备能够基于各个波束形成降噪算法对应的区域的波束对语音信号进行降噪处理,其降噪性能不会受到限制。

并且,n个区域的并集覆盖所述麦克风阵列的信号采集区域,其中,n为大于1的正整数,如此,声源必然位于n个区域中的至少一个区域,上述n个波束形成降噪算法中至少有一个对声源定位是准确的,通过上述n个波束形成降噪算法降噪处理得到的n个降噪信号中至少有一个具有较好的信噪比,电子设备利用唤醒引擎,根据所述n个降噪信号中的至少一个降噪信号,如上述信噪比较好的降噪信号进行语音唤醒,具有较高的唤醒成功率,提升了语音唤醒效果。该方法通过n个对应不同区域的波束形成降噪算法对语音信号进行降噪处理实现语音唤醒,无需额外的硬件设备辅助定位,一方面节省了成本,另一方面实现简单,易于推广。

在本申请实施例第一方面的第一种实现方式中,电子设备的硬件处理能力越高,如处理器的计算能力越高,其能够处理的语音信号越多,在此种情形下,可以将麦克风阵列的信号采集区域按照更细粒度进行划分,将每个波束形成降噪算法的波束收窄以获得更好的降噪性能。基于此,电子设备可以根据自身硬件处理能力确定所述n的取值,然后按照所述n的取值划分所述信号采集区域得到所述n个区域。

在本申请实施例第一方面的第二种实现方式中,电子设备可以基于当前所处业务场景对应的业务场景类型设置n的取值,按照n的取值划分信号采集区域得到n个区域,从而实现在满足当前业务场景需求的前提下,获得较好的降噪性能,提高语音唤醒性能。例如,在低功耗业务场景中,将n设置为较小值,以减少计算量,从而减少功耗。

进一步地,在本申请实施例第一方面的第三种实现方式中,电子设备根据当前业务场景类型查找参数配置文件,确定与所述当前业务场景类型匹配的n的取值。如此,电子设备的业务场景发生变化时,能够自动切换n的取值,从而使得电子设备在任意业务场景下均具有良好的唤醒性能。

在本申请实施例第一方面的第四种实现方式中,n个区域可以是按照角度对所述信号采集区域均匀划分得到的,如此,每个区域对应的波束角度是一致的,在利用n个波束形成降噪算法对语音信号进行降噪处理时,具有较好的均衡性。

在本申请实施例第一方面的第五种实现方式中,电子设备可以仅使用一个麦克风阵列采集语音信号,如此,电子设备在利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号时,可以先复制所述语音信号得到n路所述语音信号,然后再利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

在此种情形下,电子设备通过对语音信号进行复制处理得到n路语音信号,如此,可以大幅减少使用的麦克风阵列数量,从而降低硬件成本。

在本申请实施例第一方面的第六种实现方式中,电子设备可以使用多个麦克风阵列采集语音信号,其中,每个麦克风阵列可以采集一路语音信号,多个麦克风阵列可以采集多路语音信号,当多路语音信号为n路语音信号时,电子设备在利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号时,可以直接利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。也即n个波束形成降噪算法与n路语音信号一一对应。

在此种情形下,电子设备通过自身的麦克风阵列采集得到n路语音信号,无需对上述语音信号进行额外的复制处理,一方面降低了对电子设备硬件处理能力的要求,另一方面节约了复制语音信号所需时间,提高了唤醒速率。

在本申请实施例第一方面的第七种实现方式中,电子设备具体可以利用自适应波束形成降噪算法对语音信号进行降噪处理,由于每个波束形成降噪算法对应n个区域中的一个区域,相当于每个波束形成降噪算法确定了一个声源位置,如此,利用自适应波束形成降噪算法可以对指定方向上的语音信号进行增强,获得较好的降噪效果,提升唤醒性能。

在本申请实施例第一方面的第八种实现方式中,电子设备可以设置唤醒策略进行语音唤醒,以降低误唤醒率。具体地,电子设备可以利用唤醒引擎,根据唤醒算法确定所述n个降噪信号中每一个降噪信号与唤醒词的相似度;基于此,电子设备可以根据所述相似度进行语音唤醒。

进一步地,在本申请实施例第一方面的第九种实现方式中,电子设备可以根据实际需求设置相应的唤醒策略,一种唤醒策略为,若所述n个降噪信号中每一个降噪信号与所述唤醒词的相似度的平均值大于预设阈值,则进行语音唤醒;另一种唤醒策略为,若所述n个降噪信号中有预设数量个降噪信号与所述唤醒词的相似度大于预设阈值,则进行语音唤醒。当然,在实际应用时,也可以将上述唤醒策略结合使用,具体地,若所述n个降噪信号中每一个降噪信号与所述唤醒词的相似度的平均值大于预设阈值,且所述n个降噪信号中有预设数量个降噪信号与所述唤醒词的相似度大于预设阈值,则进行语音唤醒。

本申请实施例第二方面提供了一种语音唤醒装置,所述装置包括:

采集模块,用于通过麦克风阵列采集语音信号;

降噪模块,用于利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号;每个波束形成降噪算法对应n个区域中的一个区域,且不同波束形成降噪算法对应的区域不同;所述n个区域的并集覆盖所述麦克风阵列的信号采集区域,所述n为大于1的正整数;

唤醒模块,用于利用唤醒引擎,根据所述n个降噪信号中的至少一个进行语音唤醒。

本申请实施例第三方面提供了一种电子设备,所述电子设备包括麦克风阵列、处理器和存储器:

所述麦克风阵列用于采集语音信号;

所述存储器用于存储程序代码;

所述处理器用于根据所述程序代码中的指令执行如下步骤:

利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号;每个波束形成降噪算法对应n个区域中的一个区域,且不同波束形成降噪算法对应的区域不同;所述n个区域的并集覆盖所述麦克风阵列的信号采集区域,所述n为大于1的正整数;

利用唤醒引擎,根据所述n个降噪信号的至少一个进行语音唤醒。

在本申请实施例第三方面的第一种实现方式中,所述处理器还用于执行如下步骤:

根据硬件处理能力确定所述n的取值;

按照所述n的取值划分所述信号采集区域得到所述n个区域。

在本申请实施例第三方面的第二种实现方式中,所述处理器还用于执行如下步骤:

根据当前业务场景类型确定所述n的取值;

按照所述n的取值划分所述信号采集区域得到所述n个区域。

在本申请实施例第三方面的第三种实现方式中,所述处理器还用于执行如下步骤:

根据当前业务场景类型查找参数配置文件,确定与所述当前业务场景类型匹配的n的取值。

在本申请实施例第三方面的第四种实现方式中,所述处理器还用于:

按照角度对所述信号采集区域均匀划分得到所述n个区域。

在本申请实施例第三方面的第五种实现方式中,所述麦克风阵列为单个;

则所述处理器在进行降噪处理得到n个降噪信号时,具体用于:

复制所述语音信号得到n路所述语音信号;

利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

在本申请实施例第三方面的第六种实现方式中,所述麦克风阵列为多个;每个麦克风阵列采集一路语音信号,所述多个麦克风阵列采集多路语音信号;

所述处理器具体用于:

所述多路语音信号为n路语音信号时,利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

在本申请实施例第三方面的第七种实现方式中,所述波束形成降噪算法包括自适应波束形成降噪算法。

在本申请实施例第三方面的第八种实现方式中,所述处理器在利用唤醒引擎,根据所述n个降噪信号的至少一个进行语音唤醒时,具体用于:

利用唤醒引擎确定所述n个降噪信号中每一个降噪信号与唤醒词的相似度;

根据所述相似度进行语音唤醒。

在本申请实施例第三方面的第九种实现方式中,所述处理器根据所述评分进行语音唤醒,具体包括:

若所述n个降噪信号中每一个降噪信号与所述唤醒词的相似度的平均值大于预设阈值,和/或,所述n个降噪信号中有预设数量个降噪信号与所述唤醒词的相似度大于预设阈值,则进行语音唤醒。

本申请实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行本申请实施例第一方面所述的语音唤醒方法。

本申请实施例第五方面提供了一种包含计算机可读指令的计算机程序产品,当该计算机可读指令在计算机上运行时,使得计算机执行本申请实施例第一方面所述的语音唤醒方法。

附图说明

图1为本申请实施例中一种语音唤醒方法的场景架构图;

图2为本申请实施例中一种语音唤醒方法的流程图;

图3a为本申请实施例中区域分布示例图;

图3b为本申请实施例中区域分布示例图;

图4为本申请实施例中一种语音唤醒方法的流程图;

图5为本申请实施例中一种语音唤醒方法的流程图;

图6为本申请实施例中一种语音唤醒方法的场景示意图;

图7为本申请实施例中一种语音唤醒装置的结构示意图;

图8为本申请实施例中一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

针对业界目前使用的固定波束形成法不能对波束外的语音信号进行强降噪,限制了唤醒前的降噪性能,并且在低信噪比的情况下,通过唤醒引擎筛选出的方位信息存在定位错误的风险,进而导致降噪算法失效,系统无法唤醒的技术问题,以及自适应波束形成法需要额外的硬件辅助定位,其定位精度要求较高,并且方案实现复杂,很多场景难以完全覆盖,导致可靠性较差的技术问题,本申请提出了一种通过多个波束形成降噪算法分别对语音信号进行降噪,以提升唤醒性能的语音唤醒方法。

具体地,麦克风阵列的信号采集区域可以划分成n份,形成n个区域,所述n个区域的并集覆盖所述麦克风阵列的信号采集区域,如此,声源必然位于所述n个区域中的至少一个区域,然后提供n个与所述区域呈一一对应关系的波束形成降噪算法,如此,接收到麦克风阵列采集的语音信号时,利用所述n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号,由于上述n个波束形成降噪算法中至少有一个对声源定位是准确的,通过上述n个波束形成降噪算法降噪处理得到的n个降噪信号中至少有一个具有较好的信噪比,因而能够利用唤醒引擎,根据所述n个降噪信号中的至少一个进行语音唤醒,其具有较高的唤醒成功率,提升了语音唤醒效果。

可以理解,本申请提供的语音唤醒方法可以应用于电子设备。该电子设备可以是任意具有语音交互功能的设备,包括但不限于具有语音交互功能的智能音箱、智能家电、智能手机、平板电脑、车载设备、可穿戴设备以及增强现实(augmentedreality,ar)/虚拟现实设备(virtualreality,vr)等等。本申请提供的语音唤醒方法具体可以以应用程序或软件的形式存储于电子设备,电子设备通过执行该应用程序或软件,实现本申请提供的语音唤醒方法。

为了使得本申请的技术方案更加清楚、易于理解,首先结合具体场景对本申请提供的语音唤醒方法的系统框架进行介绍。参见图1所示的语音唤醒方法的场景架构图,该场景中包括智能音箱10,用户发出语音,智能音箱10通过麦克风阵列采集语音信号,利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号,然后利用唤醒引擎,根据所述n个降噪信号中的至少一个进行语音唤醒,使得智能音箱10由休眠状态激活为运行状态。

需要说明的是,图1是以智能音箱进行示例性说明的,在本申请实施例其他可能的实现方式中,也可以是智能冰箱、智能电视等智能家电或者智能手机等电子设备实现本申请提供的语音唤醒方法。

接下来,从电子设备的角度,对本申请提供的语音唤醒方法进行详细介绍。参见图2所示的语音唤醒方法的流程图,该方法包括:

s201:通过麦克风阵列采集语音信号。

麦克风阵列具体是指多个麦克风的排列,其可以用于对声场的空间特性进行采样并处理。具体到本申请实施例,麦克风阵列可以是线性的,也可以是环形或球形,麦克风阵列的阵元数量,也即麦克风数量,可以根据实际需求而设置,作为本申请的一些具体示例,麦克风阵列可以为2麦阵列、4麦阵列、6麦阵列或者是8麦阵列。

麦克风阵列具有信号采集区域,该信号采集区域具体是指该麦克风阵列能够采集到语音信号的区域,例如,针对电视等电子设备,其麦克风阵列的信号采集区域可以是电视前方180°的空间区域,又例如针对音箱等设备,其麦克风阵列的信号采集区域包括环绕该麦克风阵列360°的空间区域。

麦克风阵列能够采集位于信号采集区域的声源发出的语音信号,该声源可以是用户,当然,在一些可能的实现方式中,该声源也可以是其他电子设备,例如,在智能家居系统中,智能电视可以发出开启音箱的语音指令,智能音箱的麦克风阵列可以采集智能电视发出的语音信号,并基于该语音信号进行语音识别,从而确定是否执行上述语音指令。在实际应用时,声源的数量可以是一个,也可以是多个,该麦克风阵列能够同时采集一个或多个声源发出的语音信号。

考虑到硬件成本问题,电子设备可以仅采用一个麦克风阵列采集语音信号,基于该语音信号进行降噪处理,实现语音唤醒。当然,电子设备也可以采用多个麦克风阵列采集语音信号,如此,电子设备可以基于多个麦克风阵列采集的多路语音信号,基于该多路语音信号进行降噪处理,以实现语音唤醒。

s202:利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号。

每个波束形成降噪算法对应n个区域中的一个区域,且不同波束形成降噪算法对应的区域不同;所述n个区域的并集覆盖所述麦克风阵列的信号采集区域,所述n为大于1的正整数。

其中,n个区域的并集覆盖所述麦克风阵列的信号采集区域包括两种情况,一种情况为各区域之间不存在交集,也即区域不存在重叠,另一种情况为区域之间存在交集,也即有区域存在重叠。需要说明的是,在区域数量相等的情况下,区域不重叠时,其对于信号采集区域的划分粒度更细,波束更窄,对声源定位相对更为精准。

为了便于理解,结合具体示例对n个区域的并集覆盖麦克风阵列的信号采集区域进行详细说明。图3a示出了不重叠情形下区域的一个示例,在该示例中,麦克风阵列的信号采集区域为180°的空间区域,n个区域包括信号采集区域中0°至60°、60°至120°以及120°至180°等三个角度范围对应的区域,如图3a中1、2、3所示;图3b示出了重叠情形下区域的一个示例,在该示例中,麦克风阵列的信号采集区域为180°的空间区域,n个区域包括信号采集区域中0°至70°、60°至130°以及110°至180°等三个角度范围对应的区域,如图3b中1、2、3所示。

波束形成降噪算法是基于波束形成原理实现降噪的,其中,波束形成原理具体为,选取一个适当的加权向量以补偿麦克风阵列中各个阵元的传播延时,从而使得在某一个期望的方向上阵列输出可以同向叠加,进而使得阵列在该方向上产生一个主瓣波束,并且可以在某个方向上对干扰进行一定的抑制,如此,当波束形成降噪算法对应于区域i,i为大于等于1,且小于等于n的正整数时,可以实现阵列输出在区域i对应的方向上同向叠加,在该方向上产生主瓣波束,并对该方向上的干扰噪声进行一致。

n个波束形成降噪算法分别对应信号采集区域中n个不同的区域,因此,电子设备在利用n个波束形成降噪算法对语音信号进行降噪处理时,相当于分别锁定n个区域的波束对语音信号进行降噪处理,换言之,电子设备分别假定声源在区域1、区域2……区域n对语音信号进行降噪处理,得到n个降噪信号。由于n个区域的并集覆盖信号采集区域,因此,声源必然位于上述n个区域中的至少一个区域,即上述假定至少有一个是正确的,在此种情形下,至少有一个降噪模块能够针对声源位置方向进行降噪,而不会将声源发出的声音当做噪声抑制,也不会因不明确声源位置使降噪性能受限。

由于每个波束形成降噪算法分别锁定了一个区域的波束,在此种情形下,电子设备可以利用自适应波束形成降噪算法,基于各算法各自对应的区域中的波束对语音信号进行降噪处理,通过对相应方向上的语音信号进行增强,可以获得较好的降噪效果,提升唤醒性能。

自适应波束形成降噪算法是在某种最优准则下通过自适应算法来实现权集寻优,其能够适应各种环境的变化,实时地将权集调整到最佳位置附近。其中,最优准则具体可以是最小军方误差(meansquareerror,mse)准则、最大信噪比(signalnoiseratio,snr)准则、最大似然比(likelihoodratio,lh)准则或者最小噪声方差(noisevariance,nv)准则等。

自适应算法主要分为闭环算法和开环算法,闭环算法包括但不限于最小均方(leastmeansquare,lms)算法、差分最陡下降(differencesteepestdescent,dsd)算法、加速梯度(accelerationgradient,ag)算法以及上述算法的变形算法,开环算法包括直接求逆法,如采样矩阵求逆(samplematrixinversion,smi)、直接矩阵求逆((directmatrixinversion,dmi)等等。

其中,闭环算法实现简单、性能可靠,而且不需数据存储;开环算法则具有较好的收敛速度和相消性能,可以根据实际需求选择相应的自适应算法实现权集寻优,从而实现语音降噪。

需要说明的是,当麦克风阵列为单个麦克风阵列时,电子设备先复制所述语音信号得到n路所述语音信号,然后利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

当麦克风阵列为n个麦克风阵列时,麦克风阵列采集的语音信号为n路语音信号,则电子设备利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

s203:利用唤醒引擎,根据所述n个降噪信号中的至少一个进行语音唤醒。

在本实施例中,唤醒引擎具体是指语音唤醒引擎,即通过语音方式实现唤醒设备或者唤醒应用的核心组件,其一般表现为软件形式,如语音交互软件的主程序等等。其中,唤醒引擎具体是通过唤醒算法确定输入该唤醒引擎的信号与唤醒词的相似度,根据所述相似度实现语音唤醒。

由于n个降噪信号中至少有一个信噪比较好的信号,电子设备能够利用唤醒引擎,根据所述n个降噪信号中的至少一个,如上述信噪比较好的信号,执行唤醒词检测操作,提高了唤醒词检出概率,当检测到唤醒词时,可以生成唤醒事件达到唤醒电子设备或者唤醒电子设备中的应用的目的,如此,该方法提高了唤醒成功率。

需要说明的是,电子设备在利用唤醒引擎,根据所述降噪信号中的至少一个进行语音唤醒时,可以利用n个唤醒引擎处理所述n个降噪信号,每个唤醒引擎处理一个降噪信号,并且每个唤醒引擎处理的降噪信号是不同的,如此,可以并行检测唤醒词,缩短检测时间,提高了唤醒速率。

当然,在资源有限的情况下,电子设备也可以仅通过一个唤醒引擎处理所述n个降噪信号实现语音唤醒。具体地,电子设备利用一个唤醒引擎对所述n个降噪信号进行串行处理,依次检测n个降噪信号中的唤醒词,并在检测到唤醒词时通过唤醒引擎生成相应的唤醒事件,实现语音唤醒。

为了便于理解,下面结合具体示例进行说明。

图4示出了采用一个麦克风阵列和一个唤醒引擎实现语音唤醒的方法流程图,如图4所示,麦克风阵列1采集语音信号,电子设备复制其麦克风阵列采集的语音信号得到n路语音信号,然后将n路语音信号以一一对应的方式分输入至n个降噪算法模块,每个降噪算法模块中存储有波束形成降噪算法,具体为波束形成降噪算法1、波束形成降噪算法2……波束形成降噪算法n,其中,波束形成降噪算法1锁定0到m1度位置的波束,波束形成降噪算法2锁定m1到m2度位置的波束……波束形成降噪算法n锁定m(n-1)到m(n)度位置的波束,上述n个降噪算法模块对语音信号进行降噪处理后得到n个降噪信号,然后向唤醒引擎1发送所述n个降噪信号,唤醒引擎1基于根据n个降噪信号进行语音唤醒。

图5示出了采用n个麦克风阵列和n个唤醒引擎实现语音唤醒的方法流程图,如图5所示,每个麦克风阵列采集得到一路语音信号,则n个麦克风阵列采集得到n路语音信号,具体为语音信号1、语音信号2……语音信号n,然后将语音信号以一一对应的关系分别输入至n个降噪算法模块,所述n个降噪算法模块参数配置与图4相同,降噪算法模块在利用波束形成降噪算法进行降噪处理的n个降噪信号后,再将降噪信号以一一对应的关系分别发送至唤醒引擎1、唤醒引擎2……唤醒引擎n,n个唤醒引擎根据各自对应的降噪信号检测唤醒词,若有一个唤醒引擎检测到唤醒词,则进行语音唤醒。

由上可知,本申请实施例提供了一种语音唤醒方法,在该方法中,通过麦克风阵列采集语音信号,利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法对应n个区域中的一个区域,不同波束形成降噪算法对应的区域不同,因而能够基于各个波束形成降噪算法对应的区域的波束对语音信号进行降噪处理,其降噪性能不会受到限制,能够最大限度发挥降噪算法的降噪性能。并且,电子设备能够对波束外的回声也进行消除,提升回声消除性能。

n个区域的并集覆盖所述麦克风阵列的信号采集区域,声源必然位于n个区域中的至少一个区域,具体地,声源可以位于n个区域中的一个区域,也可以位于多个区域,如相邻的两个区域,当然,声源为多个时,其所处的区域可以是多个相邻的区域,也可以是多个不相邻的区域,上述n个波束形成降噪算法中至少有一个对声源定位是准确的,通过上述n个波束形成降噪算法降噪处理得到的n个降噪信号中至少有一个具有较好的信噪比,电子设备能够利用唤醒引擎,根据所述n个降噪信中的至少一个进行语音唤醒,具有较高的唤醒成功率,提升了语音唤醒效果。

此外,在降噪前无需进行声源定位,不存在定位错误的风险,也无需增加辅助定位设备,一方面节省了成本开销,另一方面实现简单,易于推广。

可以理解的是,区域的大小直接影响着波束的宽窄,进而影响了波束形成降噪算法的降噪效果,为了获得良好的降噪效果,可以合理设置n的取值,使得波束形成降噪算法对应的区域大小能够满足对降噪性能的需求。

在一些可能的实现方式中,电子设备可以根据自身硬件处理能力确定所述n的取值,然后按照所述n的取值划分所述麦克风阵列的信号采集区域得到所述n个区域。在具体实现时,可以设置n的取值在一定范围内与硬件处理能力呈正比,n随着硬件处理能力的增大而增大,随着硬件处理能力的减小而减小。需要说明的是,在有些情况下,波束角度小于预设角度,如15°时,将导致电子设备将噪声也识别为声源发出的语音信号,进而影响降噪性能,基于此,可以设置n的取值不大于预设数值。

为了便于理解,下面结合具体示例进行说明。例如,智能音箱的硬件处理能力如计算能力较为有限,在此种情形下,可以将n的取值设置为较小的值,例如设置为3;智能手机的硬件处理能力随着芯片的更新换代不断增强,在此种情形下,可以将n的取值设置为较大的值,例如设置为10;需要说明的是,基于硬件配置不同,不同智能手机的硬件处理能力可以是不同的,针对低配置手机,可以将n设置为较小值,如设置为5,针对高配置手机,可以将n设置为较大值,如设置为10。

需要说明的是,n的取值越大,区域的数量越多,电子设备进行降噪处理的计算量越大,对电子设备的功耗要求越高。基于此,在一些可能的实现方式中,电子设备还可以基于当前业务场景类型确定n的取值,并基于n的取值划分信号采集区域,从而确定所述n个区域。

具体地,电子设备获取当前业务场景类型,当前业务场景类型表征电子设备在当前场景下提供业务的能力,作为本申请的一个示例,当前业务场景类型可以包括低功耗业务场景类型或标准功耗业务场景类型,若当前业务场景类型为低功耗业务场景类型,则表明电子设备剩余电量低,仅提供低功耗业务或基础业务,若当前业务场景类型为标准功耗业务场景类型,则表明电子设备剩余电量充足,可以提供的业务不受限制,其既可以提供低功耗业务,也可以提供高功耗业务,除了基础业务外,还可以提供增值业务,然后电子设备根据当前业务场景类型查找参数配置文件,确定与所述当前业务场景类型匹配的n的取值,再按照所述n的取值划分所述信号采集区域得到所述n个区域。

其中,参数配置文件中保存有业务场景类型与n之间的对应关系,该对应关系可以是根据经验值预先写入参数配置文件的,电子设备获取当前业务场景类型后,根据参数配置文件中保存的上述对应关系,确定n的取值。

仍以智能音箱为例,当其剩余电量为90%时,则表明剩余电量充足,当前业务场景类型为标准功耗业务场景,电子设备获取所述当前业务场景类型后,查找参数配置文件得到n的取值,在该示例中,n可以为5,则此时电子设备将信号采集区域划分为5份,形成5个区域,并根据5个区域对应的波束形成降噪算法对语音信号进行降噪处理,并由唤醒引擎根据处理后的降噪信号确定是否生成唤醒事件。

随着智能音箱的不断使用,剩余电量不断降低。当剩余电量为10%时,则当前业务场景类型为低功耗业务场景,电子设备仅提供低功耗业务,此时电子设备查找参数配置文件得到n的取值,在该示例中,n可以为3,如此,电子设备重新划分信号采集区域,即将信号采集区域划分为3份,形成3个区域,并根据3个区域对应的波束形成降噪算法对语音信号进行降噪处理,并利用唤醒引擎根据处理后的降噪信号确定是否生成唤醒事件,实现语音唤醒。

如此,电子设备的业务场景发生变化时,能够自动切换n的取值,从而使得电子设备在任意业务场景下均具有良好的唤醒性能。

在上述实施例中,所述n个区域可以是按照角度对所述信号采集区域均匀划分得到的,如此,每个区域对应的波束角度是一致的,在利用n个波束形成降噪算法对语音信号进行降噪处理时,具有较好的均衡性。当然,在本申请实施例其他可能的实现方式中,n个区域也可以是不均匀的,本实施例对此不作限定。

考虑到实际应用时,还可能存在误唤醒的情形,电子设备还可以设置一些唤醒策略,在满足该唤醒策略所规定的条件的情况下唤醒设备或者唤醒应用,从而降低误唤醒率。具体地,电子设备在对语音信号进行降噪处理得到n个降噪信号后,可以利用唤醒引擎确定所述n个降噪信号中每一个降噪信号与唤醒词的相似度,然后根据所述相似度进行语音唤醒。

在根据所述相似度进行语音唤醒时,本申请实施例提供了几种实现方式。一种实现方式为,若所述n个降噪信号中每一个降噪信号与所述唤醒词的相似度的平均值大于预设阈值,则进行语音唤醒;另一种实现方式为,若所述n个降噪信号中有预设数量个降噪信号与所述唤醒词的相似度大于预设阈值,则进行语音唤醒。当然,在实际应用时,也可以在两种条件均满足的情况下,即所述n个降噪信号中每一个降噪信号与所述唤醒词的相似度的平均值大于预设阈值,且所述n个降噪信号中有预设数量个降噪信号与所述唤醒词的相似度大于预设阈值的情况下,进行语音唤醒。

由于降噪信号与唤醒词的相似度能够表征语音信号中携带唤醒词的几率,当n个降噪信号中存在多个降噪信号与唤醒词的相似度较高,或者n个降噪信号相似度均值较高,则表明语音信号中有较大几率携带唤醒词,在此种情形下可以进行语音唤醒,反之,则不进行语音唤醒。如此,通过所述相似度进行语音唤醒可以减少误唤醒发生次数,降低误唤醒率。

为了便于理解本申请的技术方案,本申请还提供了一场景实施例对语音唤醒方法进行说明。

参见图6所示的语音唤醒方法的场景示意图,该方法应用于唤醒智能手机的场景中,智能手机600中包括麦克风阵列610,该麦克风阵列610具体是由4个麦克风形成的线性麦克风阵列,智能手机600处于息屏状态情况下,当用户说出“小e,您好”时,麦克风阵列610采集用户发出的语音信号,然后将该语音信号传输给智能手机600的处理器640,由处理器640对语音信号进行降噪处理,具体地,处理器640首先复制上述语音信号,得到4路语音信号,然后利用4个对应不同区域的波束形成降噪算法,对4路语音信号进行降噪处理,其中,一个波束形成降噪算法用于处理一路语音信号,不同波束形成降噪算法处理不同路的语音信号,如此,可以得到4个降噪信号,然后将4个降噪信号输入至智能手机600的唤醒引擎650中,唤醒引擎650根据唤醒算法识别出上述降噪信号中有3个降噪信号与唤醒词“小e,您好”的相似度达到90%,因而生成唤醒事件,并向智能手机600的应用层660上报唤醒事件,以唤醒智能手机600。

智能手机600可以通过home键指示灯620闪烁表征被唤醒。在被唤醒后,其麦克风阵列610继续采集语音信号,如用户说出“请拨打xxx电话”时,麦克风阵列610可以采集到与该内容对应的语音信号,该语音信号传输至处理器640后,处理器640可以识别语音信号,并根据识别结果调用对应的应用,例如调用通话应用拨打电话,如界面630所示,如此,即实现了语音交互。

以上对本申请中一种语音唤醒方法进行说明,以下对执行上述语音唤醒方法的装置进行描述。本申请实施例所提供的语音唤醒装置具体可以是任意具有语音交互功能的电子设备,包括智能家电、智能终端、车载终端、可穿戴设备以及ar/vr设备等等,其具有实现对应于上述图1至图6任意所对应的实施例中所提供的语音唤醒方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。一些实施方式中,如图7所示,所述语音唤醒装置700包括:

采集模块710,用于通过麦克风阵列采集语音信号;

降噪模块720,用于利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号;每个波束形成降噪算法对应n个区域中的一个区域,且不同波束形成降噪算法对应的区域不同;所述n个区域的并集覆盖所述麦克风阵列的信号采集区域,所述n为大于1的正整数;

唤醒模块730,用于利用唤醒引擎,根据所述n个降噪信号中的至少一个进行语音唤醒。

具体实现时,该采集模块710具体可以用于执行s201中的方法,具体请参考图2示出的方法实施例对s201部分的描述;该降噪模块720具体可以用于执行s202中的方法,具体请参考图2示出的方法实施例对s202部分的描述;该唤醒模块730具体可以用于执行s203中的方法,具体请参考图2示出的方法实施例对s203部分的描述,此处不再赘述。

可选地,所述装置700还包括:

第一确定模块,用于根据硬件处理能力确定所述n的取值,按照所述n的取值划分所述信号采集区域得到所述n个区域。

具体实现时,第一确定模块可以参考图2示出的实施例中关于确定n个区域的相关内容描述。

可选地,所述装置700还包括:

第二确定模块,用于根据当前业务场景类型确定所述n的取值,按照所述n的取值划分所述信号采集区域得到所述n个区域。

进一步地,所述第二确定模块在确定n的取值时,具体用于:

根据当前业务场景类型查找参数配置文件,确定与所述当前业务场景类型匹配的n的取值。

具体实现时,第二确定模块可以参考图2示出的实施例中关于确定n个区域的相关内容描述。

可选地,所述n个区域是按照角度对所述信号采集区域均匀划分得到的。

可选地,所述采集模块710具体用于:

通过单个麦克风阵列采集语音信号;

所述降噪模块720具体用于:

复制所述语音信号得到n路所述语音信号;

利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

具体实现时,所述降噪模块720可以参考图2示出的实施例中s202相关内容描述,以及图4所示出的实施例中相关内容描述。

可选地,所述采集模块710具体用于:

通过多个麦克风阵列采集多路语音信号,其中,每个麦克风阵列采集一路语音信号;

所述降噪模块720具体用于:

利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

具体实现时,所述降噪模块720可以参考图2示出的实施例中s202相关内容描述,以及图5所示出的实施例中相关内容描述。

可选地,所述波束形成降噪算法包括自适应波束形成降噪算法。

可选地,所述唤醒模块730具体用于:

利用唤醒引擎确定所述n个降噪信号中每一个降噪信号与唤醒词的相似度;

根据所述相似度进行语音唤醒。

具体实现时,所述唤醒模块730可以参考图2示出的实施例中s203之后相关内容描述。

可选地,所述唤醒模块730在根据所述评分进行语音唤醒时,具体包括:

若所述n个降噪信号中每一个降噪信号与所述唤醒词的相似度的平均值大于预设阈值,和/或,所述n个降噪信号中有预设数量个降噪信号与所述唤醒词的相似度大于预设阈值,则进行语音唤醒。

具体实现时,所述唤醒模块730可以参考图2示出的实施例中s203之后相关内容描述。

另外,本申请实施例还提供了一种电子设备,该电子设备可以是终端。图8示出了本申请实施例提供的一种终端的结构示意图,所述终端800包括麦克风阵列801、处理器802和存储器803,其中,所述麦克风阵列801用于采集语音信号,所述存储器803用于存储程序代码,所述处理器802用于调用所述存储器中的程序代码来执行如下步骤以实现上述图2提供的语音唤醒方法:

利用n个波束形成降噪算法分别对所述语音信号进行降噪处理得到n个降噪信号;每个波束形成降噪算法对应n个区域中的一个区域,且不同波束形成降噪算法对应的区域不同;所述n个区域的并集覆盖所述麦克风阵列的信号采集区域,所述n为大于1的正整数;

利用唤醒引擎,根据所述n个降噪信号的至少一个进行语音唤醒。

可选地,所述处理器802还用于执行如下步骤:

根据硬件处理能力确定所述n的取值;

按照所述n的取值划分所述信号采集区域得到所述n个区域。

可选地,所述处理器802还用于执行如下步骤:

根据当前业务场景类型确定所述n的取值;

按照所述n的取值划分所述信号采集区域得到所述n个区域。

可选地,所述处理器802还用于执行如下步骤:

根据当前业务场景类型查找参数配置文件,确定与所述当前业务场景类型匹配的n的取值。

可选地,所述处理器802还用于:

按照角度对所述信号采集区域均匀划分得到所述n个区域。

可选地,所述麦克风阵列为单个;

则所述处理器802在进行降噪处理得到n个降噪信号时,具体用于:

复制所述语音信号得到n路所述语音信号;

利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

可选地,所述麦克风阵列为多个;每个麦克风阵列采集一路语音信号,所述多个麦克风阵列采集多路语音信号;

所述处理器802具体用于:

所述多路语音信号为n路语音信号时,利用n个波束形成降噪算法对所述n路语音信号进行降噪处理得到n个降噪信号,其中,每个波束形成降噪算法用于处理所述n路语音信号中的一路语音信号,不同波束形成降噪算法用于处理不同路的语音信号。

可选地,所述波束形成降噪算法包括自适应波束形成降噪算法。

可选地,所述处理器802在利用唤醒引擎,根据所述n个降噪信号的至少一个进行语音唤醒时,具体用于:

利用唤醒引擎确定所述n个降噪信号中每一个降噪信号与唤醒词的相似度;

根据所述相似度进行语音唤醒。

可选地,所述处理器802根据所述评分进行语音唤醒,具体包括:

若所述n个降噪信号中每一个降噪信号与所述唤醒词的相似度的平均值大于预设阈值,和/或,所述n个降噪信号中有预设数量个降噪信号与所述唤醒词的相似度大于预设阈值,则进行语音唤醒。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行本申请所述的语音唤醒方法。

本申请实施例还提供了在一种包含计算机可读指令的计算机程序产品,当该计算机可读指令在计算机上运行时,使得计算机执行上述各方面所述的语音唤醒方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1