基于语音的控制方法、装置、设备及存储介质
技术领域
本发明实施例涉及语音识别技术领域,尤其涉及一种基于语音的控制方法、装置、设备及存储介质。
背景技术
目前,语音识别技术在汽车驾舱中的应用越来越广泛。语音交互能够让驾驶员和车内乘客能够更自然,更快速的访问车内服务,同时也避免了由于驾驶员视线离开路面可能产生的危险和事故。
但是现有的语音识别技术在车内环境比较嘈杂的情况,不能准确的确定用户对车载终端的控制指令。例如当用户正在说出语音指令的时候,如果旁边有其他人在闲聊或者发出声音产生干扰语音,则很难根据上述多个语音确定出语音指令对应的控制指令,导致无法对车载终端进行准确的控制,从而影响语音交互的效果。
发明内容
本发明实施例提供了一种基于语音的控制方法、装置、设备和存储介质,能够准确识确定用户对终端的控制指令,提升了用户的体验。
第一方面,本发明实施例提供了一种基于语音的控制方法,该方法包括:
采集至少两个语音信号;
依据采集所述至少两个语音信号的时间及所述至少两个语音信号与当前场景的匹配度,确定对终端的目标控制指令。
第二方面,本发明实施例还提供了一种基于语音的控制装置,该装置包括:
采集模块,用于采集至少两个语音信号;
目标指令确定模块,用于依据采集所述至少两个语音信号的时间及所述至少两个语音信号与当前场景的匹配度,确定对终端的目标控制指令。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的基于语音的控制方法。
第四方面,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的基于语音的控制方法。
本发明实施例提供的技术方案,通过对语音采集***采集的各语音信号按照采集时间和与当前场景的匹配来确定对终端的控制指令,该方案能够在存在多路语音信号及外部环境干扰的情况下,准确确定用户对终端的控制指令,从而提升了用户的体验。
附图说明
图1A是本发明实施例一中提供的一种基于语音的控制方法的流程图;
图1B是本发明实施例所适用的一种语音采集***的示意图;
图2是本发明实施例二中提供的一种基于语音的控制方法的流程图;
图3是本发明实施例三中提供的一种基于语音的控制方法的流程图;
图4是本发明实施例四中提供的一种基于语音的控制装置的结构框图;
图5是本发明实施例五中提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
实施例一
图1A为本发明实施例一中提供的一种基于语音的控制方法的流程图,本实施适用于如何准确确定用户对终端的控制指令,尤其适用于解决座位固定的车辆环境下,如何在车内存在多个语音等外部干扰的情况下准确确定用户对终端的控制指令。该方法可以由本发明实施例提供的基于语音的控制装置来执行,该装置可采用软件和/或硬件的方式实现。参见图1A,该方法具体包括:
S110,采集至少两个语音信号。
其中,语音信号是指包含用户语音指令的信号,可采用麦克风等采集设备来采集。示例性的,可采用语音采集***采集至少两个语音信号,其中,语音采集***是预先构建的,用于对语音信号进行采集;可选的,语音采集***可以由多个麦克风或麦克风阵列组成。
对于车辆座位固定的环境下,为了能够在车内语音等干扰即存在多路语音信号的情况下,准确识别出车辆内任一人员的意图,例如识别驾驶员或副驾驶员的意图。可依据车辆内的座位构造构建语音采集***,可选的,语音采集***包括至少两对由两个麦克风组成的双麦单元,每对双麦单元的位置依据对应的发声点的位置确定。
其中,两个麦克风视为一对双麦单元,发声点即为车内人员的嘴巴,发声点位置正对两个麦克风连线的中垂线,也就是说,每对双麦单元的两个麦克风之间连线的中垂面上包括发声点,每个发声点对应一对双麦单元。
示例性的,每对双麦单元的位置可以由用户或位置确定模型执行如下操作确定,其中,位置确定模型是预先训练的可用于确定每对双麦单元位置的模型,将发声点的位置、预设的安装平面及中心点位置输入位置确定模型,模型就会结合自身的参数,输出该对双麦的安装位置。
A、依据发声点的位置和预设的安装平面确定该发声点在安装平面上的投影点。
其中,预设的安装平面是指预先设置的用于安装麦克风的平面,如中控台。需要说明的是,由于车内座位的构造,不同的发声点可对应不同的安装平面,也可以对应相同的安装平面。且,由于人身高的不同,将导致发声点的位置变化,从而导致麦克风的位置不固定,因此为了便于固定麦克风,在可控范围内如3-5度,采用标准身高或平均身高来设定发声点的位置。
例如,参见图1B所示,由于驾驶员和副驾驶员均位于车内前排,因此可在同一安装平面内为每个人员设置与其对应的双麦单元。具体的,两个发声点位置分别为正驾驶员的嘴巴所在位置S1和副驾驶员的嘴巴所在位置S2;安装平面为M1。在垂直平面内,经过发声点位置向安装平面做垂线,该垂线与安装平面的交点即为发声点在安装平面上的投影点。例如,参见图1B所示,过点S1向安装平面M1做垂线,与安装平面M1的交点即为投影点S1 /;过点S2向安装平面M1做垂线,与安装平面M1的交点即为投影点S2 /。
B、依据投影点的位置和中心点位置之间的第一距离,以及第一距离与第二距离之间的线性关系,确定发声点对应的双麦单元的安装位置。
其中,中心点位置依据发声点预先设置,每个发声点对应一个中心点,具体的,中心点位置是指车内人员如驾驶员正对的安装平面区域的位置。例如,图1B中S1对应的中心点位置即S1正对的安装平面的位置O1和S2对应的中心点位置即S2正对的安装平面的位置O2;以及三个麦克风MIC1、MIC0和MIC2。
针对每个麦克风,该麦克风的位置和中心点位置之间的距离即为即为第二距离,例如图1B中的MIC1与O1之间的距离。投影点的位置和中心点位置之间的距即为第一距离,例如图1B中的S1/与O1之间的距离。可选的,投影点的位置和中心点位置之间的第一距离是麦克风的位置和中心点位置之间的第二距离的50倍,例如图1B中的S1 /与O1之间的距离S1 /O1是MIC1与O1之间的距离的50倍。
具体的,在确定发声点对应的投影点以及依据发声点预先确定中心点位置之后,依据投影点的位置和中心点位置之间的第一距离与麦克风的位置和中心点位置之间的第二距离的线性关系,可唯一确定每对双麦单元中每个麦克风的位置。
需要说明的是,通常情况下一个发声点对应一对双麦单元,若两个发声点对应的两对双麦单元的安装位置存在重叠,可采用共用麦克风的形式构建语音采集***,如图1B所示,由三个麦克风组成的两对双麦单元,即驾驶员对应的双麦单元MIC1和MIC0,副驾驶员对应的双麦单元MIC2和MIC0。
示例性的,可根据车辆内座位的构造,设置与位置个数相同的双麦对。例如,对应具有五个位置的车辆,可在车控台上设置两对双麦分别对应驾驶员和副驾驶员,在前排座位后面相应的设置三对双麦分别对应后排的三个人员。
需要说明的是,采用该种构建方式设置的语音采集***,一对双麦单元采集的语音信号为一个语音信号,即将一对双麦对应的两个麦克风所采集的语音合成为一个语音信号。若采用普通的语音采集***,一个麦克风所采集的语音为一个语音信号。
S120,依据采集至少两个语音信号的时间及至少两个语音信号与当前场景的匹配度,确定对终端的目标控制指令。
其中,匹配度是指语音信号的语义与当前所处环境的相关程度,可通过对语音信号的文本内容进行语义分析来确定。例如,若当前场景是开车,则对车辆的操作***的语音控制如开启导航、关闭空调或打开车窗等语音与开车场景相关;而其他的聊天语音则与开车场景不相关。终端是一种具有智能技术的设备,可选的,本实施例中终端为车载终端,目标控制指令是指可以控制终端执行一系列操作的语音指令。
具体的,可依据至少两个语音信号的匹配度,剔除与当前场景无关的语音信号;按照至少两个语音信号的采集时间对剩余的语音信号进行排序,获取排序最前的语音信号;依据排序最前的语音信号得到相应的控制指令;依据控制指令执行用户的意图。
本发明实施例提供的技术方案,通过对语音采集***采集的各语音信号按照采集时间和与当前场景的匹配来确定对终端的控制指令,该方案能够在存在多路语音信号及外部环境干扰的情况下,准确确定用户对终端的控制指令,从而提升了用户的体验。
实施例二
图2为本发明实施例二中提供的一种基于语音的控制方法的流程图,本实施例在上述实施例一的基础上,进一步的优化。参见图2,该方法具体包括:
S210,采集至少两个语音信号。
其中,采集至少两个语音信号可以是采用语音采集***采集至少两个语音信号,其中,语音采集***包括至少两对由两个麦克风组成的双麦单元,每对双麦单元的位置是依据发声点的位置确定的。
S220,采用预设规则对至少两个语音信号进行处理,得到至少两个语音信号中各语音信号中的目标信号对应的文本内容及各目标信号的起始时间。
其中,预设规则是指预先设置的用于对每对双麦采集的语音信号进行处理的规则,该规则可用于对各语音信号进行分离等处理即保留特定角度范围内的语音,抑制其他范围内的语音,并对分离后的各语音信号进行语音识别。
目标信号是指采用预设规则对各语音信号进行处理去除非语音信号部分后得到的语音信号,即人声部分。对应的,目标信号的起始时间即为人声部分的开始时间;目标信号对应的文本内容是指将人声部分对应的语音信号转换为文本所得到的。可选的,文本内容可以是目标信号对应的文本本身,也可以是关键词等。
具体的,采用预设规则对每对双麦单元采集的语音信号进行处理,即可得到各语音信号的目标信号,及目标信号对应的文本内容及目标信号的起始时间。
S230,向语义理解引擎输入各文本内容,得到各目标信号与当前场景的匹配度。
其中,语义理解引擎可以是一种预先训练好的语义分析模型,可用于对输入的文本内容进行分句、切词、提取关键词及语义分析等处理。匹配度是指目标信号的语义与当前所处环境的相关程度,可通过对目标信号的文本内容进行语义分析来确定。例如,若当前场景是开车,则对车辆的操作***的语音控制如开启导航、关闭空调或打开车窗等语音与开车场景相关;而其他的聊天语音则与开车场景不相关。示例性的,若文本内容是关键词,则语义理解引擎将直接对该关键词进行语义分析,确定与当前场景的匹配度。
匹配度的高低可通过判断目标信号中包含的控制指令的优先顺序或个数确定。例如,打开导航对应的控制指令优先于打开车窗的控制指令。若目标信号A中包含的控制指令是打开导航,而目标信号B中包含的控制指令是打开车窗,则目标信号A与当前场景的匹配度高于目标信号B与当前场景的匹配度。
S240,依据各匹配度及各目标信号的起始时间,确定对终端的目标控制指令。
具体的,若同时存在多个目标信号,则可依据各目标信号的匹配度,剔除与当前场景无关的目标信号;按照目标信号的起始时间对剩余的目标信号进行排序,获取排序最前的目标信号;依据排序最前的目标信号对应的文本内容得到相应的控制指令;依据控制指令执行用户的意图。
例如,图1B所示,驾驶员和副驾驶员方向的两对双麦单元均采集到了语音信号,对两个语音信号进行处理得到各自对应的目标信号及目标信号的起始时间后,需要语义理解引擎判断哪个方向的目标信号与当前场景匹配度更高,优先处理该方向的目标信号。
示例性的,若一个目标信号的起始时间优先,但是语义理解引擎判断该目标信号与当前场景无关,则可以处理其他的目标信号。
可选的,如果仅存在一个目标信号,且语义理解引擎判断该目标信号与当前场景相关,则可依据目标信号对应的文本内容得到相应的控制指令;依据控制指令执行用户的意图。若仅存在一个目标信号,且语义理解引擎判断该目标信号与当前场景无关,则不进行任何处理。
本发明实施例提供的技术方案,通过对语音采集***采集的各语音信号采用预设规则进行处理,得到各语音信号中的目标信号对应的文本内容及各目标信号的起始时间;将各文本内容输入至语义理解引擎得到各目标信号与当前场景的匹配度,按照各目标信号的起始时间和匹配度来确定对终端的目标控制指令,该方案能够在存在多路语音信号及外部环境干扰的情况下,准确确定用户对终端的控制指令,从而提升了用户的体验。
实施例三
图3为本发明实施例三中提供的一种基于语音的控制方法的流程图,本实施例在上述实施例的基础上,进一步的优化。参见图3,该方法具体包括:
S310,采集至少两个语音信号。
S320,采用波束成形算法对至少两个语音信号进行处理,得到至少两个语音信号中各语音信号对应的初步语音信号。
其中,波束成形算法是一种信号降维或获取特定范围信号的方法,也是一种分离信号的方法,本实施例采用波束成形算法可以保留每对双麦对应的中垂线附近特定角度范围内如10度内的语音,抑制其他范围内的语音。初步语音信号是指对采集的语音信号采用波束成形算法处理后得到的语音信号。
具体的,针对每对双麦采集的语音信号,采用波束成形算法即可得到每个语音信号对应的初步语音信号。若语音采集***为图1B所示的构建方式,则采用波束成形算法将得到包含驾驶员或副驾驶员语音的初步语音信号,即采用波束成形算法可以明确知道语音来源的位置。
S330,对各初步语音信号进行语音端点检测得到各初步语音信号对应的目标信号及各目标信号的起始时间。
其中,语音端点检测是指将输入的语音信号从背景噪声和环境噪声中准确地判断出语音信号中各种段落的开始点和结束点。换句话说,就是在复杂的应用环境下的信号流中分辨出语音信号和非语音信号,并确定语音信号的开始及结束。
目标信号是指初步语音信号中去除非语音信号部分后得到的语音信号,即人声部分。对应的,目标信号的起始时间即为人声部分的开始时间。
具体的,针对每对双麦采集的语音信号对应的初步语音信号,进行语音端点检测将得到该初步语音信号对应的目标信号及各目标信号的起始时间。
S340,对各目标信号进行语音识别,得到各目标信号对应的文本内容。
其中,目标信号对应的文本内容是指将人声部分对应的语音信号转换为文本所得到的。具体的,可采用语音识别技术对各目标信号进行识别,得到各目标信号对应的文本内容。可选的,文本内容可以是目标信号对应的文本本身,也可以是关键词等。
S350,向语义理解引擎输入各文本内容,得到各目标信号与当前场景的匹配度。
S360,依据各匹配度及各目标信号的起始时间,确定对终端的目标控制指令。
本发明实施例提供的技术方案,通过对语音采集***采集的各语音信号采用波束成形算法及语音端点检测进行处理,得到各语音信号中的目标信号对应的文本内容及各目标信号的起始时间;将各文本内容输入至语义理解引擎得到各目标信号与当前场景的匹配度,按照各目标信号的起始时间和匹配度来确定对终端的控制指令,该方案能够在存在多路语音信号及外部环境干扰的情况下,准确确定用户对终端的控制指令,从而提升了用户的体验。
实施例四
图4为本发明实施例四中提供的一种基于语音的控制装置的结构框图,该装置可执行本发明任意实施例所提供的基于语音的控制方法,具备执行方法相应的功能模块和有益效果。如图4所示,该装置可以包括:
采集模块410,用于采集至少两个语音信号;
目标指令确定模块420,用于依据采集至少两个语音信号的时间及至少两个语音信号与当前场景的匹配度,确定对终端的目标控制指令。
本发明实施例提供的技术方案,通过对语音采集***采集的各语音信号按照采集时间和与当前场景的匹配来确定对终端的控制指令,该方案能够在存在多路语音信号及外部环境干扰的情况下,准确确定用户对终端的控制指令,从而提升了用户的体验。
示例性的,目标指令确定模块可以包括:
信号时间确定单元,用于采用预设规则对至少两个语音信号进行处理,得到至少两个语音信号中各语音信号中的目标信号对应的文本内容及各目标信号的起始时间;
匹配度确定单元,用于向语义理解引擎输入各文本内容,得到各目标信号与当前场景的匹配度;
目标指令确定单元,用于依据匹配度及各目标信号的起始时间,确定对终端的目标控制指令。
示例性的,信号时间确定单元具体用于:
采用波束成形算法对至少两个语音信号进行处理,得到至少两个语音信号中各语音信号对应的初步语音信号;
对各初步语音信号进行语音端点检测得到各初步语音信号对应的目标信号及各目标信号的起始时间;
对各目标信号进行语音识别,得到各目标信号对应的文本内容。
可选的,采集模块410可以用于:采用语音采集***采集至少两个语音信号,需要说明的是,本实施例中的语音采集***包括至少两对由两个麦克风组成的双麦单元,每对双麦单元的位置依据对应的发声点的位置确定。
示例性的,每对双麦单元的位置由如下操作确定:
依据发声点的位置和预设的安装平面确定该发声点在安装平面上的投影点;
依据投影点的位置和中心点位置之间的距离,以及第一距离与第二距离之间的线性关系,确定发声点对应的双麦单元的安装位置,其中,第二距离为麦克风的位置和中心点位置之间的距离,中心点位置依据发声点预先设置。
实施例五
图5为本发明实施例五中提供的一种设备的结构示意图,图5示出了适于用来实现本发明实施例实施方式的示例性设备的框图。图5显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。***存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如***存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于语音的控制方法。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时可实现上述任意实施例所述的基于语音的控制方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。