CN117524211A - 分布式语音唤醒方法和装置、存储介质及电子装置 - Google Patents

分布式语音唤醒方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN117524211A
CN117524211A CN202210908364.4A CN202210908364A CN117524211A CN 117524211 A CN117524211 A CN 117524211A CN 202210908364 A CN202210908364 A CN 202210908364A CN 117524211 A CN117524211 A CN 117524211A
Authority
CN
China
Prior art keywords
equipment
voice
wake
intelligent
broadcast packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210908364.4A
Other languages
English (en)
Inventor
姬光飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Original Assignee
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Haier Technology Co Ltd, Haier Smart Home Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202210908364.4A priority Critical patent/CN117524211A/zh
Publication of CN117524211A publication Critical patent/CN117524211A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种分布式语音唤醒方法和装置、存储介质及电子装置,应用于智能设备,该方法包括:接收第一设备发送的、用于指示第一设备响应于检测到的语音唤醒指令已被激活的第一广播包,第一设备与智能设备均属于目标设备组,目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒;在智能设备处于未激活状态时,获取与语音唤醒指令对应的语音采集数据;根据语音采集数据,确定智能设备的设备特征信息,将智能设备的设备特征信息发送给目标服务器,智能设备的设备特征信息用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备;响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作。

Description

分布式语音唤醒方法和装置、存储介质及电子装置
技术领域
本申请涉及智能家居/智慧家庭技术领域,具体而言,涉及一种分布式语音唤醒方法和装置、存储介质及电子装置。
背景技术
目前,在一个家庭场景中,往往存在多个语音唤醒语音设备,为了避免多个语音设备在唤醒的时候出现同时应答的情况,可以使用分布式唤醒方法,对于同一次唤醒,进行唤醒决策,选取合适(一般选择距离用户最近的)的唯一语音设备进行响应。
然而,上述语音设备的语音唤醒方式,由于不同语音设备被唤醒的时间不一样,而唤醒决策需要获取组内所有语音设备的语音设备特征信息,会出现分布式决策的等待时间较长导致唤醒响应速度慢的情况,甚至由于等待时间较长出现多个语音设备同时被唤醒的情况,进而导致语音设备唤醒的效率和准确性较低,影响用户的使用体验。
由此可见,相关技术中的设备的唤醒方式,存在由于分布式决策的等待时间较长导致的语音设备唤醒的效率和准确性低的问题。
发明内容
本申请实施例提供了一种分布式语音唤醒方法和装置、存储介质及电子装置,以至少解决相关技术中的设备的唤醒方式存在由于分布式决策的等待时间较长导致的语音设备唤醒的效率和准确性低的问题。
根据本申请实施例的一个方面,提供了一种分布式语音唤醒方法,应用于智能设备,包括:接收第一设备发送的第一广播包,其中,所述第一设备与智能设备均属于目标设备组,所述目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,所述第一广播包用于指示所述第一设备响应于检测到的所述语音唤醒指令已被激活;在所述智能设备处于未激活状态的情况下,响应于所述第一广播包,获取与所述语音唤醒指令对应的语音采集数据;根据所述语音采集数据,确定所述智能设备的设备特征信息,并将所述智能设备的设备特征信息发送给目标服务器,其中,所述智能设备的设备特征信息用于确定所述智能设备是否为所述目标设备组中响应所述语音唤醒指令被唤醒的设备;响应于所述目标服务器发送的设备唤醒指示信息,执行与所述设备唤醒指示信息对应的设备操作。
根据本申请实施例的另一个方面,还提供了一种分布式语音唤醒装置,应用于智能设备,包括:第一接收单元,用于接收第一设备发送的第一广播包,其中,所述第一设备与智能设备均属于目标设备组,所述目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,所述第一广播包用于指示所述第一设备响应于检测到的所述语音唤醒指令已被激活;获取单元,用于在所述智能设备处于未激活状态的情况下,响应于所述第一广播包,获取与所述语音唤醒指令对应的语音采集数据;第一确定单元,用于根据所述语音采集数据,确定所述智能设备的设备特征信息,其中,所述智能设备的设备特征信息用于确定所述智能设备是否为所述目标设备组中响应所述语音唤醒指令被唤醒的设备;第一发送单元,用于将所述智能设备的设备特征信息发送给目标服务器;第一执行单元,用于响应于所述目标服务器发送的设备唤醒指示信息,执行与所述设备唤醒指示信息对应的设备操作。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述分布式语音唤醒方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的分布式语音唤醒方法。
在本申请实施例中,采用通过先唤醒的语音设备发送广播包,激活组内其他设备并上传设备特征信息至服务器,以由服务器判决最后进行响应的语音设备的方式,通过接收第一设备发送的第一广播包,其中,第一设备与智能设备均属于目标设备组,目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,第一广播包用于指示第一设备响应于检测到的语音唤醒指令已被激活;在智能设备处于未激活状态的情况下,响应于第一广播包,获取与语音唤醒指令对应的语音采集数据;根据语音采集数据,确定智能设备的设备特征信息,并将智能设备的设备特征信息发送给目标服务器,其中,智能设备的设备特征信息用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备;响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作,由于被唤醒激活的语音设备通过发送广播包激活未被语音唤醒指令激活的其他语音设备,可以加快激活同一组内所有语音设备的速度,可以实现缩短分布式决策的等待时间的目的,达到提升语音设备唤醒的效率和准确性的技术效果,进而解决了相关技术中的设备的唤醒方式存在由于分布式决策的等待时间较长导致的语音设备唤醒的效率和准确性低的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种分布式语音唤醒方法的硬件环境示意图;
图2是根据本申请实施例的一种可选的分布式语音唤醒方法的流程示意图;
图3是根据本申请实施例的另一种可选的分布式语音唤醒方法的流程示意图;
图4是根据本申请实施例的一种可选的分布式语音唤醒方法的示意图;
图5是根据本申请实施例的另一种可选的分布式语音唤醒方法的示意图;
图6是根据本申请实施例的又一种可选的分布式语音唤醒方法的示意图;
图7是根据本申请实施例的又一种可选的分布式语音唤醒方法的示意图;
图8是根据本申请实施例的一种可选的分布式语音唤醒装置的结构框图;
图9是根据本申请实施例的一种可选的电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种分布式语音唤醒方法,可以应用于智能设备。该分布式语音唤醒方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(Intelligence House)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述分布式语音唤醒方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等可以进行语音交互的语音设备。
本申请实施例的分布式语音唤醒方法可以由服务器104来执行,也可以由终端设备102来执行,还可以是由服务器104和终端设备102共同执行。其中,终端设备102执行本申请实施例的分布式语音唤醒方法也可以是由安装在其上的客户端来执行。
以由终端设备102来执行本实施例中的分布式语音唤醒方法为例,图2是根据本申请实施例的一种可选的分布式语音唤醒方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤S202,接收第一设备发送的第一广播包,其中,第一设备与智能设备均属于目标设备组,目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,第一广播包用于指示第一设备响应于检测到的语音唤醒指令已被激活。
本实施例中的分布式语音唤醒方法可以应用到通过语音唤醒智能设备的语音交互功能的场景。这里的语音唤醒可以是将处于休眠状态的语音设备唤醒,由休眠状态切换成工作状态,这里,语音唤醒的可以是语音设备的语音交互功能。上述语音设备可以是智能设备。在整个语音唤醒的过程中,用户不需要进行其他操作,可以直接通过语音进行唤醒。同时,通过语音唤醒的机制,语音设备不需要一直处于工作状态,可以节省能耗。语音设备可以是机器人、手机、可穿戴设备、智能家居、车载等有语音交互功能的智能设备。
当同一环境中存在多个语音设备,而用户只想唤醒其中一个语音设备时,为了避免出现多个语音设备在唤醒的时候同时应答的情况,可以采用分布式唤醒方案:在一个家庭组网内,对于同一次唤醒,根据多个语音设备中的每个语音设备的设备特征信息,进行唤醒决策,选取合适的唯一语音设备进行响应,比如,选取打分值最高的语音设备为最终响应唤醒的语音设备,这里的打分可以是根据获取到的唤醒语音的能量计算后得到的能量值,还可以是根据其他的设备特征确定的设备分值。
然而上述分布式唤醒方案中,唤醒决策需要等待同一组内的所有设备的设备特征信息上传完毕后才能进行判断,而由于不同语音设备的算法不完全相同,其设备特征信息的上传时间可能会存在较大的差异,从而造成唤醒决策所用的时间较长,对应语音设备的唤醒响应速度较慢。同时,可能由于部分语音设备上传设备特征信息较慢,导致出现唤醒决策失败,出现两个或两个以上的语音设备同时响应的情况。
例如,可以通过云端判决的方式进行分布式唤醒。在语音设备唤醒时,语音设备把计算的设备特征信息(例如,设备打分、设备标识等)上传至云端,云端根据上传的设备特征信息两两比较语音设备的打分,给打分低的语音设备下发抑制唤醒事件;语音设备在一定的时间窗口内(比如300ms)收到云端判决信息,根据云端判决信息选择唤醒或者抑制唤醒,或者,进行超时唤醒。如图3所示,分布式唤醒流程可以如下:
步骤S302,设备1在T1时刻唤醒;
步骤S304,设备1上传本设备计算的设备特征信息到云端;
步骤S306,设备1在固定时间等待云端判决结果;
步骤S308,云端收到设备1的设备特征信息(或称唤醒信息),由于还没有收到组内其他设备的设备特征信息,无法判决,云端只能等待其他设备的设备特征信息上传;
步骤S310,设备2在T2时刻唤醒;
步骤S312,设备2上传本设备计算的设备特征信息到云端;
步骤S314,设备2在固定时间等待云端判决结果;
步骤S316,云端收到设备2的设备特征信息,比较两个设备的打分,给打分低的设备下发抑制唤醒信息,如果组内设备已经全部唤醒,则给打分最高的设备下发唤醒信息,否则不下发,依靠终端超时唤醒;
步骤S318,设备1收到判决结果;
步骤S320,设备1确定唤醒或者不唤醒;
步骤S322,设备2收到判决结果;
步骤S324,设备2确定唤醒或者不唤醒。
然而,当设备唤醒时刻T1和设备唤醒时刻T2相差的时间的绝对值,与上传到云端花费的时间T3、云端下发判决信息到终端的时间T4之和小于设备的等待窗口T5,即:|T1-T2|+T3+T4<T5时,打分小的设备可以成功抑制,但是设备的响应时间会比较久,因为设备1和设备2会有一个等待的时间delataT=|T1-T2|。
此外,当设备唤醒时刻T1和设备唤醒时刻T2相差的时间的绝对值,与上传到云端花费的时间T3、云端下发判决信息到终端的时间T4之和大于设备的等待窗口T5,即:|T1-T2|+T3+T4>T5时,会导致分布式的抑制失败,设备会同时响应。
为至少部分解决上述问题,可以通过被语音唤醒指令(例如,预设的唤醒词)唤醒的语音设备广播唤醒事件至其他设备,通过广播激活其他设备,其他设备被激活后,可以直接确定本设备的设备特征信息(例如,进行语音能量的计算)并上传,不需要继续等待被语音唤醒指令唤醒。通过广播唤醒事件,缩短唤醒决策的等待时间,提高语音设备的唤醒响应速度。
需要说明的是,语音设备被语音唤醒指令唤醒是指语音设备被语音唤醒指令激活,而不是实际被唤醒(即,唤醒语音交互功能,对语音唤醒指令进行响应),需要基于云端下发的唤醒决策或者超时自主唤醒之后,才是实际被唤醒。在被唤醒之后,语音设备可以与用户进行语音交互,先对语音唤醒指令进行响应,再基于后续下发的语音控制指令,执行对应的设备操作。
可选地,可以设置包含多个语音设备的设备组,一个设备组内的多个语音设备可以均是与同一对象绑定的语音设备,其可以均是同一路由下的语音设备,可以是处于同一房间区域的语音设备,还可以是由所绑定到的对象所配置的、属于该设备组的语音设备。同一设备组内的语音设备可以使用相同的语音唤醒指令进行激活。
同一设备组内除了包含语音设备以外,还可以包含不具备语音交互功能的其他设备,在进行语音唤醒决策时可以仅基于其中的语音设备进行处理。一个语音设备可以保存有同一设备组内的其他语音设备的设备信息,例如,可以在设备本地维护同一路由下的语音设备信息,并且维护设备的增加和删除,从而可以实现多个语音设备之间与唤醒事件相关的数据传输。
例如,如图4所示,目标设备组内的每个语音设备保存的设备列表信息可以包含目标设备组内其他设备的设备信息。设备信息可以包括但不限于以下至少之一:设备IP(Internet Protocol,互联网协议)地址,设备MAC(Media Access Control,媒体存取控制)地址等。设备列表信息可以是实时更新的,可以实时添加新的设备的设备信息至每个设备保存的设备列表信息中。
在本实施例中,用户在需要使用某一语音设备时,可以发出设备唤醒语音。目标设备组内的一个或多个语音设备可以采集到对应的采集语音数据,即,目标对象的采集语音数据,目标对象是目标设备组所绑定到的对象,与目标帐号对应。在得到采集语音数据之后,语音设备可以对采集语音数据进行识别,如果识别到唤醒语音指令(例如,用于进行语音唤醒的特定唤醒词),可以激活语音设备。识别语音唤醒指令是由语音设备内置的离线语音识别系统在本地执行的,也可以是将采集语音数据发送至云端服务器或者其他服务器,由云端服务器或者其他服务器进行语音识别,并将识别结果返回给语音设备。
被语音唤醒指令激活的语音设备可以向目标设备组内除了本设备以外的其他设备发送广播包,以告知除了本设备以外的其他设备本设备已被语音唤醒指令激活。对于目标设备组中的第一设备,在第一设备被语音唤醒指令激活后,可以发送第一广播包至目标设备组内的其他设备。这里的第一设备可以是目标设备组内任意一个被语音唤醒指令激活的语音设备。第一广播包可以用于向目标设备组内的其他设备指示第一设备上所发生的语音唤醒事件(即,第一设备被语音唤醒指令激活的事件,例如,唤醒词事件),即,可以用于指示第一设备响应于检测到的语音唤醒指令已被激活。在第一广播包中可以携带有与语音唤醒指令对应的时间点,也可以不携带上述时间点。
智能设备可以接收第一设备发送的第一广播包(除了第一设备以外的全部或者部分语音设备可以接收到第一广播包),这里的智能设备可以是目标设备组中除了第一设备以外的任一语音设备。在目标设备组内,在被语音唤醒指令激活之后,均可以采用上述方式发送广播包;在识别到语音唤醒指令之前通过其他方式激活,例如,被广播包激活,则可以不发送广播包。
步骤S204,在智能设备处于未激活状态的情况下,响应于第一广播包,获取与语音唤醒指令对应的语音采集数据。
智能设备的语音采集部件可以采用与前述类似的方式采集语音数据,对采集的语音数据可以进行实时识别,确定是否接收到语音唤醒指令。接收到第一广播包时,智能设备所处的状态可以有以下几种情况,激活状态(比如,已被语音唤醒指令激活、已被其他设备发送的广播包激活等),未激活状态(即,未被激活)。这里的未激活状态可以是休眠状态,处于未激活状态的语音设备可以处于低能耗模式、仅开启语音采集等简单功能。这里的已激活状态可以表示语音设备(例如,语音交互功能)从休眠状态中激活,根据激活的对应事件进入相应的处理模式。
在本实施例中,如果接收到第一广播包时,智能设备处于未激活状态,可以对接收到的第一广播包进行解析,确定其是否是本设备组内的语音设备发送的、用于指示该语音设备响应于检测到的语音唤醒指令已被激活。如果是,响应于第一广播包,智能设备可以获取与语音唤醒指令对应的语音采集数据,还可以由未激活状态调整为激活状态。这里的语音采集数据可以是智能设备的语音采集部件采集到的一段语音数据,在接收到第一广播包之前接收到的一段语音数据(语音数据段或者语音段)。
与语音唤醒指令对应的语音采集数据的获取方式可以有多种,可以是根据第一广播包中携带的时间点、第一广播包的接收时间等获取的。
作为一种可选的实施方式,在第一广播包包含有与语音唤醒指令对应的时间点的情况下,智能设备可以对第一广播包进行解析,在确定其是用于指示第一设备响应于检测到的语音唤醒指令已被激活的广播包的同时,根据解析结果,可以获取到与语音唤醒指令对应的时间点;根据对应的时间点,可以在采集到的语音数据中确定与对应的时间点匹配的语音数据段,从而获取到与语音唤醒指令对应的语音采集数据。
作为另一种可选的实施方式,在第一广播包不包含有语音唤醒指令对应的时间点的情况下,智能设备可以对第一广播包进行解析,在确定其是用于指示第一设备响应于检测到的语音唤醒指令已被激活的广播包的同时,根据第一广播包的接收时间,获取采集到的语音数据中与语音唤醒指令对应的语音采集数据,例如,与语音唤醒指令对应的语音采集数据可以是在第一广播包的接收时刻前、在移除了噪音等干扰数据之后的一段有效语音数据(可以是最近的一段有效语音数据)。
通过上述方式,对于与智能设备类似的语音设备,可以在其被语音唤醒指令激活之前,就可以通过广播包将其激活,提高了设备激活的速度,进而提高了语音唤醒指令的响应时间,同时降低多个语音设备同时被超时唤醒的可能性。
步骤S206,根据语音采集数据,确定智能设备的设备特征信息,并将智能设备的设备特征信息发送给目标服务器,其中,智能设备的设备特征信息用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备。
在本实施例中,在得到与语音唤醒指令对应的语音采集数据之后,可以确定智能设备的设备特征信息。这里,智能设备的设备特征信息可以用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备,智能设备的设备特征信息可以包括但不限于智能设备的打分、设备标识、会话标识等信息。
可选地,根据与语音唤醒指令对应的语音采集数据的能量,可以选取语音采集数据的能量均峰值,计算得到打分结果,即,语音能量值,也可以选取语音采集数据的最大能量值,计算得到打分结果。语音能量值越高,可以代表智能设备与用户的距离越近、或者代表智能设备对用户的语音采集效果越好,其可能是用户想要唤醒的语音设备的概率越大。
在本实施例中,智能设备可以将确定智能设备的设备特征信息发送给目标服务器,以便于目标服务器根据接收到的设备特征信息,确定是否由智能设备对用户的唤醒进行响应,即,目标服务器可以根据目标设备组内的各个语音设备的设备特征信息,确定目标设备组中响应语音唤醒指令被唤醒的设备。这里的目标服务器可以是控制目标设备组内的所有语音设备的服务器,可以是云端或其他服务器,本实施例在此不做限定。
目标服务器可以在接收到目标设备组内的各个语音设备上传的设备特征信息,根据各个语音设备的设备特征信息,从目标设备组内选取出响应该语音唤醒指令的语音设备,向选取出的语音设备发送用于指示唤醒语音设备对语音唤醒指令进行响应的设备唤醒指示信息(唤醒响应信息),向其他语音设备发送抑制唤醒事件,即,发送用于指示不唤醒语音设备的设备唤醒指示信息(抑制唤醒指示信息)。
例如,可以根据各个语音设备的的打分,将目标设备组内的语音设备的打分进行两两比较,同时,向打分低的语音设备发送用于指示不唤醒的设备唤醒指示信息,向打分最高的语音设备发送用于指示唤醒语音设备的设备唤醒指示信息。
步骤S208,响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作。
在本实施例中,智能设备可以接收到目标服务器发送的设备唤醒指示信息,该设备唤醒指示信息可以用于指示是否唤醒智能设备。响应于接收到的设备唤醒指示信息,智能设备可以执行与设备唤醒指示信息对应的设备操作,比如,智能设备可以对接收到设备唤醒指示信息进行解析,确定设备唤醒指示信息为抑制唤醒信息或者唤醒响应信息;如果是唤醒响应信息,智能设备执行的设备操作可以是对唤醒事件进行响应、并在未来一段时间内保持工作状态;如果是抑制唤醒信息,智能设备执行的设备操作可以是不对唤醒事件做出任何响应,还可以是将智能设备由激活状态调整为未激活状态,比如,进入休眠状态。
通过上述步骤S202至步骤S208,接收第一设备发送的第一广播包,其中,第一设备与智能设备均属于目标设备组,目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,第一广播包用于指示第一设备响应于检测到的语音唤醒指令已被激活;在智能设备处于未激活状态的情况下,响应于第一广播包,获取与语音唤醒指令对应的语音采集数据;根据语音采集数据,确定智能设备的设备特征信息,并将智能设备的设备特征信息发送给目标服务器,其中,智能设备的设备特征信息用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备;响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作,解决了相关技术中的设备的唤醒方式存在由于分布式决策的等待时间较长导致的语音设备唤醒的效率和准确性低的技术问题,提高了设备唤醒的效率和准确性。
在一个示例性实施例中,在接收第一设备发送的第一广播包之后,上述方法还包括:
S11,将智能设备由为未激活状态调整为已激活状态。
在本实施例中,在接收到第一设备发送的第一广播后,如果智能设备处于未激活状态,则可以将智能设备由未激活状态调整为已激活状态。这里的未激活状态、已激活状态可以与前述相同或类似,本实施例在此不做赘述。
处于已激活状态的智能设备,可以之前前述根据与对应语音唤醒指令对应的语音采集数据确定智能设备的设备特征信息,并上传设备特征信息至目标服务器等步骤。此外,可以基于智能设备是否处于激活状态确定是否响应检测到的语音唤醒指令或者后续接收到的广播包,提高设备控制的便捷性。
通过本实施例,基于接收到的广播包调整语音设备的激活状态,可以便于对之后检测到的语音唤醒指令或者后续接收到的广播包进行处理,提高设备控制的便捷性。
在一个示例性实施例中,在接收第一设备发送的第一广播包之后,上述方法还包括:
S21,接收第二设备发送的第二广播包,其中,第二设备属于目标设备组,第二广播包用于指示第二设备响应于检测到的语音唤醒指令已被激活;
S22,在第二广播包的接收时间与第一广播包的接收时间的时间差小于或者等于第一时间差阈值的情况下,丢弃第二广播包。
目标设备组内的任意被语音唤醒指令激活的语音设备,都可以响应于检测到的语音唤醒指令向目标设备组内的其他设备发送广播包。基于上述情况,目标设备组内的语音设备可能会接收到目标设备组内的多个语音设备发出的、用于指示被同一次语音唤醒指令激活的广播包。在接收到第一设备发送的第一广播包之后,智能设备还可以接收到第二设备发送的第二广播包。这里的第二设备可以与智能设备、第一设备同属于目标设备组。第二广播包可以用于指示第二设备响应于检测到的语音唤醒指令已被激活,第二广播包的描述可以与前述第一广播包类似,本实施例在此不做作赘述。
如图5所示,第一设备可以是目标设备组内第一个被语音唤醒指令激活并发送广播包的设备1,智能设备可以是设备2,第二设备可以是目标设备组内第二个被语音唤醒指令激活并发送广播包的设备3。设备1在被语音唤醒指令激活后,可以上传设备特征信息至云端,并发送第一广播包至其他设备,设备3在被语音唤醒指令激活后,可以上传设备特征信息至云端,并发送第二广播包至其他设备。设备2可以先接收到设备1发送的第一广播包,被接收到的第一广播包激活并上传设备特征信息至云端;在被第一广播包激活之后,设备2还可以接收到设备3发送的第二广播包。
当重复接收到与相同语音唤醒指令对应的广播包时,如果对多个广播包均进行响应,则会出现重复确定设备特征信息并上传目标服务器的情况。为了避免发生重复上传设备特征信息的情况,可以预先设定第一时间差阈值,用于确定智能设备是否需要对接收到的广播包进行处理。如果接收到的两个广播包的时间差小于或者等于第一时间差阈值,则不会对后接收到的广播包进行响应,而是直接丢弃接收到的广播包。这里的第一时间差阈值可以是系统默认值,其可以是基于经验所设定的,也可以是由用户手动设定的,还可以是通过其他方式设定的。本实施例中对于第一时间差阈值不做限定。
可选地,第一时间差阈值可以对应于为第一广播包添加的会话窗口,该会话窗口可以是同一次会话的窗口(T_window,窗口大小可以是800ms或者其他值),在接收到第一广播包后,可以设置一个会话窗口,在该会话窗口内触发智能设备激活的特定事件(广播包的接收事件、检测到语音唤醒指令的事件)均会被忽略。
例如,为了规避由唤醒事件导致的上传设备特征信息到云端,和唤醒词激活导致的上传设备特征信息到云端,进而出现重复上传的问题,可以添加一个同一次会话的窗口T_window(比如,800ms),如果接收到唤醒事件和后续的唤醒事件或者唤醒词事件的时间间隔小于添加的窗口T_window,则后来的事件会被忽略。这里,唤醒事件是指接收到用于触发设备唤醒(设备激活)广播包的事件,唤醒词事件是指检测到唤醒词的事件。
在本实施例中,如果第一广播包的接收时间和第二广播包的接收时间的时间差小于或等于第一时间阈值,可以默认第一广播包与第二广播包是用于指示不同语音设备响应于检测到的同一次语音唤醒指令已被激活的广播包,智能设备可以丢弃接收到的第二广播包。
如图6所示,设备1可以是第一设备,设备2可以是智能设备,设备3可以是第二设备,时间间隔1为设备2接收到第一广播包的时间与接收到第二广播包的时间之间的间隔,将时间间隔1与第一时间差阈值进行比较,当时间间隔1小于或等于第一时间差阈值时,丢弃第二广播包。
通过本实施例,对于接收时间间隔过短的两次广播包,可以丢弃后一次广播包,可以避免出现重复上传设备特征信息的情况,从而避免因多次重复上传导致服务器唤醒决策异常,提高语音设备唤醒的准确性,同时可以减少对于网络资源的占用。
在一个示例性实施例中,在接收第一设备发送的第一广播包之后,上述方法还包括:
S31,确定从智能设备采集到的语音数据中检测到语音唤醒指令;
S32,在检测到语音唤醒指令的时间与第一广播包的接收时间的时间差小于或者等于第二时间差阈值的情况下,忽略语音唤醒指令。
由于目标设备组内的任意检测到语音唤醒指令的语音设备都可以被语音唤醒指令激活,可能会出现语音设备在被广播包激活之后,又被检测到语音唤醒指令激活的情况。对于智能设备,在接收到第一设备发送的第一广播包,并被第一广播包激活之后,智能设备可以从采集到的语音数据中检测到语音唤醒指令。这里的语音唤醒指令与第一设备发送的第一广播包所对应的语音唤醒指令为同一次语音唤醒指令。
如果对检测到的语音唤醒指令进行响应,上传设备特征信息至目标服务器,则会出现重复上传设备特征信息的情况。为了避免发生重复上传设备特征信息的情况,在本实施例中,可以预先设定第二时间差阈值,用于确定智能设备是否需要对采集到的语音唤醒指令进行处理。这里的第二时间差阈值的描述可以与前述第一时间差阈值类似,本实施例在此不做赘述。第二时间差阈值的数值可以与第一时间差阈值的数值相同,两者可以对应于同一会话窗口,也可以不同,两者可以对应于不同的会话窗口。在检测到语音唤醒指令的时间与第一广播包的接收时间的时间差小于或者等于第二时间差阈值的情况下,智能设备可以忽略语音唤醒指令。
例如,如图6所示,时间间隔2为设备2接收到第一广播包的时间与检测到语音唤醒指令的时间之间的间隔,将时间间隔2与第二时间阈值进行比较,当时间间隔2小于或等于第二时间阈值时,忽略语音唤醒指令。
通过本实施例,对于接收到广播包和语音唤醒指令的时间间隔过短的情况,忽略后检测到的语音唤醒指令,可以避免出现重复上传设备特征信息的情况,从而避免因多次重复上传导致服务器唤醒决策异常,提高语音设备唤醒的准确性,同时可以减少对于网络资源的占用。
在一个示例性实施例中,在接收第一设备发送的第一广播包之后,上述方法还包括:
S41,在智能设备已被语音唤醒指令激活、且智能设备的激活时间与第一广播包的接收时间的时间差小于或者等于第三时间差阈值的情况下,丢弃第一广播包。
由于目标设备组内的任意检测到语音唤醒指令的语音设备都可以被语音唤醒指令激活,可能会出现语音设备在被检测到的语音唤醒指令激活之后,又被之后接收到广播包激活的情况,进而导致语音设备重复确定并上传设备特征信息至目标服务器。为了避免发生重复上传设备特征信息的情况,在本实施例中,可以预先设定第三时间差阈值,用于确定智能设备是否需要对接收到的广播包进行处理。这里的第三时间差阈值的描述可以与前述第一时间差阈值类似,本实施例在此不做赘述。第三时间差阈值的数值可以与第一时间差阈值、第二时间差阈值的数值中的其中一个数值相同,两者可以对应于同一会话窗口,也可以不同,两者可以对应于不同的会话窗口。
在本实施例中,在检测到语音唤醒指令并被激活之后,智能设备可以接收到第一设备发送的第一广播包。与第一广播包对应的语音唤醒指令与为智能设备检测到的语音唤醒指令可以为同一语音唤醒指令。在智能设备已被语音唤醒指令激活、且智能设备的激活时间与第一广播包的接收时间的时间差小于或者等于第三时间差阈值的情况下,可以默认与接收到的第一广播包对应的语音唤醒指令与检测到的语音唤醒指令为同一语音唤醒指令,智能设备可以丢弃第一广播包。
例如,如图6所示,时间间隔3为设备2被语音唤醒指令激活的时间与接收到的第一广播包的时间之间的间隔,将时间间隔3与第三时间阈值进行比较,当时间间隔3小于或等于第三时间阈值时,丢弃第一广播包。
通过本实施例,对于被语音唤醒指令激活和接收到广播包的时间间隔过短的情况,丢弃后接收到的广播包,可以避免出现重复上传设备特征信息的情况,从而避免因多次重复上传导致服务器唤醒决策异常,提高语音设备唤醒的准确性,同时可以减少对于网络资源的占用。
在一个示例性实施例中,上述方法还包括:
S51,在智能设备已被语音唤醒指令激活的情况下,按照第一设备列表,向目标设备组内除了智能设备以外的其他设备发送第三广播包,其中,第一设备列表包含智能设备记录的、目标设备组含的所有设备的设备信息,第三广播包用于指示智能设备响应于检测到的语音唤醒指令已被激活。
在本实施例中,在智能设备已被语音唤醒指令激活的情况下,可以按照第一设备列表,向目标设备组内除了智能设备以外的其他设备发送第三广播包。这里的第一设备列表可以是智能设备保存的设备列表信息,可以包含智能设备记录的、目标设备组含的所有设备的设备信息。上述设备列表信息的描述可以与前述类似,在此不做赘述。这里的第三广播包可以用于指示智能设备响应于检测到的语音唤醒指令已被激活。
通过本实施例,被语音唤醒指令激活的语音设备向同一设备组内的其他设备发送广播包,可以提升多个语音设备激活的速率,从而提高设备语音唤醒的效率。
在一个示例性实施例中,上述方法还包括:
S61,接收第一设备发送的设备发现数据,其中,设备发现数据用于触发与第一设备处于同一路由下的其他设备发现第一设备;从设备发现数据中提取出第一设备的设备信息;在第一设备列表中未查找到第一设备的设备信息的情况下,将第一设备的设备信息添加到第一设备列表中;或者,
S62,接收第三设备发送的第二设备列表,其中,第三设备属于目标设备组,第二设备列表包含第三设备记录的、目标设备组含的所有设备的设备信息;在第二设备列表中包含第一设备列表中未记录的、第一设备的设备信息的情况下,将第一设备的设备信息添加到第一设备列表中。
在本实施例中,第一设备的设备信息可以是智能设备根据第一设备发送的设备发现数据保存到第一设备列表中的,也可以是从接收到的其他语音设备发送的设备列表中提取出并保存到第一设备列表中的。
作为一种可选的实施方式,第一设备可以通过发送设备发现数据,使接收到设备发现数据、且没有第一设备的设备信息的语音设备将第一设备的设备信息添加到本地设备列表中。设备发现数据可以是设备发现协议数据,其可以是在第一设备首次接入到本地网络或者上电开机时发送的。这里,每个语音设备保存的设备列表可以是当前在线的语音设备的设备信息,同时,当前在线的语音设备还可以满足前述设备条件,例如,处于同一设备组内(比如,处于同一路由下、处于同一房间区域内等)。
对于智能设备,智能设备可以接收第一设备发送的设备发现数据,并从设备发现数据中提取出第一设备的设备信息,这里的设备发现数据用于触发与第一设备处于同一路由下的其他设备发现第一设备。如果第一设备列表中未查找到第一设备的设备信息,可以将第一设备的设备信息添加到第一设备列表中。第一设备列表可以是第一设备保存的、包含目标设备组内处于在线状态的语音设备的设备信息的列表。
例如,在语音设备上电开机时,语音设备通过本地网络广播,发送设备发现协议数据。连接到本地网络的语音设备接收到设备发现协议数据后,开始解析,如果解析到的设备信息(包括设备IP,设备MAC)是本地设备列表没有的设备信息,则把该设备信息添加到本地设备列表,否则不添加。
作为另一种可选的实施方式,接收到设备发现数据、并添加第一设备的设备信息的语音设备,可以发送所记录的所有设备列表信息至目标设备组内的其他设备。语音设备在接收到其他设备发送的设备列表之后,可以比较本设备保存的设备列表和接收到的设备列表,并将接收到的设备列表中本设备保存的设备列表没有的设备信息添加到本设备保存的设备列表中,或者,如果确定接收到的设备列表的版本(可以根据设备列表的版本标识或者设备列表的最后更新时间)比本设备保存的设备列表的版本更新,则直接使用接收到的设备列表替换本设备保存的设备列表。
对于智能设备,智能设备可以接收第三设备发送的第二设备列表,并通过解析第二设备列表,从第二设备列表中提取第二设备列表中包含的各个设备信息。根据提取出的各个设备的设备信息,可以确定是否有第一设备列表中未记录的设备信息。在第二设备列表中包含第一设备列表中未记录的、第一设备的设备信息的情况下,可以将第一设备的设备信息添加到第一设备列表中。这里的第三设备可以与智能设备同属于目标设备组。第二设备列表可以包含第三设备记录的、目标设备组含的所有设备的设备信息。
可选地,也可以在根据第二设备列表的版本标识或者最后更新时间确定出第二设备列表的版本比第一设备列表更新的情况下,直接将第一设备列表更新为第二设备列表。在根据第二设备列表的版本标识或者最后更新时间确定出第二设备列表的版本不比第一设备列表更新的情况下,直接丢弃第二设备列表。
例如,当有新设备信息加入设备列表时,语音设备可以广播本设备维护的设备列表。其他组内设备收到设备列表后,解析设备列表中包含的各个设备信息(包括设备IP、设备MAC等),如果解析到的设备信息是本地设备列表没有的设备信息,则把该设备信息添加到本地设备列表,否则不添加。通过上述发送设备发现协议数据以及广播本设备维护的设备列表的方式,可以保证每个设备都包含同一路由下所有的其他语音设备的设备信息。
可选地,云端服务器(例如,目标服务器)或者目标设备组内的语音设备可以保存目标设备组内所有语音设备的设备信息,并在有新的语音设备加入到目标设备组、目标设备组内有语音设备下线、上线等情况时,向目标设备组内处于在线状态的语音设备发送用于更新设备列表的更新指示信息或者直接发送更新后的设备列表。在接收到更新指示信息或者更新后的设备列表时,可以使用更新指示信息更新本地保存的设备列表,或者,使用更新后的设备列表替换本地保存的设备列表。
对于智能设备,在智能设备接收到更新指示信息(目标服务器发送的或者第三设备发送的)之后,使用更新指示信息更新第一设备列表,得到更新后的第一设备列表,更新指示信息可以用于指示第一设备加入到目标设备组或者第一设备上线;在智能设备接收到更新后的设备列表(目标服务器发送的或者第三设备发送的)之后,使用更新后的设备列表替换第一设备列表,更新后的设备列表可以包含第一设备的设备信息。
通过本实施例,通过接收到的设备发现数据或者设备列表更新本地设备列表,可以保证每个语音设备可以及时获取到同一路由下所有其他语音设备的设备信息,从而保证分布式语音唤醒的准确性。
在一个示例性实施例中,根据语音采集数据,确定智能设备的设备特征信息,包括:
S71,在语音采集数据包含多路语音信号的情况下,确定多路语音信号中的每路语音信号的能量值;
S72,将每路语音信号的能量值中的最大能量值,确定为智能设备的设备能量值,其中,设备特征信息包含设备能量值。
在本实施例中,智能设备的语音采集部件可以是麦克风阵列,可以是由几个到几十或者更多的麦克风按照一定规则排列成的麦克风系统,通过麦克风阵列采集到的语音采集数据可以包含多路语音信号。在语音采集数据包含多路语音信号的情况下,为了确定智能设备的设备特征信息,可以对多路语音信号进行处理。
可以根据多路语音信号,确定多路语音信号中的每路语音信号的能量值,并根据确定的每路语音信号的能量值,选取其中的最大能量值,并将最大能量值确定为智能设备的设备能量值。这里的设备能量值可以包含在前述设备特征信息中,可以是前述设备特征信息中包含的打分。
通过本实施例,将语音设备采集到的多路语音信号中的最大能量值作为智能设备的设备能量值,可以提高设备唤醒决策的准确性。
在一个示例性实施例中,响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作包括:
S81,在设备唤醒指示信息用于指示唤醒智能设备的情况下,唤醒智能设备;
S82,在设备唤醒指示信息用于指示不唤醒智能设备的情况下,对智能设备进行不唤醒处理。
在本实施例中,智能设备接收到的设备唤醒指示信息可以是抑制唤醒信息,也可以是唤醒响应信息。对于不同的设备唤醒指示信息,可以执行不同的设备操作。在设备唤醒指示信息用于指示唤醒智能设备(即,唤醒响应信息)的情况下,响应于设备唤醒指示信息,智能设备可以唤醒本设备,对语音唤醒指令进行响应,例如,发出语音“我在”等相关回应,并在未来一定时间内,保持工作状态,根据下一步语音控制指令执行相关操作。
可选地,在设备唤醒指示信息用于指示不唤醒智能设备(即,抑制唤醒信息)的情况下,响应于设备唤醒指示信息,智能设备可以进行不唤醒处理,不对语音唤醒指令进行任何回应,由激活状态切换为未激活状态,继续保持休眠状态。
通过本实施例,由服务器进行唤醒或不唤醒的判决、并下发对应的指令,可以避免发生多个语音设备对同一语音唤醒执行进行响应的情况,提高语音设备唤醒的准确性。
下面结合可选示例对本申请实施例中的分布式语音唤醒方法进行解释说明。在本可选示例中,终端设备为语音设备,设备特征信息包括设备的打分、设备标识(deviceid)、会话标识(sessionid)。
本可选示例中提供了一种语音分布式快速判决的方案,当同一路由下的任何一台设备先唤醒后,可以通过本地维护的同一路由下的语音设备信息,把唤醒事件发送给其他设备;其他设备收到唤醒事件后,开始上传设备特征信息至云端,可以解决设备判决受到唤醒引擎,唤醒快慢的影响,存在判决等待时间(即,前述|T1-T2|)较长的问题;同时,可以极大改善由于判决等待时间过长导致设备本地超时唤醒,出现同时唤醒多个设备的情况。
如图7所示,本可选示例中的分布式语音唤醒方法的流程可以包括以下步骤:
步骤S702,当同一路由下的任意一台设备唤醒之后,通过本地网络广播唤醒事件,同时开始把本设备的设备特征信息(打分、设备标识、会话标识等)上传到云端。
步骤S704,其他设备收到唤醒事件后,也会开始把本设备的设备特征信息(打分、设备标识、会话标识等)上传到云端,不需要等到设备被唤醒词激活。
此外,为了规避由唤醒事件导致的上传设备特征信息到云端,和唤醒词激活导致的上传设备特征信息到云端的重复上传问题,可以添加一个同一次会话的窗口T_window;如果接收到唤醒事件和唤醒词事件的时间间隔小于同一次会话的窗口T_window,则后来的事件会被忽略。
对于相关技术中唤醒引擎的唤醒时间波动比较大、不稳定的情况、以及由于唤醒引擎的提供厂商不同,实现方案不同,带来的组内不同设备唤醒引擎波动比较大的情况,通过本可选示例,可以有效解决分布式唤醒设备的唤醒时间比较长、唤醒体验差的问题,可以极大改善设备判决受到唤醒引擎唤醒快慢的影响导致的判决等待时间过长、易导致设备本地超时唤醒,出现多个设备同时唤醒的情况。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述分布式语音唤醒方法的分布式语音唤醒装置,该分布式语音唤醒装置可以应用于智能设备上。图8是根据本申请实施例的一种可选的分布式语音唤醒装置的结构框图,如图8所示,该装置可以包括:
第一接收单元802,用于接收第一设备发送的第一广播包,其中,第一设备与智能设备均属于目标设备组,目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,第一广播包用于指示第一设备响应于检测到的语音唤醒指令已被激活;
获取单元804,与第一接收单元802相连,用于在智能设备处于未激活状态的情况下,响应于第一广播包,获取与语音唤醒指令对应的语音采集数据;
第一确定单元806,与获取单元804相连,用于根据语音采集数据,确定智能设备的设备特征信息,其中,智能设备的设备特征信息用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备;
第一发送单元808,与第一确定单元806相连,用于将智能设备的设备特征信息发送给目标服务器;
第一执行单元810,与第一发送单元808相连,用于响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作。
需要说明的是,该实施例中的第一接收单元802可以用于执行上述步骤S202,该实施例中的获取单元804可以用于执行上述步骤S204,该实施例中的第一确定单元806、第一发送单元808可以用于执行上述步骤S206,该实施例中的第一执行单元810可以用于执行上述步骤S208。
通过上述模块,接收第一设备发送的第一广播包,其中,第一设备与智能设备均属于目标设备组,目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,第一广播包用于指示第一设备响应于检测到的语音唤醒指令已被激活;在智能设备处于未激活状态的情况下,响应于第一广播包,获取与语音唤醒指令对应的语音采集数据;根据语音采集数据,确定智能设备的设备特征信息,并将智能设备的设备特征信息发送给目标服务器,其中,智能设备的设备特征信息用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备;响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作,解决了相关技术中的设备的唤醒方式存在由于分布式决策的等待时间较长导致的语音设备唤醒的效率和准确性低的问题,提高了设备唤醒的效率和准确性。
在一个示例性实施例中,上述装置还包括:
调整单元,用于在接收第一设备发送的第一广播包之后,将智能设备由为未激活状态调整为已激活状态。
在一个示例性实施例中,上述装置还包括:
第二接收单元,用于在接收第一设备发送的第一广播包之后,接收第二设备发送的第二广播包,其中,第二设备属于目标设备组,第二广播包用于指示第二设备响应于检测到的语音唤醒指令已被激活;
第一丢弃单元,用于在第二广播包的接收时间与第一广播包的接收时间的时间差小于或者等于第一时间差阈值的情况下,丢弃第二广播包。
在一个示例性实施例中,上述装置还包括:
第二确定单元,用于在接收第一设备发送的第一广播包之后,确定从智能设备采集到的语音数据中检测到语音唤醒指令;
第二执行单元,用于在检测到语音唤醒指令的时间与第一广播包的接收时间的时间差小于或者等于第二时间差阈值的情况下,忽略语音唤醒指令。
在一个示例性实施例中,上述装置还包括:
第二丢弃单元,用于在接收第一设备发送的第一广播包之后,在智能设备已被语音唤醒指令激活、且智能设备的激活时间与第一广播包的接收时间的时间差小于或者等于第三时间差阈值的情况下,丢弃第一广播包。
在一个示例性实施例中,上述装置还包括:
第二发送单元,用于在智能设备已被语音唤醒指令激活的情况下,按照第一设备列表,向目标设备组内除了智能设备以外的其他设备发送第三广播包,其中,第一设备列表包含智能设备记录的、目标设备组含的所有设备的设备信息,第三广播包用于指示智能设备响应于检测到的语音唤醒指令已被激活。
在一个示例性实施例中,上述装置还包括:
第三接收单元,用于接收第一设备发送的设备发现数据,其中,设备发现数据用于触发与第一设备处于同一路由下的其他设备发现第一设备;从设备发现数据中提取出第一设备的设备信息;在第一设备列表中未查找到第一设备的设备信息的情况下,将第一设备的设备信息添加到第一设备列表中;或者,
第四接收单元,用于接收第三设备发送的第二设备列表,其中,第三设备属于目标设备组,第二设备列表包含第三设备记录的、目标设备组含的所有设备的设备信息;在第二设备列表中包含第一设备列表中未记录的、第一设备的设备信息的情况下,将第一设备的设备信息添加到第一设备列表中。
在一个示例性实施例中,第一确定单元包括:
第一确定模块,用于在语音采集数据包含多路语音信号的情况下,确定多路语音信号中的每路语音信号的能量值;
第二确定模块,用于将每路语音信号的能量值中的最大能量值,确定为智能设备的设备能量值,其中,设备特征信息包含设备能量值。
在一个示例性实施例中,第一执行单元包括:
唤醒模块,用于在设备唤醒指示信息用于指示唤醒智能设备的情况下,唤醒智能设备;
执行模块,用于在设备唤醒指示信息用于指示不唤醒智能设备的情况下,对智能设备进行不唤醒处理。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种存储介质,该存储介质可以位于智能设备上。可选地,在本实施例中,上述存储介质可以用于执行本申请实施例中上述任一项分布式语音唤醒方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,接收第一设备发送的第一广播包,其中,第一设备与智能设备均属于目标设备组,目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,第一广播包用于指示第一设备响应于检测到的语音唤醒指令已被激活;
S2,在智能设备处于未激活状态的情况下,响应于第一广播包,获取与语音唤醒指令对应的语音采集数据;
S3,根据语音采集数据,确定智能设备的设备特征信息,并将智能设备的设备特征信息发送给目标服务器,其中,智能设备的设备特征信息用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备;
S4,响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请实施例的又一个方面,还提供了一种用于实施上述分布式语音唤醒方法的电子装置,还电子装置可以是智能设备,该电子装置可以是服务器、终端、或者其组合。
图9是根据本申请实施例的一种可选的电子装置的结构框图,如图9所示,包括处理器902、通信接口904、存储器906和通信总线908,其中,处理器902、通信接口904和存储器906通过通信总线908完成相互间的通信,其中,
存储器906,用于存储计算机程序;
处理器902,用于执行存储器906上所存放的计算机程序时,实现如下步骤:
S1,接收第一设备发送的第一广播包,其中,第一设备与智能设备均属于目标设备组,目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,第一广播包用于指示第一设备响应于检测到的语音唤醒指令已被激活;
S2,在智能设备处于未激活状态的情况下,响应于第一广播包,获取与语音唤醒指令对应的语音采集数据;
S3,根据语音采集数据,确定智能设备的设备特征信息,并将智能设备的设备特征信息发送给目标服务器,其中,智能设备的设备特征信息用于确定智能设备是否为目标设备组中响应语音唤醒指令被唤醒的设备;
S4,响应于目标服务器发送的设备唤醒指示信息,执行与设备唤醒指示信息对应的设备操作。
可选地,通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线、或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子装置与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器906中可以但不限于包括上述资源信息的推送装置中的第一接收单元802、获取单元804、第一确定单元806、第一发送单元808和第一执行单元810。此外,还可以包括但不限于上述资源信息的推送装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图9所示的结构仅为示意,实施上述分布式语音唤醒方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以至少两个单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种分布式语音唤醒方法,应用于智能设备,其特征在于,包括:
接收第一设备发送的第一广播包,其中,所述第一设备与所述智能设备均属于目标设备组,所述目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,所述第一广播包用于指示所述第一设备响应于检测到的所述语音唤醒指令已被激活;
在所述智能设备处于未激活状态的情况下,响应于所述第一广播包,获取与所述语音唤醒指令对应的语音采集数据;
根据所述语音采集数据,确定所述智能设备的设备特征信息,并将所述智能设备的设备特征信息发送给目标服务器,其中,所述智能设备的设备特征信息用于确定所述智能设备是否为所述目标设备组中响应所述语音唤醒指令被唤醒的设备;
响应于所述目标服务器发送的设备唤醒指示信息,执行与所述设备唤醒指示信息对应的设备操作。
2.根据权利要求1所述的方法,其特征在于,在所述接收第一设备发送的第一广播包之后,所述方法还包括:
将所述智能设备由为未激活状态调整为已激活状态。
3.根据权利要求1所述的方法,其特征在于,在所述接收第一设备发送的第一广播包之后,所述方法还包括:
接收第二设备发送的第二广播包,其中,所述第二设备属于所述目标设备组,所述第二广播包用于指示所述第二设备响应于检测到的所述语音唤醒指令已被激活;
在所述第二广播包的接收时间与所述第一广播包的接收时间的时间差小于或者等于第一时间差阈值的情况下,丢弃所述第二广播包。
4.根据权利要求1所述的方法,其特征在于,在所述接收第一设备发送的第一广播包之后,所述方法还包括:
确定从所述智能设备采集到的语音数据中检测到所述语音唤醒指令;
在检测到语音唤醒指令的时间与所述第一广播包的接收时间的时间差小于或者等于第二时间差阈值的情况下,忽略所述语音唤醒指令。
5.根据权利要求1所述的方法,其特征在于,在所述接收第一设备发送的第一广播包之后,所述方法还包括:
在所述智能设备已被所述语音唤醒指令激活、且所述智能设备的激活时间与所述第一广播包的接收时间的时间差小于或者等于第三时间差阈值的情况下,丢弃所述第一广播包。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述智能设备已被所述语音唤醒指令激活的情况下,按照第一设备列表,向所述目标设备组内除了所述智能设备以外的其他设备发送第三广播包,其中,所述第一设备列表包含所述智能设备记录的、所述目标设备组含的所有设备的设备信息,所述第三广播包用于指示所述智能设备响应于检测到的所述语音唤醒指令已被激活。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述第一设备发送的设备发现数据,其中,所述设备发现数据用于触发与所述第一设备处于同一路由下的其他设备发现所述第一设备;从所述设备发现数据中提取出所述第一设备的设备信息;在所述第一设备列表中未查找到所述第一设备的设备信息的情况下,将所述第一设备的设备信息添加到所述第一设备列表中;或者,
接收第三设备发送的第二设备列表,其中,所述第三设备属于所述目标设备组,所述第二设备列表包含所述第三设备记录的、所述目标设备组含的所有设备的设备信息;在所述第二设备列表中包含所述第一设备列表中未记录的、所述第一设备的设备信息的情况下,将所述第一设备的设备信息添加到所述第一设备列表中。
8.根据权利要求1所述的方法,其特征在于,所述根据所述语音采集数据,确定所述智能设备的设备特征信息,包括:
在所述语音采集数据包含多路语音信号的情况下,确定所述多路语音信号中的每路语音信号的能量值;
将所述每路语音信号的能量值中的最大能量值,确定为所述智能设备的设备能量值,其中,所述设备特征信息包含所述设备能量值。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述响应于所述目标服务器发送的设备唤醒指示信息,执行与所述设备唤醒指示信息对应的设备操作包括:
在所述设备唤醒指示信息用于指示唤醒所述智能设备的情况下,唤醒所述智能设备;
在所述设备唤醒指示信息用于指示不唤醒所述智能设备的情况下,对所述智能设备进行不唤醒处理。
10.一种分布式语音唤醒装置,应用于智能设备,其特征在于,包括:
第一接收单元,用于接收第一设备发送的第一广播包,其中,所述第一设备与智能设备均属于目标设备组,所述目标设备组内的所有设备均使用相同的语音唤醒指令进行唤醒,所述第一广播包用于指示所述第一设备响应于检测到的所述语音唤醒指令已被激活;
获取单元,用于在所述智能设备处于未激活状态的情况下,响应于所述第一广播包,获取与所述语音唤醒指令对应的语音采集数据;
第一确定单元,用于根据所述语音采集数据,确定所述智能设备的设备特征信息,其中,所述智能设备的设备特征信息用于确定所述智能设备是否为所述目标设备组中响应所述语音唤醒指令被唤醒的设备;
第一发送单元,用于将所述智能设备的设备特征信息发送给目标服务器;第一执行单元,用于响应于所述目标服务器发送的设备唤醒指示信息,执行与所述设备唤醒指示信息对应的设备操作。
11.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至9中任一项所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至9中任一项所述的方法。
CN202210908364.4A 2022-07-29 2022-07-29 分布式语音唤醒方法和装置、存储介质及电子装置 Pending CN117524211A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210908364.4A CN117524211A (zh) 2022-07-29 2022-07-29 分布式语音唤醒方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210908364.4A CN117524211A (zh) 2022-07-29 2022-07-29 分布式语音唤醒方法和装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN117524211A true CN117524211A (zh) 2024-02-06

