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

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

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



背景技术:

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

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

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



技术实现要素:

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

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

所述拾音模块与所述主控模块电连接,所述拾音模块包括麦克风阵列,所述麦克风阵列包括第一麦克风阵列和第二麦克风阵列;

所述第一麦克风阵列包括n个麦克风,所述n个麦克风环绕所述机器人的机身设置且均匀分布;其中n≥3且n为整数;

所述第二麦克风阵列包括m个麦克风,所述m个麦克风设置于所述机器人的机身且位于所述第一麦克风阵列中任意两个麦克风的连线上,其中m≥1且m为整数;

所述主控模块通过所述第一麦克风阵列获取n路音频数据、通过所述第二麦克风阵列获取m路音频数据,并基于所述n路音频数据和所述m路音频数据进行声源定位和声音拾取。

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

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

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

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

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

附图说明

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

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

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

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

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

具体实施方式

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

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

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

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

实施例一:

如图1所示,本实施例提供了一种机器人1,该机器人1包括头部10、机身20、主控模块30以及拾音模块40。

拾音模块40与主控模块30电连接,拾音模块40包括麦克风阵列41,麦克风阵列41包括第一麦克风阵列41a和第二麦克风42b阵列。

第一麦克风阵列41a包括n个麦克风,n个麦克风环绕机器人1的机身20设置且均匀分布;其中n≥3且n为整数。

第二麦克风阵列41b包括m个麦克风,m个麦克风设置于机器人1的机身20且位于第一麦克风阵列41a中任意两个麦克风的连线上,其中m≥1且m为整数。

主控模块30通过第一麦克风阵列41a获取n路音频数据、通过第二麦克风阵列41b获取m路音频数据,并基于n路音频数据和m路音频数据进行声源定位和声音拾取。

在具体应用中,上述机器人可以为人形机器人,也可以为仿人形机器人,在此不加以限制。

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

mic小板42分别与麦克风阵列41和主控模块30电连接。

mic小板42对m路音频数据和n路音频数据进行模数转换和编码后传输至主控模块30。

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

在一个实施例中,上述mic小板42包括分别与麦克风阵列41和主控模块30电连接的模数转换器42a。

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

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

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

在一个实施例中,上述第二麦克风阵列41b包括2个麦克风,2个麦克风设置在机器人的颈部20,并设置在第一麦克风阵列41a的6个麦克风中任意两个麦克风的连线上。

在具体应用中,如图3所示,上述第二麦克风阵列41b包括第七麦克风mic7和第八麦克风mic8。第七麦克风mic7和第八麦克风mic8分别分布在第一麦克风mic1和第二麦克风mic2的连线上,且第一麦克风mic1、第二麦克风mic2、第七麦克风mic7以及第八麦克风mic8等间隔分布在该机器人1的颈部20,第一麦克风mic1、第二麦克风mic2、第七麦克风mic7以及第八麦克风mic8构成线性4mic的第二麦克风阵列。第一麦克风mic1、第二麦克风mic2、第七麦克风mic7以及第八麦克风mic8位于垂直于机器人机身的同一水平线上,且设置在机器人的颈部。通过线性4mic的第二麦克风阵列拾取机器人的正前方180度的声音。需要说明的是,对于机器人来说,该机器人的正前方是指该机器人的脸正对着的方向。

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

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

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

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

在一个实施例中,上述主控模块30包括数据缓冲池51(buffer池),数据缓冲池用于存储m路音频数据和n路音频数据。在一个实施例中,上述机器人还包括与主控模块30电连接的功放50。

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

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

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

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

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

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

实施例二:

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

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

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

在具体应用中,上述m个麦克风分布在上述n个麦克风中任意两个麦克风的连线上,m≥1且m为整数。

在一个实施例中,上述n个麦克风为6个麦克风,6个麦克风设置于机器人的颈部,6个麦克风分布于以机器人的机身纵轴线上的任一点为圆心的圆周,圆周垂直于纵轴线,6个麦克风形成环形6mic阵列。上述m个麦克风为2个麦克风,2个麦克风设置在机器人的颈部,并设置上述6个麦克风中任意两个麦克风的连线上,上述2个麦克风与连线上的两个麦克风形成线性4mic阵列。且四个麦克风等间隔分布在机器人的颈部的同一水平线上。

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

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

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

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

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

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

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

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

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

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

步骤s1031:将参考音频数据、所述n路音频数据以及所述m路音频数据存储至所述数据缓冲池中。

步骤s1032:从所述数据缓冲池中获取第一组音频数据,通过第一预设算法进行回声消除、声源定位和唤醒。

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

在一个实施例中,上述n路音频数据包括6路音频数据,所述m路音频数据包括2路音频数据,上述参考音频数据包括两路参考音频数据。

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

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

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

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

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

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