本发明涉及语音处理技术领域,尤其涉及语音唤醒方法及装置。
背景技术:
目前,随着语音智能设备的普及,家居环境中可能出现多个使用同一唤醒词的不同设备(如:电视、冰箱、空调、洗衣机等均由同一个唤醒词唤醒),而这种场景下很有可能出现“一呼百应”的情况,为了解决该问题,最简单的处理方法是:根据各设备接收到的唤醒词的信号能量选择最近设备,即声音传播距离越远,能量衰减越严重,则距离用户最近的设备所接收的唤醒词能量最大,据此确定能量最大的最近设备为需要唤醒的设备来响应唤醒语音,以避免误唤醒该唤醒词对应的所有设备。
而这种方法并没有对信号能量进行区分而是盲目依赖于设备在唤醒词时间段内所接收到的信号能量总值,因而,在噪声环境下唤醒响应正确率将急剧下降,例如:若某一设备离噪声源较近而离用户较远,则其接收到唤醒词的同时会接收较大能量的噪声,从而可能导致其能量高于最近设备接收到的能量而被误判为最近设备,进而导致误将较远的设备作为最近设备响应唤醒语音。
技术实现要素:
本发明实施例提供了语音唤醒方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种语音唤醒方法,包括:
确定若干个智能设备中各智能设备所接收到的唤醒词的唤醒语音;
获取所述各智能设备获得的噪音数据;
根据所述各智能设备接收到的唤醒语音和所述各智能设备获得的噪音数据,从所述各智能设备中选择目标被唤醒设备;
通过所述目标被唤醒设备响应所述唤醒语音。
在一个实施例中,所述方法还包括:
计算所述各智能设备在唤醒时间段内接收到的所述唤醒语音的第一平均能量
计算所述各智能设备在噪音时间段内接收到的所述噪音数据的第二平均能量
根据所述各智能设备接收到的唤醒语音和所述各智能设备获得的噪音数据,从所述各智能设备中选择目标被唤醒设备,包括:
根据所述各智能设备对应的第一平均能量
在一个实施例中,所述根据所述各智能设备对应的第一平均能量
根据所述各智能设备对应的第一平均能量
根据所述各智能设备对应的信号信噪比,从所述各智能设备中选择所述目标被唤醒设备。
在一个实施例中,所述根据所述各智能设备对应的信号信噪比,从所述各智能设备中选择所述目标被唤醒设备,包括:
将所述各智能设备的信号信噪比按照从高到低的顺序进行排序;
将排序最高的信号信噪比对应的智能设备确定为所述目标被唤醒设备。
根据本发明实施例的第二方面,提供一种语音唤醒装置,包括:
确定模块,用于确定若干个智能设备中各智能设备所接收到的唤醒词的唤醒语音;
获取模块,用于获取所述各智能设备获得的噪音数据;
选择模块,用于根据所述各智能设备接收到的唤醒语音和所述各智能设备获得的噪音数据,从所述各智能设备中选择目标被唤醒设备;
响应模块,用于通过所述目标被唤醒设备响应所述唤醒语音。
在一个实施例中,所述装置还包括:
第一计算模块,用于计算所述各智能设备在唤醒时间段内接收到的所述唤醒语音的第一平均能量
第二计算模块,用于计算所述各智能设备在噪音时间段内接收到的所述噪音数据的第二平均能量
所述选择模块包括:
选择子模块,用于根据所述各智能设备对应的第一平均能量
在一个实施例中,所述选择子模块包括:
计算单元,用于根据所述各智能设备对应的第一平均能量
选择单元,用于根据所述各智能设备对应的信号信噪比,从所述各智能设备中选择所述目标被唤醒设备。
在一个实施例中,所述选择单元具体用于:
将所述各智能设备的信号信噪比按照从高到低的顺序进行排序;
将排序最高的信号信噪比对应的智能设备确定为所述目标被唤醒设备。
本发明的实施例提供的技术方案可以包括以下有益效果:
在确定各智能设备接收到的唤醒语音以及各智能设备接收该唤醒语音之前获得的噪音数据之后,可根据各智能设备接收到的唤醒语音以及获得的噪音数据,从所述各智能设备中自动选择出哪个智能设备(即目标被唤醒设备)应该响应该唤醒语音进行响应,如此,可同时结合智能设备的唤醒语音以及噪音数据,提高被唤醒设备的确定准确率,进而提高唤醒准确率,避免误将多个智能设备中的其他智能设备作为真正需要被唤醒的设备进行唤醒。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种语音唤醒方法的流程图。
图2是根据一示例性实施例示出的另一种语音唤醒方法的流程图。
图3是根据一示例性实施例示出的一种语音唤醒装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
为了解决上述技术问题,本发明实施例提供了一种语音唤醒方法,该方法可用于语音唤醒程序、系统或装置中,且该方法对应的执行主体可以是终端或服务器,如图1所示,该方法包括步骤s101至步骤s104:
在步骤s101中,确定若干个智能设备中各智能设备所接收到的唤醒词的唤醒语音;
在步骤s102中,获取所述各智能设备获得的噪音数据;
所述各智能设备获得的噪音数据即各智能设备在接收到唤醒词的唤醒语音的前一段时间(如前1秒等)接收的噪声数据。
在步骤s103中,根据所述各智能设备接收到的唤醒语音和所述各智能设备获得的噪音数据,从所述各智能设备中选择目标被唤醒设备;
在步骤s104中,通过所述目标被唤醒设备响应所述唤醒语音。
在确定各智能设备接收到的唤醒语音以及各智能设备接收该唤醒语音之前获得的噪音数据之后,可根据各智能设备接收到的唤醒语音以及获得的噪音数据,从所述各智能设备中自动选择出哪个智能设备(即目标被唤醒设备)应该响应该唤醒语音进行响应,如此,可同时结合智能设备的唤醒语音以及噪音数据,提高被唤醒设备的确定准确率,进而提高唤醒准确率,避免误将多个智能设备中的其他智能设备作为真正需要被唤醒的设备进行唤醒。
另外,在选择目标被唤醒设备时,由于同时结合了各智能设备在接收到唤醒词的唤醒语音的时段之前的前一段时间的噪声数据,而不再局限于仅依赖于智能设备在接收唤醒词时间段内所接收到的信号能量总值,因而,相比于现有技术而言,显然可进一步提高确定智能设备的准确率,进而提高唤醒准确率。
在一个实施例中,所述方法还包括:
计算所述各智能设备在唤醒时间段内接收到的所述唤醒语音的第一平均能量
计算所述各智能设备在噪音时间段内接收到的所述噪音数据的第二平均能量
xk(t)表示第k个智能设备接收到的唤醒语音。
yk(t)表示第k个智能设备接收到的噪音数据;
t表示采样时间点。
唤醒时间段即接收该唤醒语音的时间段,同样地,噪音时间段即接收该噪音数据的时间段,而噪音时间段是早于该唤醒时间段的一个时间段(即噪音时间段是唤醒时间段之前的一个时间段)。
根据所述各智能设备接收到的唤醒语音和所述各智能设备获得的噪音数据,从所述各智能设备中选择目标被唤醒设备,包括:
根据所述各智能设备对应的第一平均能量
通过分别计算各智能设备在唤醒时间段内接收到的唤醒语音的第一平均能量
在一个实施例中,所述根据所述各智能设备对应的第一平均能量
根据所述各智能设备对应的第一平均能量
信号信噪比
信号信噪比即设备的接收信号中唤醒词能量与噪声能量之比。
根据所述各智能设备对应的信号信噪比,从所述各智能设备中选择所述目标被唤醒设备。
根据上述各智能设备对应的第一平均能量
在一个实施例中,所述根据所述各智能设备对应的信号信噪比,从所述各智能设备中选择所述目标被唤醒设备,包括:
将所述各智能设备的信号信噪比按照从高到低的顺序进行排序;
将排序最高的信号信噪比对应的智能设备确定为所述目标被唤醒设备。
由于距离发声源越近的设备接收到的信号强度越高且噪声越小,因而,信号信噪比最大的智能设备即为距离发声源最近的设备,所以,可将各智能设备的信号信噪比按照从高到低的顺序进行排序,从而选择排序最高的信号信噪比对应的智能设备确定为目标被唤醒设备,以避免误将多个智能设备中的其他智能设备作为真正需要被唤醒的设备进行唤醒。
即kf=argmaxksnrk,kf为最终响应的设备(即目标被唤醒设备)的编号。
下面将结合图2进一步详细说明本发明的技术方案:
现有技术中仅仅依赖唤醒词时间段能量的方法在复杂场景下性能下降比较严重,因而,本申请提出了一种鲁棒的就近响应方法:
第1步:假设有k个不同智能设备可能被同时唤醒,各个设备将唤醒词时间段(唤醒时间段)内的语音数据及其前一段时间(噪音时间段)的数据同时输入分布式引擎,第k个设备的唤醒词段数据记为xk(t),噪声段数据记为yk(t),t表示采样时间点;
第2步:计算唤醒词前噪声数据的平均能量
第3步:计算唤醒词时间段信号的平均能量
第4步:根据唤醒词时间段信号平均帧能量和其前一段时间信号平均帧能量,计算第k个设备接收信号的信噪比,即
第5步:在所有设备接收信号的信噪比中,选择信噪比最高的设备作为最近设备响应,即kf=argmaxksnrk,kf为最终响应的设备编号。
最后,需要明确的是:本领域技术人员可根据实际需求,将上述多个实施例进行自由组合。
对应本发明实施例提供的上述语音唤醒方法,本发明实施例还提供一种语音唤醒装置,如图3所示,该装置包括:
确定模块301,用于确定若干个智能设备中各智能设备所接收到的唤醒词的唤醒语音;
获取模块302,用于获取所述各智能设备获得的噪音数据;
选择模块303,用于根据所述各智能设备接收到的唤醒语音和所述各智能设备获得的噪音数据,从所述各智能设备中选择目标被唤醒设备;
响应模块304,用于通过所述目标被唤醒设备响应所述唤醒语音。
在一个实施例中,所述装置还包括:
第一计算模块,用于计算所述各智能设备在唤醒时间段内接收到的所述唤醒语音的第一平均能量
第二计算模块,用于计算所述各智能设备在噪音时间段内接收到的所述噪音数据的第二平均能量
所述选择模块包括:
选择子模块,用于根据所述各智能设备对应的第一平均能量
在一个实施例中,所述选择子模块包括:
计算单元,用于根据所述各智能设备对应的第一平均能量
选择单元,用于根据所述各智能设备对应的信号信噪比,从所述各智能设备中选择所述目标被唤醒设备。
在一个实施例中,所述选择单元具体用于:
将所述各智能设备的信号信噪比按照从高到低的顺序进行排序;
将排序最高的信号信噪比对应的智能设备确定为所述目标被唤醒设备。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。