Family

ID=89759341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210908364.4A Pending CN117524211A (zh) 2022-07-29 2022-07-29 分布式语音唤醒方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN117524211A (zh)

Similar Documents

Publication Publication Date Title
EP3640936B1 (en) Apparatus control device, method, and apparatus having same
CN109473092B (zh) 一种语音端点检测方法及装置
CN108766422B (zh) 语音设备的响应方法、装置、存储介质及计算机设备
CN110808886A (zh) 一种语音设备的控制方法、装置、存储介质及语音设备
CN112489648A (zh) 唤醒处理阈值调整方法、语音家电、存储介质
CN111884887A (zh) 语音交互的方法和装置、存储介质及电子装置
CN112596406A (zh) 智能设备的控制方法、装置、控制面板以及存储介质
CN112151013A (zh) 智能设备交互方法
CN111935517B (zh) 一种智能机顶盒的唤醒方法、装置、电子设备及存储介质
CN111583928A (zh) 设备控制方法及相关装置
CN111965989A (zh) 系统更新方法、装置、智能家居控制面板以及存储介质
CN113593544A (zh) 设备的控制方法和装置、存储介质及电子装置
CN112002316A (zh) 一种电器控制方法、装置、存储介质及终端
CN111884888A (zh) 裁判机选举方法、装置、智能设备和计算机可读存储介质
CN112616176B (zh) 设备的唤醒方法及装置、控制方法及装置
CN117524211A (zh) 分布式语音唤醒方法和装置、存储介质及电子装置
CN114884975B (zh) 业务消息的处理方法和装置、存储介质及电子装置
CN111076347A (zh) 一种空调控制方法、装置、存储介质及空调
CN111540360A (zh) 设备唤醒方法及设备唤醒系统
CN112820273B (zh) 唤醒判别方法和装置、存储介质及电子设备
CN113676790B (zh) 低压集抄设备的采集调度方法、装置、集中器和介质
CN115148204B (zh) 语音唤醒的处理方法及装置、存储介质及电子装置
CN112216279A (zh) 语音传输方法、智能终端及计算机可读存储介质
CN116403575A (zh) 免唤醒语音交互方法、装置、存储介质及电子装置
CN112201239B (zh) 目标设备的确定方法及装置、存储介质、电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination