麦克风阵列的切换方法、装置、存储介质及计算机设备
技术领域
本申请涉及智能音箱领域,具体涉及一种麦克风阵列的切换方法、装置、存储介质及计算机设备。
背景技术
麦克风阵列是由一定数量的声学传感器(如麦克风)组成,用来对声场的空间特性进行采样并处理的系统,可以解决远距离语音识别,以保证真实场景下的语音识别率的问题。随着“声控时代”的到来,基于麦克风阵列的设备越来越多,例如4G智能音箱,可以进行较远距离的人机语音交互。目前,大部分的智能音箱需要连接电源线使用,因此一般固定在室内某处使用。少量智能音箱内安装了电池,可以携带至室外使用,或者在室内移动使用。但是目前智能音箱的设计趋势是小型化、轻便化,因此留给电池的空间势必不能很大。而目前的智能音箱使用时,在不同的使用场景下,麦克风阵列的运行模式相同,全部麦克风均持续开启以采集外部声源信号,对电量的消耗较快。这就导致在没有连接电源线的情况下,智能音箱的内置电池电量很快被消耗完,在无法连接电源线的使用场景下的使用大大受限。
发明内容
本申请的目的为提供一种麦克风阵列的切换方法、装置、存储介质及计算机设备,旨在解决现有技术中的麦克风阵列设备,不能根据具体的使用场景信息切换麦克风阵列的运行模式的问题。
本申请提出了一种麦克风阵列的切换方法,包括:
获取设备的当前使用场景信息,所述当前使用场景信息包含的使用场景包括室内场景或室外场景,所述设备中安装有麦克风阵列;
根据所述当前使用场景信息判断当前使用场景是否为室内场景;
若是,则控制所述麦克风阵列按照预设室内模式运行;
若否,则控制所述麦克风阵列按照预设室外模式运行。
进一步地,所述获取设备的当前使用场景信息的步骤前,包括:
判断所述设备是否处于充电状态;
若否,则执行获取设备的所述当前使用场景信息的步骤。
进一步地,所述麦克风阵列中包括至少一个麦克风,所述获取设备的当前使用场景信息的步骤,包括:
获取所述设备最近一次记录的历史使用场景信息,所述历史使用场景信息包含的使用场景选自所述室内场景或所述室外场景;
实时获取所述设备的运动状态信息,所述运动状态信息包括移动信息或静止信息;
判断所述设备的运动状态是否发生变化;
若是,则生成并播放语音确认信息,所述语音确认信息包括切换所述历史使用场景信息的内容;
接收用户对于所述语音确认信息的反馈语音信息;
判断所述反馈语音信息是否为确定切换使用场景的指令信息;
若是,则将切换所述历史使用场景后对应的场景作为所述设备的当前使用场景信息。
进一步地,所述实时获取所述设备的运动状态信息的步骤,包括:
每隔预设采集时长,采集所述设备的空间位置信息;
判断相邻两次采集的所述空间位置信息是否相同;
若否,则判断所述变化的持续时长是否超过预设时长;
若是,则判定所述设备的运动状态为移动状态,否则为静止状态。
进一步地,所述控制所述麦克风阵列按照预设室内模式运行的步骤,包括:
计算所述麦克风阵列拾取的外部声音的声源与所述设备的距离;
判断所述距离是否小于预设距离;
若是,则控制所述麦克风阵列中的麦克风开启个数小于第一预设值。
进一步地,所述计算所述麦克风阵列拾取的外部声音的声源与所述设备的距离的步骤,包括:
开启所述麦克风阵列中的多个指定麦克风,并获取各个所述指定麦克风分别对应的位置信息;
分别记录每个所述指定麦克风接收到所述外部声音的时刻;
根据各个所述时刻,计算所述外部声音到达任意两个所述指定麦克风的到达时间差;
利用双曲线法则,根据所述到达时间差和各个所述指定麦克风分别对应的位置信息,计算所述声源与所述设备的距离。
进一步地,所述控制所述麦克风阵列按照预设室外模式运行的步骤,包括:
判断所述设备是否处于待机状态;
若是,则控制所述麦克风阵列中的麦克风开启个数小于第二预设值。
本申请还提出了一种麦克风阵列的切换装置,包括:
使用场景获取单元,用于获取设备的当前使用场景信息,所述当前使用场景信息包含的使用场景包括室内场景或室外场景,所述设备中安装有麦克风阵列;
第一判断单元,用于根据所述当前使用场景信息判断当前使用场景是否为室内场景;
室内模式运行单元,用于若为室内场景,则控制所述麦克风阵列按照预设室内模式运行;
室外模式运行单元,用于若为室外场景,则控制所述麦克风阵列按照预设室外模式运行。
本申请还提出了一种存储介质,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述任一项所述的麦克风阵列的切换方法。
本申请还提出了一种计算机设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的麦克风阵列的切换方法。
本申请的有益效果:
本申请的麦克风阵列的切换方法、装置、存储介质及计算机设备,通过获取设备的当前使用场景信息,来判断当前使用场景处于室内场景还是处于室外场景;当为室内场景时,控制麦克风阵列按照预设室内模式运行;当为室外场景时,控制麦克风阵列按照预设室外模式运行。其中,预设室内模式和预设室外模式分别对应的麦克风阵列中的麦克风开启数目不同,从而可以实现根据设备的具体使用场景信息来切换麦克风阵列的运行模式,以调节麦克风开启数目,进而在不影响设备使用的情况下,尽可能减少麦克风阵列的电量消耗。
附图说明
图1是本申请一实施例的麦克风阵列的切换方法的流程示意图;
图2是本申请一实施例的麦克风阵列的切换装置的结构示意框图;
图3是本申请又一实施例的麦克风阵列的切换装置的结构示意框图;
图4是图2中使用场景获取单元的结构示意框图;
图5是图4中运动状态获取子单元的结构示意框图;
图6是图2中室内模式运行单元的结构示意框图;
图7是图6中距离计算子单元的结构示意框图;
图8是图2中室外模式运行单元的结构示意框图;
图9是本申请的存储介质的一实施例的结构示意框图;
图10是本申请的计算机设备的一实施例的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,在本申请中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
参照图1,本申请提供的一种麦克风阵列的切换方法,包括:
S1、获取设备的当前使用场景信息,所述当前使用场景信息包含的使用场景包括室内场景或室外场景,所述设备中安装有麦克风阵列;
S2、根据所述当前使用场景信息判断当前使用场景是否为室内场景;
S3、若是,则控制所述麦克风阵列按照预设室内模式运行;
S4、若否,则控制所述麦克风阵列按照预设室外模式运行。
本实施例中,上述步骤S1~S2中,上述设备为内置电池的麦克风阵列设备,可连接外部电源使用,也可采用内置电池作为供电电源来使用,例如智能音箱、智能机器人、智能学习机、智能语音手表、智能手机、翻译机等。上述麦克风阵列由一定数目的声学传感器组成,一般来说有一字、十字、平面、螺旋、球型及无规则阵列等。麦克风阵列中的麦克风数量可以从2个到上千个不等。对于消费领域的麦克风阵列设备一般数量较少,例如4个麦克风,6个麦克风,一般将多个麦克风分布在等边多边形的各个顶点上,如6个麦克风分布于等边六边形的6个顶点处。
通过获取设备的当前使用场景信息来对设备当前是否处于室内场景做区分。在上述室内的使用场景下,设备可以插电使用,例如在家庭中,将智能音箱插着电源插头,固定放置于客厅电源插头附近使用;也可以不插电使用,例如在办公室中,将智能音箱移动至某不便于插电的会议讨论现场时,采用内置电池使用。在上述室外的使用场景下,室外的声音较为嘈杂,在麦克风阵列开启的情况下,麦克风阵列不断采集外部声音,不断进行运算,电量消耗非常快,而且室外一般不能充电,需要尽量减少电量消耗。
上述步骤S3中,上述预设室内模式为适用于室内的麦克风阵列运行模式。在室内时,设备根据运行状态可以分为关机状态、待机状态以及使用状态。在预设室内模式下,获取设备的当前运行状态。当设备处于关机状态时,麦克风阵列不会开启。当设备处于待机状态时,设置麦克风阵列的麦克风开启数量为第一预设数量,第一预设数量可以根据具体使用情况来确定,例如将第一预设数量设置为2,这是由于在设备处于室内待机状态时,室内一般较为安静,接收到的语音信息较少,而且设备无需对外部声音进行准确分析,只需要监听关键词唤醒,因此对接收到的语音信号的信号质量要求相对较低;优选地,开启位于对角线位置的2个麦克风,在同样开启2个麦克风的情况下,位于对角线位置的麦克风由于距离较远,采集的外部声音的语音信号质量较好,例如,对于6个麦克风的麦克风阵列,可以仅开启位于对角线上的2个麦克风,剩余4个麦克风关闭以节约电量。当设备处于使用状态时,设置麦克风阵列的麦克风开启数量大于第二预设数量,其中第二预设数量大于或等于第一预设数量,例如开启2个~6个,具体开启数量可以根据用户距离设备的远近来进行调节,这是由于在设备处于使用状态时,即已经被关键词唤醒之后,需要进行人机语音交互,此时对语音信号的质量要求较高,以便于设备能准确识别语音信号中的指令信息,做出准确的互动动作;进一步地,在用户距离设备较近时,不用将麦克风全部开启已经能获得具有较高质量的语音信号,而当用户距离设备较远时,则需要将麦克风全部开启才能获得具有较高质量的语音信号。
上述步骤S4中,上述预设室外模式为适用于室外的麦克风阵列运行模式。在室外时,设备根据运行状态也可以分为关机状态、待机状态以及使用状态。在预设室外模式下,获取设备的当前运行状态。当设备处于关机状态时,麦克风阵列不会开启。当设备处于待机状态时,控制所述麦克风阵列中的麦克风开启个数为1个,或者直接关闭全部麦克风,当关闭全部麦克风时不监听关键词唤醒;与室内场景不同的是,室内一般比较安静,在待机状态下设备接收到的语音信号通常并不多,在室内待机状态下电量消耗相对较小;而室外一般较为嘈杂,在待机状态下设备不断接收到语音信号,需要不断通过算法进行运算,此时对电量的消耗非常大;而在室外时,一般很难及时充电,因此,室外待机状态下的省电需求更强,将麦克风开启个数设置成1个或者0个。当设备处于使用状态时,可以将麦克风阵列中的麦克风全部开启,以在室外获得较高质量的语音信号;也可以采用与室内使用状态下的麦克风开启数量的相同的设置方法,即设置麦克风阵列的麦克风开启数量大于第二预设数量,其中第二预设数量大于或等于第一预设数量,例如开启3个~6个,具体开启数量可以根据用户距离设备的远近来进行调节,具体过程可以参考上述步骤S3,此处不再赘述。
本申请的麦克风阵列的切换方法,通过获取设备的当前使用场景信息,来判断当前使用场景处于室内场景还是处于室外场景;当为室内场景时,控制麦克风阵列按照预设室内模式运行;当为室外场景时,控制麦克风阵列按照预设室外模式运行。其中,预设室内模式和预设室外模式分别对应的麦克风阵列中的麦克风开启数目不同,从而可以实现根据设备的使用场景信息来切换麦克风阵列的运行模式,以调节麦克风开启数目,进而在不影响设备使用的情况下,尽可能减少麦克风阵列的电量消耗。
在一个实施例中,上述获取设备的当前使用场景信息的步骤S1前,
包括:
S01、判断所述设备是否处于充电状态;
S02、若否,则执行获取设备的所述当前使用场景信息的步骤。
本实施例中,通过上述步骤S01~S02,来判断设备当前是否处于充电状态,若处于充电状态,并不需要担心麦克风阵列的电量消耗过快的问题,可以为了获取最优的外部声音信号,将全部麦克风均开启。若不处于充电状态,则执行获取设备的使用场景信息的步骤,以根据不同的使用场景信息选择不同的麦克风阵列的运行模式。
进一步地,上述判断所述设备是否处于充电状态的步骤,包括:判断所述设备的充电端口是否监听到插头插入信息;若监听到所述插头插入信息,则判断所述设备的电池电量是否增加;若增加,则开启全部麦克风;若未增加,则执行获取所述设备的使用场景信息。例如,当插头为USB插头时,检测到插头插入,但是有可能是仅进行数据传输,而没有进行充电,进一步通过电池电量的增加情况来判断当前是否连接外部电源,判断的结果更为可靠。
在一个实施例中,上述麦克风阵列中包括至少一个麦克风,上述获取设备的当前使用场景信息的步骤S1,包括:
S101、获取所述设备最近一次记录的历史使用场景信息,所述历史使用场景信息包含的使用场景选自所述室内或所述室外场景;
S102、实时获取所述设备的运动状态信息,所述运动状态信息包括移动信息或静止信息;
S103、判断所述设备的运动状态是否发生变化;
S104、若是,则生成并播放语音确认信息,所述语音确认信息切换所述历史使用场景信息的内容;
S105、接收用户对于所述语音确认信息的反馈语音信息;
S106、判断所述反馈语音信息是否为确定切换使用场景的指令信息;
S107、若是,则将切换所述历史使用场景后对应的场景作为所述设备的当前使用场景信息。
本实施例中,上述步骤S101中,在设备中记录了距离当前时刻最近的历史时刻对应的历史使用场景信息。其中,当设备首次开启时,要求用户手动设置使用场景信息,用户可以通过手动输入设备的使用场景信息,如“室内场景”;在下一次获取当前使用场景信息时,则获取的上述历史使用场景信息即为“室内场景”。当设备在使用过程中,根据使用场景的变化,设备相应更新记录的使用场景信息。
上述步骤S102中,当设备处于移动状态时,设备的空间位置信息发生变化,例如在用户提着设备走动,或者设备放置在行驶中的车上等使用场景下,设备处于上述移动状态。当设备处于静止状态时,设备的空间位置信息不会发生变化,例如在设备被放置在家中、办公室等使用场景下,设备处于上述静止状态。
上述步骤S103中,当设备由移动变化为静止,或者设备由静止变化为移动时,则判定设备的运动状态发生变化。
上述步骤S104中,如果判定设备的运动状态发生了变化,则按照预设语音确认模板生成语音确认信息,例如,若历史使用场景为室内场景,当设备由静止状态变化为移动状态,则生成语音确认信息,例如“智能音箱的当前使用场景由室内场景切换为室外场景”。
上述步骤S105中,上述反馈语音信息包括用户对上述语音确认信息的回答内容,例如“好的”“切换”“不切换”“不用”等。进一步地,在本步骤中,在播放语音确认信息后,检测麦克风阵列中的麦克风的开启数量,若小于预设开启数量,则调整麦克风的开启数量至预设开启数量。以免麦克风开启数量过少时,接收反馈语音信息的信号质量不高。
上述步骤S106~S107中,如果得到的反馈语音信息是确认切换的指令信息,例如反馈语音信息为“切换”,则将设备内记录的使用场景信息由历史使用场景信息切换为另一使用场景信息,其中,另一使用场景信息为与历史使用场景信息不同的使用场景信息,例如当历史使用场景为室内场景,则另一使用场景为室外场景,并将切换后的场景信息作为设备的当前使用场景信息。否则,当前使用场景信息仍与历史使用场景信息相同。
在一个实施例中,上述实时获取所述设备的运动状态信息的步骤S102,包括:
S1021、每隔预设采集时长,采集所述设备的空间位置信息;
S1022、判断相邻两次采集的所述空间位置信息是否相同;
S1023、若否,则判断所述变化的持续时长是否超过预设时长;
S1024、若是,则判定所述设备的运动状态为移动状态,否则为静止状态。
本实施例中,上述步骤S1021中,可以通过重力传感器来采集设备的空间位置信息,上述空间位置信息为设备在空间坐标轴中的x,y,z值。上述预设采集时长根据具体使用情况来确定,例如设置为200ms。
上述步骤S1022中,如果相邻两次采集的空间位置信息发生了变化,则表明设备当前发生了位移。
上述步骤S1023~S1024中,如果设备发生了位移,进一步判断上述变化的持续时长,即位移的持续时长是否超过预设时长。上述预设时长根据具体使用情况来确定,例如设置为1min,10min等。由于当设备仅仅在很短的时长内发生变化时,例如10s,通常还不足以从室内变化到室外,或者从室外变化到室内;而当设备发生位移的时长超过了上述预设时长,此时有足够的时间让用户携带设备从室内变化到室外,或者从室外变化到室内,才需要进一步确认是否发生了使用场景的变化。因此,对设备的空间位置信息变化持续超过预设时长的情况,视为设备发生了移动;其余情况均视为设备静止。
在一个实施例中,上述控制所述麦克风阵列按照预设室内模式运行的步骤S3,包括:
S301、计算所述麦克风阵列拾取的外部声音的声源与所述设备的距离;
S302、判断所述距离是否小于预设距离;
S303、若是,则控制所述麦克风阵列中的麦克风开启个数小于第一预设值。
本实施例中,通过上述步骤S301~S303,实现根据声源与设备的距离来调整麦克风的开启个数。当声源距离设备的距离小于预设距离时,此时,不用将麦克风全部开启已经能获得具有较高质量的语音信号,控制麦克风阵列中的麦克风开启个数小于上述第一预设值,其中,上述第一预设值可以根据具体的使用场景和上述预设距离来调整,例如将第一预设值设置为2个,3个等。当声源距离设备的距离大于或等于预设距离时,此时,需要开启更多麦克风,甚至将麦克风全部开启才能获得具有较高质量的语音信号,则控制麦克风阵列中的麦克风开启个数大于第三预设值,其中,第三预设值可以根据具体的使用场景和上述预设距离来调整,例如将第三预设值设置为5个,6个等。
在一个实施例中,上述计算所述麦克风阵列拾取的外部声音的声源与所述设备的距离的步骤S301,包括:
S3011、开启所述麦克风阵列中的多个指定麦克风,并获取各个所述指定麦克风分别对应的位置信息;
S3012、分别记录每个所述指定麦克风接收到所述外部声音的时刻;
S3013、根据各个所述时刻,计算所述外部声音到达任意两个所述指定麦克风的到达时间差;
S3014、利用双曲线法则,根据所述到达时间差和各个所述指定麦克风分别对应的位置信息,计算所述声源与所述设备的距离。
本实施例中,通过步骤S3011~S3014计算声源与设备的距离。
上述多个指定麦克风一般为三个指定麦克风,也可以根据具体使用情况选择数量大于三个的指定麦克风来计算上述距离。优选位于等边三角形三个顶点上的麦克风,等边三角形的中心点的位置即作为设备的中心点位置,便于计算声源与该中心点位置的距离。采用TDOA(Time Difference of Arrival,到达时间差)定位方法,通过测量声源到达两个不同位置的指定麦克风的时差,就能够做出以设备的中心点为交点,距离差为长轴的双曲线;采用三个不同位置的指定麦克风,则可以做出两个双曲线;两个双曲线的交点即为声源所在的位置,确定声源位置后,进而可以计算出声源与设备中心点的距离,即为上述声源与设备的距离。
在一个实施例中,上述控制所述麦克风阵列按照预设室外模式运行的步骤S4,包括:
S401、判断所述设备是否处于待机状态;
S402、若是,则控制所述麦克风阵列中的麦克风开启个数小于第二预设值。
本实施例中,当设备处于室外的待机状态时,控制所述麦克风阵列中的麦克风开启个数小于第二预设值,上述第二预设值可以设置为1个,即可以仅开启1个麦克风,也可以直接关闭全部麦克风,当关闭全部麦克风时不监听关键词唤醒。室外一般较为嘈杂,在待机状态下设备不断接收到语音信号,需要不断通过算法进行运算,此时对电量的消耗非常大;而在室外时,一般很难及时充电,因此,室外待机状态下的省电需求更强,将麦克风开启个数设置成1个或者0个。若不处于待机状态,而是处于使用状态时,可以将麦克风阵列中的麦克风全部开启,以在室外获得较高质量的语音信号;也可以采用与室内使用状态下的麦克风开启数量的相同的设置方法,此处不再赘述。
参照图2,本申请提供的一种麦克风阵列的切换装置,包括:
使用场景获取单元10,用于获取设备的当前使用场景信息,所述当前使用场景信息包含的使用场景包括室内场景或室外场景,所述设备中安装有麦克风阵列;
第一判断单元20,用于根据所述当前使用场景信息判断当前使用场景是否为室内场景;
室内模式运行单元30,用于若为室内场景,则控制所述麦克风阵列按照预设室内模式运行;
室外模式运行单元40,用于若为室外场景,则控制所述麦克风阵列按照预设室外模式运行。
本实施例中,上述使用场景获取单元10中,上述设备为内置电池的麦克风阵列设备,可连接外部电源使用,也可采用内置电池作为供电电源来使用,例如智能音箱、智能机器人、智能学习机、智能语音手表、智能手机、翻译机等。上述麦克风阵列由一定数目的声学传感器组成,一般来说有一字、十字、平面、螺旋、球型及无规则阵列等。麦克风阵列中的麦克风数量可以从2个到上千个不等。对于消费领域的麦克风阵列设备一般数量较少,例如4个麦克风,6个麦克风,一般将多个麦克风分布在等边多边形的各个顶点上,如6个麦克风分布于等边六边形的6个顶点处。
通过使用场景获取单元10获取设备的当前使用场景信息,在通过第一判断单元20来对设备当前是否处于室内场景做区分。在上述室内的使用场景下,设备可以插电使用,例如在家庭中,将智能音箱插着电源插头,固定放置于客厅电源插头附近使用;也可以不插电使用,例如在办公室中,将智能音箱移动至某不便于插电的会议讨论现场时,采用内置电池使用。在上述室外的使用场景下,室外的声音较为嘈杂,在麦克风阵列开启的情况下,麦克风阵列不断采集外部声音,不断进行运算,电量消耗非常快,而且室外一般不能充电,需要尽量减少电量消耗。
上述室内模式运行单元30中,上述预设室内模式为适用于室内的麦克风阵列运行模式。在室内时,设备根据运行状态可以分为关机状态、待机状态以及使用状态。在预设室内模式下,获取设备的当前运行状态。当设备处于关机状态时,麦克风阵列不会开启。当设备处于待机状态时,设置麦克风阵列的麦克风开启数量为第一预设数量,第一预设数量可以根据具体使用情况来确定,例如将第一预设数量设置为2,这是由于在设备处于室内待机状态时,室内一般较为安静,接收到的语音信息较少,而且设备无需对外部声音进行准确分析,只需要监听关键词唤醒,因此对接收到的语音信号的信号质量要求相对较低;优选地,开启位于对角线位置的2个麦克风,在同样开启2个麦克风的情况下,位于对角线位置的麦克风由于距离较远,采集的外部声音的语音信号质量较好,例如,对于6个麦克风的麦克风阵列,可以仅开启位于对角线上的2个麦克风,剩余4个麦克风关闭以节约电量。当设备处于使用状态时,设置麦克风阵列的麦克风开启数量大于第二预设数量,其中第二预设数量大于或等于第一预设数量,例如开启2个~6个,具体开启数量可以根据用户距离设备的远近来进行调节,这是由于在设备处于使用状态时,即已经被关键词唤醒之后,需要进行人机语音交互,此时对语音信号的质量要求较高,以便于设备能准确识别语音信号中的指令信息,做出准确的互动动作;进一步地,在用户距离设备较近时,不用将麦克风全部开启已经能获得具有较高质量的语音信号,而当用户距离设备较远时,则需要将麦克风全部开启才能获得具有较高质量的语音信号。
上述室外模式运行单元40中,上述预设室外模式为适用于室外的麦克风阵列运行模式。在室外时,设备根据运行状态也可以分为关机状态、待机状态以及使用状态。在预设室外模式下,获取设备的当前运行状态。当设备处于关机状态时,麦克风阵列不会开启。当设备处于待机状态时,控制所述麦克风阵列中的麦克风开启个数为1个,或者直接关闭全部麦克风,当关闭全部麦克风时不监听关键词唤醒;与室内场景不同的是,室内一般比较安静,在待机状态下设备接收到的语音信号通常并不多,在室内待机状态下电量消耗相对较小;而室外一般较为嘈杂,在待机状态下设备不断接收到语音信号,需要不断通过算法进行运算,此时对电量的消耗非常大;而在室外时,一般很难及时充电,因此,室外待机状态下的省电需求更强,将麦克风开启个数设置成1个或者0个。当设备处于使用状态时,可以将麦克风阵列中的麦克风全部开启,以在室外获得较高质量的语音信号;也可以采用与室内使用状态下的麦克风开启数量的相同的设置方法,即设置麦克风阵列的麦克风开启数量大于第二预设数量,其中第二预设数量大于或等于第一预设数量,例如开启3个~6个,具体开启数量可以根据用户距离设备的远近来进行调节,具体过程可以参考上述步骤S3,此处不再赘述。
本申请的麦克风阵列的切换装置,通过获取设备的当前使用场景信息,来判断当前使用场景处于室内场景还是处于室外场景;当为室内场景时,控制麦克风阵列按照预设室内模式运行;当为室外场景时,控制麦克风阵列按照预设室外模式运行。其中,预设室内模式和预设室外模式分别对应的麦克风阵列中的麦克风开启数目不同,从而可以实现根据设备的使用场景信息来切换麦克风阵列的运行模式,以调节麦克风开启数目,进而在不影响设备使用的情况下,尽可能减少麦克风阵列的电量消耗。
参照图3,在一个实施例中,上述麦克风阵列的切换装置,包括:
第二判断单元01,用于判断所述设备是否处于充电状态;
执行指令生成单元02,用于若不处于充电状态,则执行获取设备的所述当前使用场景信息的步骤。
本实施例中,通过上述第二判断单元01,来判断设备当前是否处于充电状态,若处于充电状态,并不需要担心麦克风阵列的电量消耗过快的问题,可以为了获取最优的外部声音信号,将全部麦克风均开启。若不处于充电状态,则通过执行执行指令生成单元02进入获取设备的使用场景信息的步骤,以根据不同的使用场景信息选择不同的麦克风阵列的运行模式。
进一步地,上述第二判断单元01包括:充电判断子单元,用于判断所述设备的充电端口是否监听到插头插入信息;电量变化判断子单元,用于若监听到所述插头插入信息,则判断所述设备的电池电量是否增加;第一判定子单元,用于若增加,则开启全部麦克风;第二判定子单元,用于若未增加,则执行获取所述设备的使用场景信息。例如,当插头为USB插头时,检测到插头插入,但是有可能是仅进行数据传输,而没有进行充电,进一步通过电池电量的增加情况来判断当前是否连接外部电源,判断的结果更为可靠。
参照图4,在一个实施例中,上述使用场景获取单元10,包括:
历史场景获取子单元101,用于获取所述设备最近一次记录的历史使用场景信息,所述历史使用场景信息包含的使用场景选自所述室内或所述室外场景;
运动状态获取子单元102,用于实时获取所述设备的运动状态信息,所述运动状态信息包括移动信息或静止信息;
第一判断子单元103,用于判断所述设备的运动状态是否发生变化;
语音确认子单元104,用于若发生变化,则生成并播放语音确认信息,所述语音确认信息切换所述历史使用场景信息的内容;
反馈信息接收子单元105,用于接收用户对于所述语音确认信息的反馈语音信息;
第二判断子单元106,用于判断所述反馈语音信息是否为确定切换使用场景的指令信息;
场景信息获取子单元107,用于若是确定切换的指令信息,则将切换所述历史使用场景后对应的场景作为所述设备的当前使用场景信息。
本实施例中,上述历史场景获取子单元101中,在设备中记录了距离当前时刻最近的历史时刻对应的历史使用场景信息。其中,当设备首次开启时,要求用户手动设置使用场景信息,用户可以通过手动输入设备的使用场景信息,如“室内场景”;在下一次获取当前使用场景信息时,则通过历史场景获取子单元101获取的上述历史使用场景信息即为“室内场景”。当设备在使用过程中,根据使用场景的变化,设备相应更新记录的使用场景信息。
上述运动状态获取子单元102中,当设备处于移动状态时,设备的空间位置信息发生变化,例如在用户提着设备走动,或者设备放置在行驶中的车上等使用场景下,设备处于上述移动状态。当设备处于静止状态时,设备的空间位置信息不会发生变化,例如在设备被放置在家中、办公室等使用场景下,设备处于上述静止状态。
上述第一判断子单元103中,当设备由移动变化为静止,或者设备由静止变化为移动时,则通过第一判断子单元103判定设备的运动状态发生变化。
上述语音确认子单元104中,如果判定设备的运动状态发生了变化,则通过语音确认子单元104按照预设语音确认模板生成语音确认信息,例如,若历史使用场景为室内场景,当设备由静止状态变化为移动状态,则生成语音确认信息,例如“智能音箱的当前使用场景由室内场景切换为室外场景”。
上述反馈信息接收子单元105中,上述反馈语音信息包括用户对上述语音确认信息的回答内容,例如“好的”“切换”“不切换”“不用”等。进一步地,在反馈信息接收子单元105中,在播放语音确认信息后,检测麦克风阵列中的麦克风的开启数量,若小于预设开启数量,则调整麦克风的开启数量至预设开启数量。以免麦克风开启数量过少时,接收反馈语音信息的信号质量不高。
如果通过第二判断子单元106得到的反馈语音信息是确认切换的指令信息,例如反馈语音信息为“切换”,则通过场景信息获取子单元107将设备内记录的使用场景信息由历史使用场景信息切换为另一使用场景信息,其中,另一使用场景信息为与历史使用场景信息不同的使用场景信息,例如当历史使用场景为室内场景,则另一使用场景为室外场景,并将切换后的场景信息作为设备的当前使用场景信息。否则,当前使用场景信息仍与历史使用场景信息相同。
参照图5,在一个实施例中,上述运动状态获取子单元102,包括:
位置信息采集模块1021,用于每隔预设采集时长,采集所述设备的空间位置信息;
第一判断模块1022,用于判断相邻两次采集的所述空间位置信息是否相同;
第二判断模块1023,用于若不相同,则判断所述变化的持续时长是否超过预设时长;
状态判定模块1024,用于若超过预设时长,则判定所述设备的运动状态为移动状态,否则为静止状态。
本实施例中,上述位置信息采集模块1021中,可以通过重力传感器来采集设备的空间位置信息,上述空间位置信息为设备在空间坐标轴中的x,y,z值。上述预设采集时长根据具体使用情况来确定,例如设置为200ms。
上述第一判断模块1022中,如果相邻两次采集的空间位置信息发生了变化,则表明设备当前发生了位移。
上述第二判断模块1023和状态判定模块1024中,如果设备发生了位移,进一步通过第二判断模块1023判断上述变化的持续时长,即位移的持续时长是否超过预设时长。上述预设时长根据具体使用情况来确定,例如设置为1min,10min等。由于当设备仅仅在很短的时长内发生变化时,例如10s,通常还不足以从室内变化到室外,或者从室外变化到室内;而当设备发生位移的时长超过了上述预设时长,此时有足够的时间让用户携带设备从室内变化到室外,或者从室外变化到室内,才需要进一步确认是否发生了使用场景的变化。因此,对设备的空间位置信息变化持续超过预设时长的情况,通过状态判定模块1024判定设备发生了移动;其余情况均判定为设备静止。
参照图6,在一个实施例中,上述室内模式运行单元30,包括:
距离计算子单元301,用于计算所述麦克风阵列拾取的外部声音的声源与所述设备的距离;
第三判断子单元302,用于判断所述距离是否小于预设距离;
第一开启子单元303,用于若小于预设距离,则控制所述麦克风阵列中的麦克风开启个数小于第一预设值。
本实施例中,通过上述距离计算子单元301、第三判断子单元302和第一开启子单元303,实现根据声源与设备的距离来调整麦克风的开启个数。当声源距离设备的距离小于预设距离时,此时,不用将麦克风全部开启已经能获得具有较高质量的语音信号,控制麦克风阵列中的麦克风开启个数小于上述第一预设值,其中,上述第一预设值可以根据具体的使用场景和上述预设距离来调整,例如将第一预设值设置为2个,3个等。当声源距离设备的距离大于或等于预设距离时,此时,需要开启更多麦克风,甚至将麦克风全部开启才能获得具有较高质量的语音信号,则控制麦克风阵列中的麦克风开启个数大于第三预设值,其中,第三预设值可以根据具体的使用场景和上述预设距离来调整,例如将第三预设值设置为5个,6个等。
参照图7,在一个实施例中,上述距离计算子单元301,包括:
麦克风开启模块3011,用于开启所述麦克风阵列中的多个指定麦克风,并获取各个所述指定麦克风分别对应的位置信息;
时刻记录模块3012,用于分别记录每个所述指定麦克风接收到所述外部声音的时刻;
时差计算模块3013,用于根据各个所述时刻,计算所述外部声音到达任意两个所述指定麦克风的到达时间差;
距离计算模块3014,用于利用双曲线法则,根据所述到达时间差和各个所述指定麦克风分别对应的位置信息,计算所述声源与所述设备的距离。
本实施例中,通过麦克风开启模块3011、时刻记录模块3012、时差计算模块3013和距离计算模块3014计算声源与设备的距离。
上述麦克风开启模块3011中,多个指定麦克风一般为三个指定麦克风,也可以根据具体使用情况选择数量大于三个的指定麦克风来计算上述距离。优选位于等边三角形三个顶点上的麦克风,等边三角形的中心点的位置即作为设备的中心点位置,便于计算声源与该中心点位置的距离。上述时差计算模块3013中,采用TDOA(Time Difference ofArrival,到达时间差)定位方法,通过计算声源到达两个不同位置的指定麦克风的时差,就能够通过距离计算模块3014做出以设备的中心点为交点,距离差为长轴的双曲线;采用三个不同位置的指定麦克风,则可以做出两个双曲线;两个双曲线的交点即为声源所在的位置,确定声源位置后,进而可以计算出声源与设备中心点的距离,即为上述声源与设备的距离。
参照图8,在一个实施例中,上述室外模式运行单元40,包括:
第四判断子单元401,用于判断所述设备是否处于待机状态;
第二开启子单元402,用于若处于待机状态,则控制所述麦克风阵列中的麦克风开启个数小于第二预设值。
本实施例中,当通过第四判断子单元401判定设备处于室外的待机状态时,通过第二开启子单元402控制所述麦克风阵列中的麦克风开启个数小于第二预设值,上述第二预设值可以设置为1个,即可以仅开启1个麦克风,也可以直接关闭全部麦克风,当关闭全部麦克风时不监听关键词唤醒。室外一般较为嘈杂,在待机状态下设备不断接收到语音信号,需要不断通过算法进行运算,此时对电量的消耗非常大;而在室外时,一般很难及时充电,因此,室外待机状态下的省电需求更强,将麦克风开启个数设置成1个或者0个。若不处于待机状态,而是处于使用状态时,可以将麦克风阵列中的麦克风全部开启,以在室外获得较高质量的语音信号;也可以采用与室内使用状态下的麦克风开启数量的相同的设置方法,此处不再赘述。
参考图9,本申请还提供了一种存储介质1,存储介质1中存储有计算机程序2,当其在计算机上运行时,使得计算机执行以上实施例所描述的麦克风阵列的切换方法。
参考图10,本申请还提供了一种包含指令的计算机设备3,当其在计算机设备3上运行时,使得计算机设备3通过其内部设置的处理器4执行以上实施例所描述的麦克风阵列的切换方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。