一种语音交互方法及电子设备
文献发布时间:2024-04-18 19:58:21
技术领域
本申请涉及语音控制技术领域,尤其涉及一种语音交互方法及电子设备。
背景技术
随着计算机技术的发展,语音识别技术日益成熟,语音输入因其在交互方式上的高自然性与有效性而变得越来越重要。电子设备内的语音交互应用同样也逐渐成为一种人们经常使用的功能。用户可以通过语音与电子设备(手机、平板电脑以及智能手表等)进行交互,完成指令输入、信息查询以及语音聊天等各种操作。
通常,语音交互应用在进行语音交互时都需要由用户对其进行唤醒。然而,语音交互应用的唤醒方式主要包括:通过输入特定的语音唤醒词实现语音交互应用的唤醒;或者点击电子设备上的物理按键或屏幕的方式。这样,用户每次在与语音交互应用进行语音交互之前都要重复执行上述唤醒操作。当用户需要频繁地使用语音交互应用时,重复执行唤醒操作较为繁琐,浪费大量的使用时间。进而降低了用户的使用体验。
发明内容
有鉴于此,本申请提供了一种语音交互方法及电子设备,电子设备通过根据音频数据和不同传感数据可以自动触发语音交互功能,节省用户的操作时间。
第一方面,本申请提供一种语音交互方法,应用于电子设备,方法包括:电子设备获取音频数据和第一传感数据;第一传感数据用于表征电子设备的移动情况。电子设备在音频数据中包括语音信号,且根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值时,获取音频数据对应的声源方向和第二传感数据;第二传感数据用于表征电子设备与用户之间的距离变化情况。之后,电子设备在根据声源方向和第二传感数据确定电子设备靠近用户时,启动语音交互应用。并且,通过语音交互应用,执行语音信号对应的应答响应操作。
可见,本申请的电子设备在音频数据中包括语音信号,且根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值时,获取音频数据对应的声源方向和第二传感数据。并且对音频数据对应的声源方向和第二传感数据进行判定,在音频数据对应的声源方向和第二传感数据满足一定条件后自动启动语音交互应用。也就是说,电子设备是对音频设备、第一传感数据和第二传感数据进行检测后,才会启动语音交互应用。其中,第一传感数据和第二传感数据分别表征电子设备的位置情况以及表征电子设备与用户之间的距离变化情况。相比于采用单一传感器的传感数据来进行语音交互识别,有效提升了语音交互识别的准确性,避免发生误识别的情况。并且,用户无需针对手机重复进行特定的唤醒操作。进而,提高了用户的使用体验感。
在第一方面的一种可实现方式中,电子设备在根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值的过程中,可以根据第一传感数据确定位置特征值,位置特征值用于表征电子设备的位置变化程度,之后,电子设备确定位置特征值表征的位置变化程度大于第一预设阈值。
可见,本申请的电子设备在根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值的过程中,可以根据第一传感数据确定位置特征值,再确定位置特征值表征的位置变化程度大于第一预设阈值。也就是说,电子设备可以提取第一传感数据的位置特征值,位置特征值可以表征电子设备的位置变化程度。当位置特征值表征的位置变化程度大于第一预设阈值时,可以表明电子设备的位置情况发生了较大的变化。这样,电子设备的位置情况发生较大的变化时,可以表明用户移动了电子设备。进而,可以触发后续语音交互识别的操作。通过对电子设备的位置情况进行判定,提升了语音交互识别的准确性,避免发生误识别的情况。进而,提高了用户的使用体验感。
在第一方面的一种可实现方式中,电子设备包括显示屏,电子设备在获取音频数据对应的声源方向和第二传感数据的过程中,获取第三传感数据,第三传感数据用于表征电子设备的姿态情况。之后,电子设备在根据第三传感数据确定显示屏的朝向用户时,获取音频数据对应的声源方向和第二传感数据。
可见,本申请的电子设备在获取音频数据对应的声源方向和第二传感数据的过程中,获取第三传感数据,第三传感数据用于表征电子设备的姿态情况。也就是说,电子设备在获取音频数据对应的声源方向和第二传感数据之前,还会根据第三传感数据确定显示屏的姿态情况。并且可以在根据第三传感数据确定显示屏的朝向用户时,才会执行后续语音交互识别的操作。避免了电子设备显示屏在背向用户时,误识别语音交互的情况发生。有效提升了语音交互识别的准确性,提高用户的使用体验感。
在第一方面的一种可实现方式中,电子设备在根据声源方向和第二传感数据确定电子设备靠近用户时,启动语音交互应用的过程中,可以根据声源方向对应的声源角度和第二传感数据对应的第一距离特征值和第二距离特征值,确定目标距离特征值。
其中,第一距离特征值用于表征电子设备与用户人脸的接近程度,第二距离特征值用于表征电子设备与声源的接近程度;声源角度为声源方向与参考方向之间的夹角,声源方向为由电子设备的收音位置指向声源的方向,参考方向为经过电子设备的收音位置、垂直于电子设备的显示屏且向上延伸的方向;
之后,电子设备在根据目标距离特征值确定电子设备靠近用户时,启动语音交互应用。
可见,电子设备可以根据声源角度、第一距离特征值表征电子设备与用户人脸的接近程度和第二距离特征值表征电子设备与声源的接近程度,确定目标距离特征值。之后,在根据目标距离特征值确定电子设备靠近用户时,启动语音交互应用。也就是说,电子设备可以根据目标距离特征值表征电子设备与用户的接近程度,确定电子设备靠近用户并自动启动语音交互应用。这样,电子设备可以通过音频数据和第二传感数据进行综合判定,在确定电子设备靠近用户后自动启动语音交互应用。避免单一传感数据表达出的信息较为局限,出现误识别的情况。进而,有效提升了语音交互识别的准确性,提高了用户的使用体验感。
在第一方面的一种可实现方式中,电子设备在根据声源方向对应的声源角度和第二传感数据对应的第一距离特征值和第二距离特征值,确定目标距离特征值的过程中,可以在声源角度小于角度阈值的情况下,将第一距离特征值确定为目标距离特征值;
或者,在声源角度大于或者等于角度阈值的情况下,将第二距离特征值确定为目标距离特征值。
可见,本申请通过根据声源方向对应的声源角度对第一距离特征值和第二距离特征值设置权重,将第一距离特征值或第二距离特征值确定为目标距离特征值。也就是说,当声源角度越小,说明用户的人脸越靠近且面向手机的屏幕。相反,当声源角度越大,说明用户的人脸越远离手机的屏幕。这样,电子设备可以根据声源角度来精确确定目标距离特征值是第一距离特征值或第二距离特征值。进而,选择出符合当前用户场景的目标距离特征值,以便于后续根据目标距离特征值确定电子设备靠近用户。有效提升了语音交互识别的准确性,避免发生误识别的情况。
在第一方面的一种可实现方式中,方法还包括:
电子设备可以提取音频数据对应的语音气流特征,语音气流特征用于表征语音气流撞击麦克风产生的风噪情况。并且,电子设备在根据声源方向对应的声源角度和第二传感数据确定电子设备靠近用户的过程中,根据语音气流特征、目标距离特征值和第一传感数据确定电子设备靠近用户。
具体地,在语音气流特征的气流特征值、目标距离特征值和位置特征值之和大于第二预设阈值时,确定电子设备靠近用户;
其中,气流特征值用于表征音频数据中语音气流特征的特征明显程度,气流特征值与语音气流特征的特征明显程度正相关。
可见,本申请的电子设备还可以提取音频数据对应的语音气流特征。并且在语音气流特征的气流特征值、目标距离特征值和位置特征值之和大于第二预设阈值时,确定电子设备靠近用户。也就是说,电子设备还可以基于音频数据对应的语音气流特征、第二传感数据和第一传感数据综合判定,确定电子设备靠近用户。也就是说,当语音气流特征的气流特征值越大,说明音频数据中语音气流特征的特征明显程度越大,即表明音频数据中语音气流撞击麦克风产生的风噪情况很明显。目标距离特征值越大,说明电子设备与用户的接近程度越大。位置特征值越大,说明电子设备的位置情况发生了较大的变化。由此,通过对上述气流特征值、目标距离特征值和位置特征值设置权重,可以综合判定电子设备是否靠近用户。有效提升了语音交互识别的准确性,提高了用户的使用体验感。
在第一方面的一种可实现方式中,电子设备还可以获取不同麦克风针对音频数据的声压差值,声压差值用于表征声源距离不同麦克风产生的声压变化。并且在根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值时,获取音频数据对应的声源方向和第二传感数据的过程中,在语音气流特征的气流特征值小于或者等于第三预设阈值或声压差值小于或者等于第四预设阈值时,根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值时,获取音频数据对应的声源方向和第二传感数据。
可见,本申请的电子设备还可以获取不同麦克风针对音频数据的声压差值。当声压差值越大,说明声源距离不同麦克风产生的声压变化越大,即表明声源距离不同麦克风中至少一个麦克风较近。当气流特征值越大,说明音频数据中语音气流特征的特征明显程度越大,即表明音频数据中语音气流撞击麦克风产生的风噪情况很明显。由此,本申请可以先对音频数据中的语音气流特征和声压差值进行判定,在气流特征值小于或者等于第三预设阈值或声压差值小于或者等于第四预设阈值时,触发后续根据音频数据对应的声源方向和第二传感数据进行判定的过程。也就是说,本申请不仅可以仅对音频数据中的语音气流特征和声压差值进行判定,还可以对第一传感数据、音频数据中的声源方向和第二传感数据进行综合判定。有效提升了语音交互识别的准确性,避免发生误识别的情况。进而,提高了用户的使用体验感。
在第一方面的一种可实现方式中,电子设备还可以在气流特征值大于第三预设阈值且声压差值大于第四预设阈值时,启动语音交互应用。
可见,本申请的电子设备还可以在气流特征值大于第三预设阈值且声压差值大于第四预设阈值时,启动语音交互应用。也就是说,本申请的电子设备可以直接利用音频数据来启动语音交互应用。具体地,电子设备在气流特征值大于第三预设阈值且声压差值大于第四预设阈值时,启动语音交互应用。其中,气流特征值表征音频数据中语音气流特征的特征明显程度。声压差值用于表征声源距离不同麦克风产生的声压变化。当气流特征值越大,说明音频数据中语音气流特征的特征明显程度越大,即表明音频数据中语音气流撞击麦克风产生的风噪情况很明显。当声压差值越大,说明声源距离不同麦克风产生的声压变化越大,即表明声源距离不同麦克风中至少一个麦克风较近。由此,电子设备可以根据采集的音频数据中的气流特征值和声压差值满足一定条件,确定电子设备靠近用户且音频数据对应的声源为用户,进而自动启动语音交互应用。有效提升了语音交互识别的准确性,避免发生误识别的情况。进而,提高了用户的使用体验感。
在第一方面的一种可实现方式中,电子设备在通过语音交互应用,执行语音信号对应的应答响应操作的过程中,可以语音提示应答结果,应答结果由服务器对语音信号进行语义理解后生成。和/或,显示目标界面,目标界面包括应答结果。
可见,本申请可以通过语音交互应用,语音提示应答结果。应答结果是在服务器对语音信号进行语义理解后生成的。或者,可以通过语音交互应用显示目标界面,目标界面中包括应答结果。由此,电子设备通过启动语音交互应用,执行语音交互功能,使用户可以听到和/或看到需要的应答结果。进而提高用户与电子设备之间的交互性,提高用户的使用体验感。
在第一方面的一种可实现方式中,电子设备还可以在显示目标界面之前,提示第一信息,第一信息用于提示已运行语音交互应用。
可见,本申请还可以在显示目标界面之前,提示第一信息,第一信息用于提示已运行语音交互应用。用户可以在电子设备启动语音交互应用的过程中,通过第一信息感知电子设备已启动并运行语音交互应用。提高用户与电子设备之间的交互性,提高用户的使用体验感。
第二方面,本申请提供一种电子设备,电子设备包括存储器、一个或多个处理器;存储器与处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如上述第一方面所述的语音交互方法。
第三方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机可以执行如上述第一方面所述的语音交互方法。
附图说明
图1为本申请实施例提供的一种唤醒语音交互应用的场景示意图;
图2为本申请实施例提供的一种电子设备的硬件结构示意图;
图3为本申请实施例提供的一种电子设备的软件结构示意图;
图4为本申请实施例提供的一种语音交互方法的流程示意图;
图5为本申请实施例提供的一种数据处理的流程示意图;
图6为本申请实施例提供的一种手机移动至人脸的场景示意图;
图7为本申请实施例提供的一种声源角度的示意图;
图8为本申请实施例提供的一种第一信息的界面示意图;
图9为本申请实施例提供的一种电子设备与服务器进行语音交互的交互示意图;
图10为本申请实施例提供的一种悬浮框的界面示意图一;
图11为本申请实施例提供的一种悬浮框的界面示意图二;
图12为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
随着电子设备的普及,其功能也越来越强大,尤其是智能手机。目前很多智能手机都安装有语音交互应用,该语音交互应用具备通过语音交互的方式拨打电话、发送短信、打开软件、播放音乐以及设置备忘等语音控制功能,并具备回答天气、公交路线、地图位置和商户信息、查看图片等信息查询功能。同时附带日常聊天对话功能。用户可以向电子设备输入语音指令,控制电子设备完成一些操作。以使得语音交互应用能够给用户提供非常智能化和人性化的服务,给用户带来极大方便和更好地服务体验。
通常,语音交互应用在进行语音交互时都需要由用户对其进行唤醒。参见图1中的(A),用户可以通过输入特定的语音唤醒词实现对语音交互应用的唤醒。电子设备检测到对应的语音唤醒词后激活语音输入。继续参见图1中的(B),用户可以点击电子设备上的物理按键或屏幕中的界面元素,实现语音交互应用的唤醒。电子设备检测到对应的点击操作后激活语音输入。
然而,上述对语音交互应用的唤醒均为被动式的唤醒,用户每次在与语音交互应用进行语音交互之前都要重复执行上述唤醒操作。当用户需要频繁地使用语音交互应用时,重复执行唤醒操作较为繁琐,浪费大量的使用时间,与电子设备的交互效率较低。进而降低了用户的使用体验。
基于上述内容,本申请实施例提供了语音交互方法及电子设备,语音交互方法应用于电子设备。电子设备获取音频数据和第一传感数据;第一传感数据用于表征电子设备的移动情况。电子设备在音频数据中包括语音信号,且根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值时,获取音频数据对应的声源方向和第二传感数据;第二传感数据用于表征电子设备与用户之间的距离变化情况。之后,电子设备在根据声源方向和第二传感数据确定电子设备靠近用户时,启动语音交互应用。并且通过语音交互应用,执行语音信号对应的应答响应操作。
本申请实施例可以通过将多种不同传感器对应的传感数据融合成多模态信息,多模态信息可以表达出更加全面准确的信息。具体地,不仅可以单独对音频数据对应的音频特征气流特征值声压差值进行判断,还可以结合电子设备的移动情况以及与用户之间的距离变化情况位置特征值进行综合判定。在音频数据、第一传感数据和第二传感数据满足一定条件后,才触发语音交互功能。
单一传感数据表达出的信息较为局限。例如,仅采用距离传感器来确定手机与用户嘴部的距离,并在电子设备与用户嘴部距离达到一定范围内,触发语音交互功能。这样,用户有可能不想使用电子设备中的语音交互功能,仅近距离地使用电子设备,此时就会出现误识别的情况。
这样,本申请实施例相比于采用单一传感器的传感数据来进行语音交互识别,有效提升了语音交互识别的准确性,避免发生误识别的情况。进而,提高了用户的使用体验感。
并且,本申请实施例中,用户无需针对电子设备进行特定的唤醒操作,如输入语音唤醒词、对物理按键进行点击以及屏幕中进行点击等。当然电子设备也无需在检测唤醒操作后才触发语音交互功能。用户只需靠近手机并讲话即无需执行唤醒操作,电子设备在检测不同传感数据满足一定条件后,即可自动触发语音交互功能。提高了用户与手机的交互性,使交互更加自然。用户可以每次直接与手机进行交互,无需在每次输入语音的过程中重复执行唤醒操作,节省大量的使用时间,降低手机的功耗。
本申请实施例提供的电子设备可以包括手机、智能手表、平板电脑、可折叠电子设备、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本、蜂窝电话、个人数字助理(Personal DigitalAssistant,PDA)、增强现实(Augmented Reality,AR)设备、虚拟现实(Virtual Reality,VR)设备、人工智能(Artificial Intelligence,AI)设备、可穿戴式设备、车载设备、车辆、智能家居设备或智慧城市设备中的至少一种。本申请实施例对该电子设备的具体类型不作特殊限制。
并且本申请实施例提供的电子设备安装的操作系统包括但不限于
示例性的,以电子设备为手机为例,图2示出了手机100的结构示意图。
手机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等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,重力加速度传感器180E,超声波距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,图像传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(Application processor,AP),调制解调处理器,图形处理器(Graphics ProcessingUnit,GPU),图像信号处理器(Image Signal Processor,ISP),控制器,视频编解码器,数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器可以为高速缓冲存储器(CACHE)。该存储器可以保存处理器110用过或使用频率较高的指令或数据。如果处理器110需要使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,存储器还存储有除计算机程序之外的其他数据,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据,例如用户打开的应用程序所缓存的数据就是典型的用户数据。存储器一般包括内存和外存。内存可以为RAM、ROM以及CACHE等。外存可以包括硬盘、软盘、光盘、U盘以及多媒体卡等。
可以理解的是,本申请实施例示意的各模块间的连接关系,只是示意性说明,并不构成对手机100的结构限定。在本申请另一些实施例中,手机100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于接收充电器的充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(LowNoise Amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络和其他电子设备通信。该无线通信技术可以包括全球移动通讯系统(Global System For Mobile Communications,GSM),通用分组无线服务(General Packet Radio Service,GPRS),码分多址接入(Code DivisionMultiple Access,CDMA),宽带码分多址(Wideband Code Division Multiple Access,WCDMA),时分码分多址(Time-Division Code Division Multiple Access,TD-SCDMA),长期演进(LongTerm Evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。该GNSS可以包括全球卫星定位系统(Global Positioning System,GPS),全球导航卫星系统(GlobalNavigation Satellite System,GLONASS),北斗卫星导航系统(BeiDou NavigationSatellite System,BDS),准天顶卫星系统(Quasi-Zenith Satellite System,QZSS)和/或星基增强系统(Satellite Based Augmentation Systems,SBAS)。
手机100可以通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,手机100可以包括1个或多个显示屏194。
手机100可以通过摄像头193,ISP,视频编解码器,GPU,显示屏194以及应用处理器AP、神经网络处理器NPU等实现摄像功能。
在一些实施例中,处理器110中的CPU或GPU或NPU可以对摄像头193所采集的彩色图像数据和深度数据进行处理。
处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100的各种功能方法或数据处理。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
其中,陀螺仪传感器180B可以用于确定手机100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定手机100围绕三个轴(即,x,y和z轴)的角速度。
重力加速度传感器180E可以用于检测手机100在各个方向上(一般为三轴)加速度的大小。当手机100静止时可检测出重力的大小及显示屏的朝向方向等。
超声波距离传感器180F可以用于确定手机100的与声源之间的距离数据。图像传感器180M可以用于确定手机100与用户人脸之间的距离数据。
手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明手机100的软件结构。
图3是本申请实施例的手机100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime,ART)和原生C/C++库,硬件抽象层(HardwareAbstract Layer,HAL)以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,资源管理器,通知管理器,活动管理器,输入管理器等。
窗口管理器提供窗口管理服务(Window Manager Service,WMS),WMS可以用于窗口管理、窗口动画管理、surface管理以及作为输入系统的中转站。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
活动管理器可以提供活动管理服务(Activity Manager Service,AMS),AMS可以用于系统组件(例如活动、服务、内容提供者、广播接收器)的启动、切换、调度以及应用进程的管理和调度工作。
输入管理器可以提供输入管理服务(Input Manager Service,IMS),IMS可以用于管理系统的输入,例如触摸屏输入、按键输入、传感器输入等。IMS从输入设备节点取出事件,通过和WMS的交互,将事件分配至合适的窗口。
安卓运行时包括核心库和安卓运行时。安卓运行时负责将源代码转换为机器码。安卓运行时主要包括采用提前(ahead or time,AOT)编译技术和及时(just in time,JIT)编译技术。
核心库主要用于提供基本的Java类库的功能,例如基础数据结构、数学、IO、工具、数据库、网络等库。核心库为用户进行安卓应用开发提供了API。
原生C/C++库可以包括多个功能模块。例如:表面管理器(surface manager),媒体框架(Media Framework),libc,OpenGL ES、SQLite、Webkit等。
其中,表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体框架支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。OpenGL ES提供应用程序中2D图形和3D图形的绘制和操作。SQLite为电子设备100的应用程序提供轻量级关系型数据库。
硬件抽象层运行于用户空间(user space),可以包括显示模块、音频模块、摄像头模块以及蓝牙模块等。可以对内核层驱动进行封装,向上层提供调用接口。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
图4为本申请实施例示出的一种语音交互方法的流程示意图,下面将上述电子设备为手机作为示例,对本申请实施例提供的语音交互方法进行具体阐述。如图4所示,该方法可以包括如下步骤S401-S410。
步骤S401、手机获取音频数据和第一传感数据。
在实际应用场景中,用户为了利用语音与手机进行语音交互,通常会对手机进行移动操作。例如,用户将手机拿起,并使得手机在一段时间内持续移动,直至将手机移动至人脸前方。并且针对手机进行讲话(如“今天天气怎么样”),以通过手机实现语音交互功能。
在本申请的一些实施例中,手机中的语音交互功能可以以应用程序的方式来实现。例如,用户可以在手机中安装包括语音交互功能的语音交互应用,该语音交互应用可以为第三方语音类应用或者系统应用。当然,手机中的语音交互功能还可以以服务(service)的方式来实现。例如,语音交互功能为手机中操作系统中的功能。本申请实施例对语音交互功能的实现方式不进行具体的限定。
同时,手机在显示用户界面的状态下,或者,没有显示用户界面的状态下,均可以检测语音交互功能是否被触发。其中,用户界面可以包括手机的主屏幕界面、应用程序的界面、系统设置界面以及状态栏显示界面等等。也就是说,手机在被用户使用的场景下,或者,手机处于锁屏的场景下,均可以检测语音交互功能是否被触发。
在本申请的一些实施例中,手机可以控制传感器通路打开第一传感器进行第一传感数据采集。其中,第一传感器可以包括陀螺仪传感器,第一传感数据用于表征电子设备的移动情况。同时,手机控制音频通路打开麦克风,进行音频数据采集。麦克风用于采集用户和/或环境针对手机输入的音频数据。
用户在移动手机的过程中,通常将处于静止状态的手机拿起至人脸前方,之后保持在某个合适位置使用手机。那么,手机在移动过程中,手机的运动状态通常会由静止状态到移动状态,再由移动状态到静止状态。这样,手机可以根据第一传感数据确定电子设备的位置变化程度。具体地,手机可以基于第一传感器中实时获取加速度数据,通过加速度数据的变化,判定手机的位置变化程度。
并且,用户在使用语音交互功能的过程中,通常会对手机进行讲话。由此,手机可以根据采集到的音频数据来确定是否包括用户输出的语音,即确定音频数据中是否存在语音活动。
在一种可实现方式中,手机根据麦克风采集的音频数据中是否包括语音信号,来确定是否存在语音活动。
其中,音频数据中音频信号可以包括语音信号和非语音信号。语音信号用于表征用户说话的声音转换成的信号,非语音信号可以是用户说话停顿时产生的信号,还可以是环境噪声产生的信号或者是语音采集设备产生的噪声等。
由此,本申请实施例可以通过结合上述采集的第一传感数据和音频数据,即结合电子设备的位置变化情况以及语音活动情况来便于后续判定当前手机是否需要启动语音交互应用,避免仅基于单一传感器采集的传感数据,导致判定误差的问题。
步骤S402、手机对音频数据进行语音活动检测,确定音频数据是否包括语音信号。
在本申请的一些实施例中,参见图5,手机在采集到音频数据之后,需要对音频数据进行语音活动检测,确定音频数据是否包括语音信号。其中,语音活动检测(voiceactivity detection,VAD)也被称为语音检测,在语音处理中用于检测语音的存在与否,从而将音频数据中音频信号的语音片段和非语音片段分开。
由此,手机若确定音频数据中包括语音信号,则确定存在语音活动。也就是说,手机若确定音频数据中包括语音信号,则确定音频数据中包括用户针对手机进行输入的语音。手机若确定音频数据中不包括语音信号,则确定不存在用户的语音活动,即用户没有对手机讲话。那么手机后续将无需启动语音交互功能。
示例性的,手机可以对音频数据进行分帧处理,得到对应的音频帧序列。之后,提取音频帧学了中音频帧的声学特征,声学特征包括Fbank特征。接着,将音频帧序列中的各音频帧的声学特征输入至语音活动检测(VAD)模型进行分类,得到音频帧序列的各音频帧的活动检测值(语音信号/非语音信号后验概率),活动检测值用于指示对应的音频帧为语音帧或噪声帧。最终,手机可以根据音频帧序列中各音频帧的活动检测值,来确定音频数据是否包括语音信号。例如,在各音频帧的活动检测值对应的平均值大于活动检测阈值的情况下,手机可以确定音频数据中包括语音信号。在各音频帧的活动检测值对应的平均值小于或者等于活动检测阈值的情况下,手机可以确定音频数据中不包括语音信号。再例如,活动检测值可以是一个逻辑变量,即可以用“0”和“1”表示,如可以是“1”表示存在语音信号,“0”表示不存在语音信号。当然也可以是“0”表示存在语音信号,“1”表示不存在语音信号。
当然,手机还可以提取音频数据对应的其他用于表征语音信号的时域特征。例如,短时能量、短时过零率、基频周期、短时幅度谱的峰度和短时幅度谱的偏度等等。本申请实施例不对确定音频数据中包括语音信号的具体实现方式进行限定。
步骤S403、手机在音频数据包括语音信号的情况下,获取音频数据对应的语音气流特征以及不同麦克风针对音频数据的声压差值。
其中,语音气流特征用于表征语音气流撞击麦克风产生的风噪情况;声压差值用于表征声源距离不同麦克风产生的声压变化。
在本申请的一些实施例中,在音频数据包括语音信号的情况下,可以表明存在语音活动。但为了更精确地确定用户在近距离对手机进行讲话的场景,继续参见图5,在一种可实现方式中,本申请实施例还可以对音频数据进行语音气流检测以及声压级差检测,确定音频数据对应的气流特征值和声压差值。
在一种可实现的方式中,在音频数据包括语音信号的情况下,手机可以对音频数据进行语音气流检测,提取音频数据对应的语音气流特征。可以理解的是,用户利用近距离对手机进行讲话时,会使麦克风会采集的音频数据具有特有的气息风噪。由此,可以通过语音气流特征对应的气流特征值来确定音频数据中是否包括用户说话产生的风噪声音。也就是说,气流特征值与语音气流特征的特征明显程度正相关。当语音气流特征的气流特征值越大,说明音频数据中语音气流特征的特征明显程度越大,即表明音频数据中语音气流撞击麦克风产生的风噪情况较明显。
示例性的,手机可以识别音频数据中的音素,针对音频数据中的每个音素,确定该音素是否为吐气音素,吐气音素用于表征用户发声时有气流从嘴中出来。之后,手机将音频数据按照固定窗口长度切分为音频帧序列。并且利用频率特征,识别每个音频帧序列是否包含风噪声。最后,将音频数据中的吐气音素和音频帧序列中识别为风噪声片段进行重合度比较,生成音频数据对应的气流特征值。进而,便于后续根据气流特征值,来判断音频数据中语音气流特征的特征明显程度。进而能够确定音频数据中是否包括用户说话产生的气流撞击麦克风产生的风噪声音。
在一种可实现方式中,手机还可以将音频数据中输入至训练完成的第一模型中,生成对应的气流特征值。在气流特征值表征的语音气流特征对应的特征明显程度大于一定程度时,即确定用户靠近电子设备并且讲话。
在本申请的一些实施例中,手机中可以设置有多个麦克风如麦克风阵列。麦克风阵列是一组位于空间不同位置的全向麦克风按一定的形状规则布置在手机中形成的阵列,是对空间传播声音输入进行采集,采集到的信号包含了其空间位置信息。例如,手机中的顶部和底部分别设置有1个麦克风。那么,手机可以根据不同麦克风之间的声压差异,来确定用户是否近距离靠近电子设备且讲话。也就是说,当声压差值越大,说明声源距离不同麦克风产生的声压变化越大,即表明声源距离不同麦克风中至少一个麦克风较近。
具体地,在音频数据包括语音信号的情况下,手机还可以进行声压级差检测。可以理解的是,声源靠近手机中底部麦克风时,两个麦克风对应的声压级是不同的。示例性的,以用户靠近底部麦克风讲话作为示例,即声源靠近底部麦克风。手机可以基于声源距离两个麦克风的距离,利用预设公式计算对应的声压级差值。预设公式如下:
ΔL=20lg10(r1/r2);
其中,△L为距离增加产生的衰减值,单位dB;r
基于上述计算声压级差值可以看出,当声源至手机中顶部麦克风的距离是声源至手机中底部麦克风的距离的2倍时,声压级衰减即声压级差值为6dB。也就是说,由于顶部麦克风和底部麦克风之间的距离是固定的,那么声源至手机中底部麦克风的距离越小,声压级差值越大。
由此,本申请实施例通过在音频数据包括语音信号的情况下,对音频数据进行语音气流检测和声压级差值检测,可以确定电子设备靠近用户且用户对手机进行讲话。
同时,相比于相关技术中采用单一类型的传感器表征的信息,只能提供关于用户行为某方面的信息,导致其识别的局限性。本申请实施例通过对音频数据进行语音活动检测、语音气流检测和声压级差检测,便于后续能够融合音频数据和不同传感数据得到对应的多模信息。进而能够利用不同数据对应的不同特点,识别各个层次和不同维度的用户行为并达到更好的语音识别效果。
步骤S404、手机检测音频数据对应的气流特征值是否大于第三预设阈值,且声压差值是否大于第四预设阈值;若是,则执行步骤S409,反之,则执行步骤S408。
在本申请的一些实施例中,为便于更精确地检测是否触发语音交互功能,继续参见图5,手机可以对音频数据进行语音检测、语音气流检测以及声压级差检测生成的结果,进行近讲语音信息融合。也就是说,可以对上述检测得到的语音信息进行融合判定,确定用户是否靠近手机讲话。
在一种可实现方式中,手机可以对音频数据对应的气流特征值和声压差值进行进一步的判定。若气流特征值越大,则可以表明音频数据中存在风噪声音信号的可能性越大。同样地,若声压差值越大,则可以表明不同麦克风之间接收到的声压级不同,即声音的大小不同。并且不同麦克风之间接收到的声音大小差异很大。这样,当手机中不同麦克风之间接收到的声音大小具有差异时,能够确定声源靠近某个麦克风。
基于上述,本申请实施例通过设定第三预设阈值以及第四预设阈值,将气流特征值和声压差值进行融合判定。
在气流特征值大于第三预设阈值且声压差值大于第四预设阈值时,启动语音交互应用。也就是说,当气流特征值满足第三预设阈值,说明音频数据中语音气流特征的特征明显程度较大。并且声压差值满足第四预设阈值时,说明声源靠近电子设备距离电子设备中麦克风较近。进而能够确定用户在靠近手机并且讲话,触发启动语音交互应用。
示例性的,第四预设阈值为6dB,第三预设阈值为0.8。当将音频数据中的吐气音素与风噪声片段的重合度大于0.8,且手机中顶部麦克风相比与底部麦克风声压级衰减量大于6dB时,则判定该音频数据中包括用户说话产生的风噪声音的可能性较大,以及判定声源靠近底部麦克风。进而确定用户在靠近手机讲话。
在本申请的一些实施例中,基于上述将气流特征值和声压差值进行融合判定,在气流特征值和声压差值两者均满足判定条件的情况下,说明对音频数据的判定条件较为严格。也就是说,在气流特征值和声压差值两者不满足判定条件的情况下,并不能完全确定用户没有靠近手机且讲话。
由此,手机在语音气流特征的气流特征值小于或者等于第三预设阈值或声压差值小于或者等于第四预设阈值时,还可以在根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值时,获取音频数据对应的声源方向和第二传感数据。以便于后续结合音频数据与其他传感器的传感数据再次综合确定是否后续触发语音交互功能。
步骤S405、手机根据第一传感数据确定手机的位置变化程度是否大于第一预设阈值。
步骤S406、手机在根据第一传感数据确定手机的位置变化程度大于第一预设阈值时,获取音频数据对应的声源方向和第二传感数据。
在本申请的一些实施例中,本申请实施例可以对用户的语音信息和姿态信息等多模信息,来综合判断是否启动语音交互应用。也就是说,手机中的第一传感器和麦克风是常开的,通过第一传感器采集的第一传感数据和麦克风采集的音频数据来综合判断是否启动语音交互应用。其中,音频数据可以用于表征用户对应的语音信息,第一传感数据可以用于表征用户对应的姿态信息。
由此,继续参见图5,手机在根据第一传感数据确定手机的位置变化程度大于第一预设阈值的过程中,可以根据第一传感数据确定位置特征值,位置特征值用于表征电子设备的位置变化程度。之后,手机再确定位置特征值表征的位置变化程度大于第一预设阈值。也就是说,当位置特征值越大,说明手机的位置变化程度越大,进而可以表明用户移动手机的可能性越大。
其中,第一传感数据由第一传感器采集,第一传感器可以包括陀螺仪传感器。具体地,手机可以获取第一传感数据中第一时刻的加速度数据以及第二时刻的加速度数据;根据第一时刻的加速度数据以及第二时刻的加速度数据,计算得到加速度变化数据对应的位置特征值;如果位置特征值大于第一预设阈值,则判定手机的位置变化程度较大。其中,第一时刻为手机被拿起的起始时刻,第二时刻为手机在本次拿起过程的终止时刻。本申请实施例不对第一时刻和第二时刻进行具体限定。在手机被拿起的过程中还可以包括多个第一时刻和第二时刻。
在上述判断位置特征值是否大于第一预设阈值的过程中,手机可以在加速度变化数据中解析手机在三个轴坐标方向上的移动角度;如果在三个轴坐标方向上的移动角度均大于第一预设阈值,则确定位置特征值大于第一预设阈值。
示例性的,手机实时监测并接收第一时刻和第二时刻陀螺仪传感器采集的加速度数据。其中,加速度数据包括三个轴坐标(X、Y及Z轴)上的加速度数据。由于加速度数据表示三个轴坐标方向上采集的加速度数据,当其中一个轴上的加速度数据变化时,说明在该轴坐标方向上,手机发生位移。因此,可通过判断加速度数据三个轴方向上的变化数据确定手机是否发生移动。接着,将三个轴坐标方向的加速度数据转换为角速度数据,通过角速度数据判定手机在三个轴坐标方向上的移动角度。
本申请实施例对预设加速度阈值不作数值上的限定,本领域技术人员可以根据实际需求自行确定预设加速度阈值的取值,例如0.1、0.2、0.3等,这些设计均没有超出本申请实施例的保护范围。
同时,由于加速度数据是由陀螺仪传感器实时采集的。进而,可进行多次获取不同时刻即多组的加速度数据的过程,以便于更加精确地判定手机是否真正地发生移动。本申请实施例不对获取和判断过程的执行次数进行具体限定,可根据具体手机对应的设备状态进行多次设置,且均在本申请实施例的保护范围内。
再示例性的,手机还可以将第一传感数据输入至训练完成的第二模型中,生成对应的位置特征值。在位置特征值大于第一预设阈值时,即确定电子设备的位置变化程度满足预设程度,进而可以确定电子设备的位置变化程度较大,表明用户抬起手机。本申请不对第一模型以及第二模型的模型类型进行具体限定。
之后,在本申请的一些实施例中,在音频数据中包括语音信号,且根据第一传感数据确定电子设备的位置变化程度大于第一预设阈值时,获取音频数据对应的声源方向和第二传感数据。其中,第二传感数据用于表征电子设备与用户之间的距离变化情况。
在本申请的一些实施中,手机在获取第二传感数据和声源方向之前,可以获取第三传感数据,第三传感数据用于表征电子设备的姿态情况。在根据第三传感数据确定显示屏的朝向用户时,获取音频数据对应的声源方向和第二传感数据。
第三传感数据由第三传感器采集,第三传感器可以包括重力加速度传感器。具体地,重力加速度传感器用于获取手机的姿态信息。重力加速度传感器可以感知设备X轴,Y轴,Z轴三个方向的前后数据变化,如手机的原点为左下角,X轴,Y轴,Z轴第一重力加速度数据为(0,0,9)。T1时刻,手机水平放置,屏幕朝上,X轴,Y轴,Z轴的第二重力加速度数据为(0,0,9),T2时刻,用户拿起手机,手机直立垂直平面,屏幕正对用户,X轴,Y轴,Z轴的第三加速度数据为(0,9,0)。这样,手机可以根据第三传感数据确定显示屏的朝向方向。在根据第三传感数据确定显示屏的朝向用户时,执行后续获取音频数据对应的声源方向和第二传感数据的步骤。避免出现显示屏背向用户时触发语音交互功能的误触发情况。
在本申请的一些实施例中,在音频数据包括语音信号的情况下,手机还可以进行声源方向检测,确定声源方向对应的声源角度。其中,声源角度为声源方向与参考方向之间的夹角,声源方向为由手机的收音位置(如麦克风位置)指向声源的方向,参考方向为经过手机的收音位置、垂直于手机的显示屏且向上延伸的方向;声源角度可以大于或者等于0°,且小于或者等于180°。
也就是说,手机可以根据麦克风阵列中多个麦克风采集的音频数据,进行声源定位,以确定进行讲话的用户对应的位置信息。所确定的位置信息可以是用户的二维位置坐标,也可以是用户相对于多个麦克风的方位角和距离。其中,方位角为用户在多个麦克风所在的坐标系中的方位角,距离为用户与多个的中心位置之间的距离。
示例性的,手机获取多个麦克风采集的音频数据,将每个音频数据转换成对应的频域信号。之后,对每个音频数据对应的频域信号进行交叉频谱演算,得到多个麦克风采集到音频数据的时间差。接着,对转换得到的各个频域信号进行交叉频谱演算,得到第二麦克风至第n麦克风采集到声源的时刻分别与第一麦克风采集到声源的时刻之间的时间差(t
由此,本申请实施例通过对声源方向进行检测,可以确定声源相对于电子设备的位置信息,即用户相对于手机的位置信息。便于后续手机基于用户对应的位置信息,能够精准地确定是否启动语音交互应用。
在本申请的一些实施例中,手机可以根据第一传感数据和/或第二传感数据来表征用户对应的姿态信息。当然手机也可以根据第一传感数据、第二传感数据和第三传感数据来表征用户对应的姿态信息。可以理解的是,第一传感数据用于表征手机的移动情况,即可以表征用户是否移动手机。第二传感数据用于表征手机与用户的距离变化情况,即可以表征用户是否靠近手机。第三传感数据可以表征手机显示屏的朝向方向,即可以表征用户是否将手机显示屏面向自己。也就是说,手机可以结合音频数据和第一传感数据、第二传感数据和第三传感数据,综合确定是否启动语音交互应用。
在一种可实现的方式中,手机可以进一步获取不同传感器采集的数据,来针对用户对应的姿态信息进行精准的识别。继续参见图5,手机获取第二传感器采集的第二传感数据,并对第二传感数据进行人脸距离以及靠近过程检测和超声波距离以及靠近过程检测。以实现对用户姿态信息进一步识别。
其中,第二传感器可以包括图像传感器和距离传感器,图像传感器和距离传感器不是常开的。手机在检测第一传感数据对应的位置特征值大于第一预设阈值的情况下,触发开启图像传感器和距离传感器,进而获取到对应的第二传感数据。
具体地,参见图6,以用户拿起手机至人脸前方的场景作为示例,参见图6中的(A)至图6中的(B),用户将手机拿起,并手持手机保持水平方向。之后,参见图6中的(B)至图6中的(C),用户从手持手机保持水平方向变化至手持手机保持距水平方向45°的位置。也就是说,用户将手机拿起的过程,手机距离用户的距离是由远至近进行变化的。由此,手机可以通过第二传感数据来表征手机与用户之间的距离变化情况,进而表征用户对应的姿态信息。
其中,第二传感数据可以包括第一距离数据和第一距离变化数据,第一距离数据用于表征手机与用户人脸的距离,第一距离变化数据用于表征手机在移动至用户人脸的距离变化过程。第一距离数据可以大于或者等于5厘米,且小于或者等于15厘米。
在一种可实现方式中,图像传感器可以包括第一颜色(red green blue,RGB)图像传感器、第二颜色(red yellow blue,RYB)图像传感器、黑白图像传感器、飞行时间法(timeof flight,TOF)传感器以及红外图像传感器等。
以TOF传感器作为示例,手机中可以设置有TOF传感器,TOF传感器可以靠近摄像头设置。TOF传感器通常是通过飞行时间法来测量被测目标的深度数据,具体地,飞行时间法通过测量测量仪器主动发出的脉冲信号从发射到接收的时间间隔T(常被称为脉冲测距法)或激光往返被测物体一次所产生的相位差(相位差测距法),以换算成被拍摄目标的距离。
示例性的,当用户在对手机进行讲话时,需要将手机靠近人脸。手机中的TOF传感器采集对应的深度图像。之后,手机识别深度图像中的人脸区域,并且通过人脸区域在深度图像中对应的区域,得到人脸区域的平均深度值。进而,将人脸区域的平均深度值确定为第一距离数据。
同样地,手机中的TOF传感器可以采集两个不同时刻对应的不同深度图像,得到人脸区域的第一平均深度值和第二平均深度值。进而,将第一平均深度值和第二平均深度值之间的差值确定为第一距离变化数据。
之后,根据第一距离数据和第一距离变化数据,确定第一距离特征值,第一距离特征值用于表征手机与用户人脸的接近程度。示例性的,可以将第一距离数据和第一距离变化数据设置不同权重,确定第一距离特征值。当第一距离数据越小,第一距离变化数据越大,得到的第一距离特征值越小,即表征手机与用户人脸越接近。
距离传感器可以包括超声波距离传感器、激光距离传感器以及红外线距离传感器等。
以超声波距离传感器作为示例,手机中可以设置有超声波距离传感器,超声波距离传感器可以靠近扬声器设置。超声波距离传感器可以播放超声波信号,并采用超声波回波测距原理,来检测超声波距离传感器和用户声源之间的距离。
示例性的,当用户在对手机进行讲话时,需要将手机靠近嘴部。手机中的超声波距离传感器向空气中传播超声波,在碰到障碍物即用户就立即返回来。超声波距离传感器接收到反射波后,根据发射和接收回波的时间差和超声波在空气中的传播速度,进而计算出超声波距离传感器距障碍物的距离,即计算出用户至手机之间的距离(第二距离数据)。
同样地,超声波距离传感器可以采集两个不同时刻距障碍物的距离,得到第一障碍物距离和第二障碍物距离。进而,将第一障碍物距离和第二障碍物距离之间的差值确定为第二距离变化数据。
之后,根据第二距离数据和第二距离变化数据,确定第二距离特征值,第二距离特征值用于表征手机与声源的接近程度。本申请实施例不对如何确定第一距离特征值和第二距离特征值的具体实施方式进行具体限定。
可见,本申请实施例除了针对音频数据进行处理之外,还会对其他不同传感器采集的传感数据进行处理。针对用户对应的语音信息和姿态信息两方面,来判定是否后续启动语音交互应用。
在第一传感数据对应的位置特征值大于第一预设阈值的情况下,才会启动第二传感器进行数据采集。如果在第一传感器采集第一传感数据的过程中,一直控制第二传感器和第三传感器进行数据采集,会浪费大量的手机资源。
若第一传感数据对应的位置特征值小于第一预设阈值,则不再需要第二传感数据。由此,本申请实施例能够减少手机的功耗,避免不必要资源如电量的浪费。
步骤S407、手机根据声源方向对应的声源角度和第二传感数据对应的第一距离特征值和第二距离特征值,确定目标距离特征值。
在本申请实施例中,手机在根据声源方向和第二传感数据确定电子设备靠近用户时,启动语音交互应用的过程中,可以根据声源方向对应的声源角度和第二传感数据对应的第一距离特征值和第二距离特征值,确定目标距离特征值。之后,手机在根据目标距离特征值确定电子设备靠近用户时,才会启动语音交互应用。
具体地,手机在声源角度小于角度阈值的情况下,将第一距离特征值确定为目标距离特征值;或者,在声源角度大于或者等于角度阈值的情况下,将第二距离特征值确定为目标距离特征值。
在本申请的一些实施例中,可以基于上述步骤S406得到的声源角度,来设定第一距离特征值和第二距离特征值对应的权重,进而完成用于表征用户姿态信息的融合。
参见图7,以手机水平放置为例,用户讲话时若与手机之间的声源角度越小,说明用户的人脸越靠近且面向手机的屏幕。相反,用户讲话时若与手机之间的声源角度越大,说明声源越靠近手机的收音位置如麦克风。这样,在声源角度小于角度阈值的情况下,可以将图像传感器对应的第一距离特征值的权重设置为1,而超声波距离传感器对应的第二距离特征值的权重设置为0。反之,在声源角度大于或者等于角度阈值的情况下,可以将图像传感器对应的第一距离特征值的权重设置为0,而超声波距离传感器对应的第二距离特征值的权重设置为1。当然,本申请实施例不对第一距离特征值和第二距离特征值对应的权重进行具体的限定。
示例性的,角度阈值可以为45°。手机在确定声源角度小于角度阈值如45°的情况下,设置图像传感器对应的第一距离特征值的权重为1,即目标距离特征值为第一距离特征值。反之,设置超声波距离传感器对应的第二距离特征值的权重为1,即目标距离特征值为第二距离特征值。
可见,本申请实施例提出的第一距离特征值和第二距离特征值均在不同维度表征用户与手机之间的距离以及用户将手机移动至人脸的变化过程。也可以进一步表征用户对应的姿态信息并确定用户使用手机时的具体场景。便于后续针对用户的姿态信息和语音信息等多模信息来确定是否启动语音交互应用,避免根据单一传感器的传感信息来确定启动语音交互应用,而导致误启动的情况发生。
步骤S408、手机检测目标距离特征值、位置特征值以及气流特征值之和是否大于第二预设阈值。若是,则执行步骤S409,反之,则执行步骤S410。
步骤S409、手机启动语音交互应用,并通过语音交互应用,执行语音信号对应的应答响应操作。
步骤S410、手机不启动语音交互应用。
在本申请的一些实施例中,继续参见图5,手机在得到上述用于表征用户的语音信息和姿态信息之后,还可以结合上述语音信息和姿态信息继续进行融合判定,以综合表征用户不同方面的信息来进一步判定是否需要启动语音交互应用。
手机在根据声源方向对应的声源角度和第二传感数据确定手机靠近用户的过程中,可以根据语音气流特征、目标距离特征值和第一传感数据确定手机靠近用户。具体地,在语音气流特征的气流特征值、目标距离特征值和位置特征值之和大于第二预设阈值时,确定手机靠近用户。
也就是说,当目标距离特征值越大,说明用户越靠近手机。当位置特征值越大,说明手机自身发生了移动且位置变化程度较大。当音频数据对应的气流特征值越大时,说明音频数据存在风噪声音信号的可能性越大,即能够确定该音频数据由用户输入且用户靠近手机。由此,本申请实施例可以对气流特征值、目标距离特征值和位置特征值设定权重。
在一种可实现的方式中,手机启动语音交互应用,并将音频数据发送至服务器。反之,手机在检测目标距离特征值、位置特征值以及气流特征值之和小于或者等于第二预设阈值的情况下,不启动语音交互应用。
在本申请的一些实施例中,手机通过语音交互应用,执行语音信号对应的应答响应操作的过程中,可以语音提示应答结果,应答结果由服务器对语音信号进行语义理解后生成;和/或,显示目标界面,目标界面包括应答结果。在本申请的一些实施例中,手机在显示目标界面之前,可以提示第一信息,第一信息用于提示已运行语音交互应用。
示例性的,第一信息可以是以文本形式显示在用户界面中。参见图8中的(A),第一信息为:“语音交互应用正在运行”。再示例性的,第一信息还可以动效图像的形式显示在用户界面中。参见图8中的(B),例如,动效图像中包括心形图像,且心形图像沿顺时针或逆时针方向呈现转动变化。
综上,本申请实施例可以在用户的语音信息和姿态信息等维度来综合进行语音交互识别。具体地,不仅可以单独对采集到的用于表征用户语音的音频数据进行判断,还可以结合采集到的用于表征用户姿态的传感数据进行融合判定。
其中,在仅用音频数据进行判定的过程中,需要对音频数据的判定条件较为严格,才能启动语音交互应用。在融合判定的过程中,通过针对两类不同维度的数据进行识别,有效提升了语音交互识别的准确性,避免发生误识别的情况。进而,提高了用户的使用体验感。
在本申请的一些实施例之后,图9为本申请实施例示出的一种电子设备与服务器进行语音交互的示意图。如图9所示,手机与服务器的语音交互过程可以包括如下步骤S501-S504。
步骤S501、手机启动语音交互应用后将音频数据发送至服务器。
步骤S502、服务器对音频数据进行语义理解,生成音频数据对应的语义信息。
步骤S503、服务器若检测到与语义信息匹配的应答结果,则将应答结果返回至手机。
在本申请的一些实施例中,手机在启动语音交互应用后,将音频数据发送至服务器。其中,音频数据中包括用户输入的语音信息。继续参见图5,服务器可以将接收到的音频数据进行语义理解,生成音频数据对应的语义信息。之后,服务器在语义数据库中查找是否存在与语义信息匹配的应答结果。
在一种可实现方式中,若服务器查找到与语义信息匹配的应答结果,则将应答结果返回至手机。
具体地,本申请实施例中服务器采用自动语音识别先将接收到的音频数据转化为文本信息即语音信息。其中,自动语音识别(automatic speech recognition,ASR)技术是让计算机能够“听写”出不同用户所说出的连续语音,也就是俗称的“语音听写机”。是实现“声音”到“文字”转换的技术。示例性的,用户对手机讲出的话为“请打开设置应用”。手机将该音频数据发送至服务器,服务器预先针对该音频数据进行自动语音识别,生成对应的文本信息即“请打开设置应用”。
之后,服务器还需对文本信息进行语义理解,生成语义信息。以及查找是否存在与语义信息匹配的应答结果。示例性的,服务器可以将文本信息进行自然语言理解,生成对应的查询语句即语义信息。服务器根据查询语句在语义数据库中进行检索,查找并输出与查询语句匹配的应答结果。也就是说,服务器需要从语义信息中提取出用户的服务需求,并根据用户的服务需求返回手机对应的应答结果。
在一种可实现的方式中,查询语句与应答结果匹配指的是两者具有对应关系,即用户的服务需求与手机相关联。当然本申请实施例不对服务器如何查询应答结果的具体实现方式进行限定。
示例性的,查询语句为:“请打开设置应用”,用户的服务需求即想要打开设置应用。而设置应用为手机中安装的系统应用,即满足用户的服务需求与手机相关联。由此,服务器可以检测到与语义信息对应的应答结果,例如:“好的,即将为您打开设置应用”,并将应答结果返回至手机。手机也可以将该应答结果进行语音提示,和/或在目标界面中显示该应答结果。
在一种可实现的方式中,服务器在进行语义理解的过程中,可以基于语义理解模型,对文本信息进行语义理解。具体地可以将文本信息输入至语义理解模型,识别用户意图,便于后续为用户提供相应的服务。
在本申请的一些实施例中,服务器在将应答结果返回至手机的过程中,还可以将音频数据对应的文本信息返回至手机。其中,音频数据对应的文本信息为服务器对音频数据进行语音识别之后得到对应的语音识别文本。应答结果为服务器对语音识别文本进行语义理解得到的语义理解文本。例如,音频数据对应的文本信息为:“请打开设置应用”,应答结果为:“好的,即将为您打开设置应用”。
步骤S504、手机语音提示应答结果和/或显示目标界面,目标界面包括应答结果。
在本申请的一些实施例中,手机中的语音交互应用启动之后,接收到服务器发送的应答结果,可以控制显示屏显示目标界面,目标界面包括应答结果。在手机显示应答结果的过程中,还可以将服务器发送的音频数据对应的文本信息进行显示。
示例性的,手机在显示应答结果和文本信息的过程中,可以以悬浮框和语音播报的形式进行显示。参见图10,手机可以控制悬浮框显示在用户界面的预设位置,并且语音播放悬浮框中显示的语音文本。例如,靠近屏幕的顶部端面或底部端面。其中,悬浮框中包括第一显示区和第二显示区。第一显示区用于显示音频数据对应的文本信息如“请打开设置应用”,第二显示区用于显示应答结果如“好的,即将为您打开设置应用”。
在一种可实现方式中,手机在显示用户界面(如主屏幕界面和应用程序界面)的情况下,继续参见图10,可以将上述悬浮框按照一定比例覆盖显示在用户界面上方。可以让用户感知的同时避免对用户界面进行大面积的遮挡。
在一种可实现方式中,手机在不显示用户界面的情况下,也可以将上述悬浮框按照一定比例覆盖显示在解锁界面上方。也就是说,参见图11,用户在当前未对手机进行操作的情况下,手机当前呈现黑屏状态。之后,用户利用语音与手机进行交互。手机可以触发显示解锁界面,并显示悬浮框。
在另一种可实现方式中,手机可以语音提示应答结果。例如,音频数据对应的查询语句为:“请拨号给李女士”,用户的服务需求即想要与李女士通信。那么,应答结果可以语音提示为:“好的,正在拨号给李女士”。
可见,手机在显示应答结果和音频数据对应的文本信息的过程中,若在显示用户界面的状态下,检测到语音交互功能被触发,保持用户界面的显示。并且在用户界面的预设位置显示应答结果和音频数据对应的文本信息。避免对原有用户界面的产生影响,使语音交互功能更好地与手机融为一体。手机若在未显示用户界面的状态下,检测到语音交互功能被触发,控制显示解锁界面。并且在解锁界面的预设位置显示应答结果和音频数据对应的文本信息。
本申请实施例可以在手机显示用户界面和未显示用户界面两种场景下,检测到语音交互功能被触发,对用户进行快速响应,提高用户的使用体验感。
在一些方案中,可以对本申请的多个实施例进行组合,并实施组合后的方案。可选的,各方法实施例的流程中的一些操作任选地被组合,并且/或者一些操作的顺序任选地被改变。并且,各流程的步骤之间的执行顺序仅是示例性的,并不构成对步骤之间执行顺序的限制,各步骤之间还可以是其他执行顺序。并非旨在表明执行次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本申请实施例所描述的操作进行重新排序。另外,应当指出的是,本申请某个实施例涉及的过程细节同样以类似的方式适用于其他实施例,或者,不同实施例之间可以组合使用。
此外,方法实施例中的某些步骤可等效替换成其他可能的步骤。或者,方法实施例中的某些步骤可以是可选的,在某些使用场景中可以删除。或者,可以在方法实施例中增加其他可能的步骤。
本申请实施例还提供了一种语音识别装置,语音识别装置包括获取模块、音频分析模块、传感数据分析模块、音频融合模块以及综合位姿融合模块。获取模块用于获取音频数据、第一传感数据、第二传感数据和第三传感数据。音频分析模块用于检测音频数据中是否包括语音信号、提取音频数据对应的语音气流特征和声源方向以及不同麦克风针对音频数据的声压差值。音频融合模块用于将语音气流特征的气流特征值和声压差值进行融合判定是否启动语音交互应用。传感数据分析模块用于根据第一传感数据确定位置特征值、根据第二传感数据确定目标距离特征值以及根据第三传感数据确定显示屏朝向方向。综合位姿融合模块用于根据语音气流特征的气流特征值、目标距离特征值和位置特征值进行融合判定是否启动语音交互应用。
本申请实施例还提供了一种电子设备,例如手机,参见图12,该手机包括:存储器1020和一个或多个处理器1010和通信接口1030。
其中,存储器1020、通信接口1030与处理器1010耦合。例如,存储器1020、通信接口1030与处理器1010可以通过总线1040耦合在一起。上述存储器中还存储有计算机程序代码,该计算机程序代码包括计算机指令。当计算机指令被处理器执行时,电子设备可执行上述方法实施例中手机100执行的各个功能或者步骤。该电子设备的结构可以参考图2所示的手机100的结构。
本申请实施例还提供一种芯片系统,该芯片系统包括至少一个处理器和至少一个接口电路。处理器和接口电路可通过线路互联。例如,接口电路可用于从其他装置(例如电子设备的存储器)接收信号。又例如,接口电路可用于向其他装置(例如处理器)发送信号。示例性的,接口电路可读取存储器中存储的指令,并将该指令发送给处理器。当所述指令被处理器执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中手机执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,既可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 一种语音交互方法、装置、电子设备及可读存储介质
- 一种语音交互的方法、电子设备及计算机存储介质
- 语音交互方法、装置以及电子设备、计算机可读介质
- 一种VR语音交互系统及其交互方法
- 一种语音信息推送方法、装置、电子设备及存储介质
- 语音交互方法、语音交互装置、电子设备、存储介质
- 语音交互方法、语音交互设备、电子设备及存储介质