一种机器人及其音频处理方法与流程

文档序号:21398726发布日期:2020-07-07 14:31阅读:290来源:国知局
一种机器人及其音频处理方法与流程

本发明属于电子技术领域,尤其涉及一种机器人及其音频处理方法。



背景技术:

在设计机器人时,如果麦克风阵列的位置摆放不正确,则会影响语音交互效果。因为麦克风阵列的波束形成(beam-forming)的最基本的要求和前提条件是:声音直达麦克风阵列中的每一个麦克风。因此,若把环形麦克风阵列放在机器人脖子处的话,机器人的脖子会挡住脖子后面的麦克风,导致声音被脖子反射不能直达机器人脖子后面麦克风,进而影响拾音效果。

针对上述问题目前市面上通常:是将环形麦克风放在机器人的头部或者同时使用环形麦克风阵列和线性麦克风阵列,将环形麦克风阵列放在机器人脖子处,用于实现机器人的360度唤醒和360度声源定位,将线性麦克风放在机器人头部,用于波束形成以进行拾音。

而将环形麦克风阵列放在机器人头部则对机器人的高度有限制,同时由于环形麦克风阵列需要处于水平静止状态才能达到较好的拾音效果,因此导致机器人的头部动作有限制,且并且环形麦克风放在机器人头部环形的开孔也会影响机器人的美观。而同时使用环形麦克风阵列和线性麦克风阵列会导致机器人身上到处都是麦克风的开孔,影响机器人的美观。



技术实现要素:

有鉴于此,本发明实施例提供了一种机器人及其音频处理方法,以解决目前由于设置环形麦克风阵列的位置而导致机器人的高度及头部动作被限制且不美观的问题。

本发明的第一方面提供了一种机器人,包括拾音模块和主控模块;

所述拾音模块与所述主控模块电连接,所述拾音模块包括麦克风阵列,所述麦克风阵列包括n个麦克风,其中n≥3且n为整数;

所述n个麦克风呈环形且均匀分布于所述机器人的机身,通过所述n个麦克风进行采集音频数据,并将n个麦克风获取到的n路音频数据传输至所述主控模块;以使所述主控模块基于所述音频数据进行声源定位和声音拾取。

本发明的第二方面提供了一种基于上书机器人的音频处理方法,包括:

通过拾音模块的n个麦克风采集音频数据;

将所述n个麦克风采集的n路音频数据发送至主控模块;

所述主控模块将所述n路音频数据存储在数据缓冲池中,并根据音频数据进行声源定位和声音拾取。

本发明提供的一种机器人及其音频处理方法,通过在机器人的机身设置由呈环形且均匀分布的n个麦克风组成的麦克风阵列进行音频数据采集,再将采集到n路音频数据和参考音频数据传输到主控模块中,通过主控模块基于该音频数据实现声源定位和声音拾取,即能够支持机器人的360度唤醒和声源定位,又能够支持定向波束的形成,实现声音拾取,不会造成对机器人的高度的限制,也不会限制机器人的头部动作,解决了目前由于设置环形麦克风阵列的位置而导致机器人的高度及头部动作被限制且不美观的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的一种机器人的模块结构示意图;

图2是本发明实施例一提供的一种机器人的拾音模块40的结构示意图;

图3是本发明实施例一提供的机器人的麦克风阵列41的分布示意图;

图4是本发明实施例二提供的一种基于实施例一的机器人的音频数据处理方法的实现流程示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

需要说明的是,本发明的说明书和权利要求书中的术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含一系列步骤或单元的过程、方法或系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。

本发明实施例为了解决目前由于设置环形麦克风阵列的位置而导致机器人的高度及头部动作被限制且不美观的问题,提供了一种机器人及其音频数据处理方法,通过在机器人的机身设置由呈环形且均匀分布的n个麦克风组成的麦克风阵列进行音频数据采集,再将采集到n路音频数据和参考音频数据传输到主控模块中,通过主控模块基于该音频数据实现声源定位和声音拾取,即能够支持机器人的360度唤醒和声源定位,又能够支持定向波束的形成,实现声音拾取,不会造成对机器人的高度的限制,也不会限制机器人的头部动作,解决了目前由于设置环形麦克风阵列的位置而导致机器人的高度及头部动作被限制且不美观的问题。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

如图1所示,本实施例提供了一种机器人1,该机器人1包括拾音模块10和主控模块20。

拾音模块10与主控模块20电连接,拾音模块10包括麦克风阵列11,麦克风阵列11包括n个麦克风;其中n≥3且n为整数。

n个麦克风环绕机器人1的机身均匀分布,主控模块20获取麦克风阵列10采集的n路音频数据,并基于音频数据进行声源定位和声音拾取。

在一个实施例中,上述拾音装置10还包括mic小板12。

mic小板12分别与麦克风阵列11和主控模块20电连接。

mic小板12将麦克风阵列11采集的n路音频数据进行模数转换后传输至主控模块20。具体的mic小板将麦克风阵列11采集的n路模拟音频数据转换为数字音频数据,再将该数字音频数据传输至主控模块20。

在一个实施例中,上述mic小板12包括分别与麦克风阵列11和主控模块20电连接的模数转换器121。通过模数转换器121对n路音频数据进行模数转换。

在具体应用中,mic小板12能够将每个麦克风采集到的模拟音频数据转换成相应的数字音频数据,再将数字音频数据进行编号,并将编号完成的数字音频数据发送给主控模块。

在具体应用中,如图2所示,上述拾音模块10包括与麦克风阵列11通过麦克风线实现电连接的mic小板12,该mic小板包括模数转换器121。mic小板通过i2s总线、i2c总线以及电源线与主控模块20电连接。mic小板12将麦克风阵列11采集到的n路音频数据通过模数转换器121进行模数转换,再将转换后的n路音频数据进行融合,并通过i2s接口将融合后的音频数据传输到主控模块20中。上述mic小板还分别对n路音频数据进行编号,通过编号将音频数据与采集到该音频数据的麦克风进行对应。

在一个实施例中,上述第一麦克风阵列包括6个麦克风,6个麦克风设置于机器人的机身,6个麦克风分布于以机器人的机身30纵轴线上的任一点为圆心的圆周,圆周垂直于纵轴线。

在具体应用中,上述机器人为人形机器人,上述人形机器人包括头部和机身,机身包括颈部,上述6个麦克风设置在上述机器人的颈部。

在具体应用中,如图3所示,麦克风阵列11包括第一麦克风mic1、第二麦克风mic2、第三麦克风mic3、第四麦克风mic4、第五麦克风mic5以及第六麦克风mic6,其中,第一麦克风mic1和第二麦克风mic2位于垂直于机器人机身30纵轴线的水平线上,第一麦克风mic1、第二麦克风mic2、第三麦克风mic3、第四麦克风mic4、第五麦克风mic5以及第六麦克风mic6按照等间距按照每两个麦克风与机器人的机身30纵轴线上的任一点为圆心的圆周的圆心形成的夹角为60度,即按360度环绕机器人的颈部均匀分布。第一麦克风mic1、第二麦克风mic2、第三麦克风mic3、第四麦克风mic4、第五麦克风mic5以及第六麦克风mic6构成环绕机器人颈部的环形6mic的麦克风阵列。

在一个实施例中,所述主控模块从功放引入参考音频数据并输入到mic小板,所述mic小板还用于对上述参考音频数据进行模数转换和编码后传输至所述主控模块。在具体应用中,上述通过主控模块向mic小板12输入参考音频数据,通过mic小板12将输入的参考音频数据进行编号并与上述n路音频数据进行融合后,通过i2s接口发送至主控单元20。主控单元20根据这参考音频数据来对回声进行消除,滤除环境杂音的影响,进一步提高声源定位的准确度和语音识别的准确度。

在一个实施例中,上述机器人还包括与主控模块20电连接的功放30。

主控模块20获取功放30播放的音频数据,并根据功放30播放的音频数据生成参考音频数据。

在具体应用中,若上述主控模块对应播放音频是双声道则生成两路参考音频数据;若上述主控模块对应播放音频是单声道则生成一路参考音频数据;若主控模块对应播放音频是四声道则生成四路参考音频数据。以双声道为例,主控模块会直接通过数据线连接到mic小板,再将主控模块的功放处播放的两路参考音频数据传到mic小板。

在一个实施例中,上述主控模块20包括数据缓冲池21(buffer池),数据缓冲池用于存储n路音频数据。在一个实施例中,上述缓冲池不仅存储了n路音频数据,还存储了从mic小板传输过来的参考音频数据。

在具体应用中,主控模块20将从mic小板12的i2s接口获取到的n路音频数据以及参考音频数据存储在上述数据缓冲池51中。通过控制模块20根据数据缓冲池中的音频数据进行数据复用,通过运行预设算法来实现360度唤醒以及形成波束以进行拾音。需要说明的是,上述预设算法是指现有的根据采集到的音频数据进行声源定位的定位算法、现有的根据采集到的音频数据进行机器人唤醒的唤醒算法以及现有的根据采集到的音频数据进行波束形成及拾音的波束形成拾音算法。

在具体应用中,通过环形6mic采集到的对应的音频数据以及两路参考音频数据(共八路音频数据)进行机器人唤醒,即根据上述八路音频数据进行声源定位,通过声源定位确定声源位置与当前位置的角度差,控制机器人按照该角度差进行转向并唤醒机器人,在唤醒机器人后,通过上述环形6mic中的第一麦克风mic1、第二麦克风mic2、第三麦克风mic3以及第六麦克风mic6采集到的音频数据和两路参考音频数据(共六路音频数据)进行波束形成拾音和语音识别,即根据上述六路音频数据进行降噪,回声消除后得到用于语音识别的音频数据,通过将该音频数据由语音设备单元进行识别后,将语音数据转换为文字。

在一个实施例中,上述主控模块20可以是安卓开发板,在上述安卓开发板的软件层设置一个数据缓冲池,将拾音模块10发送过来的n路音频数据以及两路参考音频数据进行编号并存储在上述数据缓冲池中,通过并行运行唤醒算法和识别算法,并行地从数据缓冲池中获取所需的音频数据。需要说明的是,上述唤醒算法可以采用现有的各种语音唤醒算法,上述识别算法可以采用现有的各种语音识别算法。通过对麦克风采集的音频数据进行复用,将部分麦克风获取到的音频数据既供唤醒算法使用,又供识别算法使用。使得位于机器人颈部的麦克风阵列依然能够实现360度的声源定位和360度唤醒,同时保证用于语音识别的音频数据的采集(波束形成拾音),不影响语音识别。也无需在机器人的头部开设麦克风孔,不会影响机器人的美观。

本实施例提供的一种机器人,通过在机器人的机身设置由呈环形且均匀分布的n个麦克风组成的麦克风阵列进行音频数据采集,再将采集到n路音频数据传输到主控模块中,通过主控模块基于该音频数据实现声源定位和声音拾取,即能够支持机器人的360度唤醒和声源定位,又能够支持定向波束的形成,实现声音拾取,不会造成对机器人的高度的限制,也不会限制机器人的头部动作,解决了目前由于设置环形麦克风阵列的位置而导致机器人的高度及头部动作被限制且不美观的问题。

实施例二:

如图4所示,本实施例提供了一种基于实施例一所提供的机器人的语音处理方法,具体包括:

步骤s101:通过拾音模块的n个麦克风采集音频数据。

在具体应用中,通过设置于机器人机身的n个麦克风进行音频数据采集。上述n个麦克风分布于以机器人的机身纵轴线上的任一点为圆心的圆周,圆周垂直于纵轴线,n≥3且n为整数。

在一个实施例中,上述n个麦克风为6个麦克风,6个麦克风设置于机器人的颈部,6个麦克风分布于以机器人的机身纵轴线上的任一点为圆心的圆周,圆周垂直于纵轴线,6个麦克风形成环形6mic阵列。

步骤s102:将所述n个麦克风采集的n路音频数据发送至主控模块。

在具体应用中,通过将n个麦克风采集到的n路音频数据发送到主控模块,通过主控模块根据上述音频数据实现声源定位和声音拾取。

在具体应用中,通过与麦克风阵列的n个麦克风电连接的mic小板,对n路音频数据进行模数转换后,对模数转换后的音频数据进行数据融合,再将融合了的音频数据传输给主控模块。

在具体应用中,mic小板在进行数据融合时,通过导入参考音频信号,将参考音频信号与上述n路音频数据进行数据融合,将融合后的数字音频数据传输给主控模块。

在具体应用中,上述mic小板还将各路音频数据进行对应编号,对上述n路音频数据以及两路参考音频数据分别进行编号。

步骤s103:所述主控模块将所述n路音频数据存储在数据缓冲池中,并根据音频数据进行声源定位和声音拾取。

在具体应用中,主控模块根据存储在数据缓冲池中的音频数据运行对应的算法,来进行声源定位和声音拾取,以实现唤醒和语音识别。具体的,主控模块根据运行的算法从上述数据缓冲池中获取对应编码的音频数据,并运行对应的算法。

在具体应用中,主控模块通过从数据缓冲池中获取n路音频数据以及两路参考音频数据,并根据n路音频数据以及两路参考音频数据运行唤醒算法,实现对机器人的360度唤醒。主控模块并行地从数据缓冲池中第一麦克风mic1获取的音频数据、第二麦克风mic2获取的音频数据以及两路参考音频数据,并根据第一麦克风mic1获取的音频数据、第二麦克风mic2获取的音频数据第三麦克风mic3获取的音频数据、第六麦克风mic6获取的音频数据以及两路参考音频数据运行识别算法,实现对用户说的话进行语音识别。

在一个实施例中,上述步骤s103具体包括以下步骤:

步骤s1031:将两路参考音频数据与所述n路音频数据存储至所述数据缓冲池中。

步骤s1032:从所述数据缓冲池中获取第一组音频数据,通过第一预设算法定位声源位置。

步骤s1033:从所述数据缓冲池中获取第二组音频数据,通过第二预设算法对所述第二组音频数据进行波束形成及音频降噪处理。

在一个实施例中,上述n路音频数据包括6路音频数据。

在具体应用中,对各个麦克风采集到的音频数据进行对应编号,即第一麦克风获取到的音频数据编号为第一音频数据,第二麦克风获取到的音频数据编号为第二音频数据,第三麦克风获取到的音频数据编号为第三音频数据,第四麦克风获取到的音频数据编号为第四音频数据,第五麦克风获取到的音频数据编号为第五音频数据,第六麦克风获取到的音频数据编号为第六音频数据,将第一路参考音频数据编号为第七音频数据,将第二路参考音频数据编号为第八音频数据。上述第一组音频数据包括:第一音频数据、第二音频数据、第三音频数据、第四音频数据、第五音频数据、第六音频数据、第七音频数据以及第八音频数据;上述第二组音频数据包括:第一音频数据、第二音频数据、第三音频数据、第六音频数据、第七音频数据以及第八音频数据。

在具体应用中,通过环形6mic采集到的对应的音频数据以及两路参考音频数据(共八路音频数据)进行回声消除、360声源定位及机器人唤醒,即根据第一音频数据、第二音频数据、第三音频数据、第四音频数据、第五音频数据、第六音频数据、第七音频数据以及第八音频数据进行回声消除、声源定位,通过声源定位确定声源位置与当前位置的角度差,控制机器人按照该角度差进行转向并唤醒机器人,在唤醒机器人后,通过第一麦克风mic1采集到的音频数据和第二麦克风mic2采集到的音频数据、第三麦克风mic3采集的音频数据、第六麦克风mic6采集的音频数据及两路参考音频数据(共六路音频数据)进行回声消除、降噪、波束形成拾音及语音识别,即根据第一音频数据、第二音频数据、第三音频数据、第六音频数据、第七音频数据以及第八音频数据进行降噪,回声消除后得到用于语音识别的音频数据,通过将该音频数据由语音设备单元进行识别后,将语音数据转换为文字,实现语音识别。

需要说明的是,当用户站在机器人正前方,用户的声音能够直达的mic组成mic阵列,就能够用来做波束形成。在本实施中使用的是环形6mic,那么只要用户站在机器人正前方,声音能够直达的环形mic阵列的所有mic,由这些mic组成半圆形mic阵列的麦克风在采集声音时就不会被遮挡,因此采用半圆形mic阵列(第一麦克风mic1、第二麦克风mic2、第三麦克风mic3及第六麦克风mic6组成的半圆形mic阵列)采集到的音频数据来做波束形成就能够较好地拾音。还需要说明的是,上述只是本实施例的一种实施方式,只要用户站在机器人正前方时,用户的声音能够直达(不被遮挡)的麦克风都能够用来实现波束形成,在此不加以限制。

需要说明的是,上述第一预设算法为现有的能够实现声源定位和机器人唤醒的唤醒算法,上述第二预设算法为现有的能够实现语音识别的算法。

本实施例提供的基于实施例一提供的机器人来实现的音频数据处理方法,同样能够通过在机器人的机身设置由呈环形且均匀分布的n个麦克风组成的麦克风阵列进行音频数据采集,再将采集到n路音频数据传输到主控模块中,通过主控模块基于该音频数据实现声源定位和声音拾取,即能够支持机器人的360度唤醒和声源定位,又能够支持定向波束的形成,实现声音拾取,不会造成对机器人的高度的限制,也不会限制机器人的头部动作,解决了目前由于设置环形麦克风阵列的位置而导致机器人的高度及头部动作被限制且不美观的问题。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1