一种分布式麦克风阵列拾音系统及方法与流程

文档序号:17728837发布日期:2019-05-22 02:42阅读:559来源:国知局
一种分布式麦克风阵列拾音系统及方法与流程

本发明涉及语音识别技术领域,尤其涉及一种分布式麦克风阵列拾音系统及方法。



背景技术:

随着人工智能技术的发展,通过人机交互的方式来控制设备的技术也越来越普遍,而在人机交互技术中,通过语音控制设备的技术得到了广泛的应用,而在智能家居等应用场景中,语音助手几乎成了未来发展的标准配置。

然而,想要设备拥有类似人类的听觉能力并不容易,除了后端的语音识别、语义理解等诸多环节外,第一步就是要让设备获取清晰的语音信号,即让设备听得更清楚。

现有的设备配备的语音助手,安装位置比较局限只有一个点,对于较远距离的拾音效果较差,而且现有的设备均与语音助手绑定在一起,当一个房间中放置了多台设备时,就需要配置多个语音助手,因此造成了资源的浪费。



技术实现要素:

本发明的主要目的在于提供一种分布式麦克风阵列拾音系统及方法,旨在解决现有技术中的语音助手拾音效果差,且设备均与语音助手绑定在一起而造成了资源浪费的技术问题。

为实现上述目的,本发明第一方面提供一种分布式麦克风阵列拾音系统,包括:分布式麦克风阵列,用于在室内收集声音信息;声源定位处理模块,用于定位说话人发出声音信息的声源位置;语音处理模块,用于根据声源位置及分布式麦克风阵列收集的声音信息进行处理,得到干净平滑的语音信号;麦克风数据采集模块,用于采集所述分布式麦克风阵列经过语音处理模块处理后发射的信号,并将所述分布式麦克风阵列发射的信号同步到一个数据采集终端,所述数据采集终端通过分布式麦克风阵列发射的信号控制设备。

进一步地,所述分布式麦克风阵列包括设置在室内屋顶和四面墙壁上安装的麦克风;通过调整各个麦克风的位置,使得所述墙壁上设置的麦克风和屋顶上设置的麦克风相互连线在空间上呈现四棱锥体的形状。

进一步地,所述声源定位处理模块包括:麦克风坐标确定单元,用于设定所述分布式麦克风阵列内其中一个参考麦克风的三维坐标,并根据设定的所述三维坐标设定三维坐标系及所述分布式麦克风阵列内其他麦克风的三维坐标;时延估计单元,用于根据麦克风接收到的信号的互相关函数估算出各个麦克风相对于参考麦克风的时间延迟;声源位置坐标确定单元,用于根据声源到达各个麦克风之间的时间、延迟、声速以及各个麦克风的坐标计算声源位置的坐标。

进一步地,所述语音处理模块包括:降噪单元,用于将所述分布式麦克风阵列收集的声音信息进行降噪,得到干净的语音信号;加权平均单元,用于将各路麦克风信号进行延时对齐,进而对其进行加权平均,得到干净平滑的语音信号。

进一步地,所述降噪单元包括:主麦克风信号设定子单元,用于设定主麦克风的信号由人发出的语音信号及噪声信号组成;麦克风确定子单元,用于根据声源至各个麦克风的距离确定距离声源最近的麦克风为主麦克风,其余麦克风为副麦克风,并确定距离声源最远的麦克风为噪声信号参考麦克风;噪声估计子单元,用于使用噪声信号参考麦克风的初始无声段信号作为噪声估计,并将所述噪声估计作为所述分布式麦克风阵列的噪声信号;功率谱计算子单元,用于根据所述主麦克风信号设定子单元及所述噪声估计子单元计算所述主麦克风信号的功率谱;因子引入子单元,用于在所述功率谱计算子单元中引入过减因子及谱下限补偿因子;傅里叶反变换子单元,用于通过傅里叶反变换将引入了因子引入单元的功率谱计算子单元的信号变换为时域信号,从而得到干净的语音信号。

进一步地,所述加权平均单元包括:时延估计子单元,用于根据克风接收到的信号的互相关函数估算出各个麦克风相对于参考麦克风的时间延迟;延时对齐子单元,用于根据各路信号的延迟时间将所有麦克风接收的语音信号进行延时对齐,从而对各路已经经过降噪处理的语音信号按照其与声源位置的距离进行加权平均,得到干净平滑的语音信号。

进一步地,所述麦克风数据采集模块包括:数据采集单元,用于采集所述分布式麦克风阵列内所有麦克风收集并经过语音处理模块处理的声音信息;数据发送单元,用于将所述数据采集单元采集的声音信息发送至后台数据采集器;设备控制单元,用于连接设备,并根据数据采集器接收的声音信息控制设备。

本发明第二方面提供一种分布式麦克风阵列拾音方法,包括:通过分布式麦克风阵列在室内收集声音信息;定位说话人的声源位置;根据声源位置及分布式麦克风阵列收集的声音信息进行处理,得到干净平滑的语音信号;采集分布式麦克风阵列发射的信号,并将所述分布式麦克风阵列中各个麦克风发射的信号同步到一个数据采集终端,所述数据采集终端通过所述分布式麦克风阵列发射的信号控制设备。

本发明第三方面提供一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现上述的方法。

本发明第四方面提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述的方法。

本发明提供一种分布式麦克风阵列拾音系统及方法,有益效果在于:通过分布式结构在室内对多个麦克风进行阵列布局,使得室内有多个位置能够进行语音信息的采集,从而使用户不必为了选择特定的设备进行语音交互而需要走到该设备附近发出声音信息,从而提升了拾音效果;并且在将多个设备与麦克风数据采集模块绑定,即,将分布式麦克风阵列发射的信号同步到一个数据采集终端后,使得本系统能够通过语音信息控制多个设备,而不必为每个设备安装独立的拾音模块和语音助手,从而减少了资源的浪费。

附图说明

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

图1为本发明实施例分布式麦克风阵列拾音系统的结构示意框图;

图2为本发明实施例分布式麦克风阵列拾音系统的声源定位处理模块的结构示意框图;

图3为本发明实施例分布式麦克风阵列拾音系统的语音处理模块的结构示意框图;

图4为本发明实施例分布式麦克风阵列拾音系统的降噪单元的结构示意框图;

图5为本发明实施例电子装置的结构示意框图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,为一种分布式麦克风阵列拾音系统,包括:分布式麦克风阵列1,用于在室内收集声音信息;声源定位处理模块2,用于定位说话人发出声音信息的声源位置;语音处理模块3,用于根据声源位置及分布式麦克风阵列1收集的声音信息进行处理,得到干净平滑的语音信号;麦克风数据采集模块4,用于采集分布式麦克风阵列1经过语音处理模块3处理后发射的信号,并将分布式麦克风阵列1发射的信号同步到一个数据采集终端,数据采集终端通过分布式麦克风阵列1发射的信号控制设备。

分布式麦克风阵列1包括设置在室内屋顶和四面墙壁上安装的麦克风;通过调整各个麦克风的位置,使得墙壁上设置的麦克风和屋顶上设置的麦克风相互连线在空间上呈现四棱锥体的形状。

请参阅图2,声源定位处理模块2包括:麦克风坐标确定单元21,用于设定分布式麦克风阵列1内其中一个参考麦克风的三维坐标,并根据设定的三维坐标设定三维坐标系及分布式麦克风阵列1内其他麦克风的三维坐标;时延估计单元22,用于根据麦克风接收到的信号的互相关函数估算出各个麦克风相对于参考麦克风的时间延迟;声源位置坐标确定单元23,用于根据声源到达各个麦克风之间的时间、延迟、声速以及各个麦克风的坐标计算声源位置的坐标。

具体地,设定矩形房间在三维空间坐标系内沿x轴、y轴及z轴方向的尺寸分别为a、b、c,房间的四面墙壁和天花板上各有一个麦克风组成一个分布式麦克风阵列1,设定其中一个麦克风的坐标为(x1,y1,z1),记做第一麦克风,其他的麦克风坐标为(xm,ym,zm),记做第m麦克风,其中,m=2,3,4,5,设定说话人发出声音信息的声源位置坐标为(x,y,z),并设定声音信号从声源位置到达各个麦克风所需的时间为t1、tm,设定声速为v,则声源位置到各个麦克风的距离为d1、dm,则可得到:

d1=vt1,dm=vtm;

因此可以计算声音信号从声源位置到达分布式麦克风阵列的第m麦克风与到达第一麦克风的时间延迟为:

τm=tm-t1

因此可以进行如下推导:

vτm=v(tm-t1)=dm-d1

dm=vτm+d1

dm2=(vτm+d1)2=v2τm2+2vτmd1+d12

0=v2τm2+2vτmd1+d12-dm2

当m=2时,可以得到公式1,公式1表示如下:

当m=3或m=4或m=5时,可以得到公式2,公式2表示如下:

使用公式2减去公式1得到公式3,公式3表示如下:

由于声源位置与麦克风的坐标分别为(x,y,z)、(xm,ym,zm),则声源位置到第m麦克风的距离可以表示为:

dm2=xm2-2xmx+x2+ym2-2ymy+y2+zm2-2zmz+z2

同理可以将声源位置到第一麦克风的距离表示为:

d12=x12-2x1x+x2+y12-2y1y+y2+z12-2z1z+z2

因此使用d12减去dm2可以得到公式4,公式4表示如下:

d12-dm2=x12+y12+z12-xm2-ym2-zm2-2x1x-2y1y-2z1z+2xmx+2ymy+2zmz

再将公式4代入公式3得到公式5,公式5表示如下:

此时设定四个变量分别为μm、αm、βm及γm,并设定四个变量的表达式如下:

因此可以将公式5简写为公式6,公式6表示如下:

0=μm+αmx+βmy+γm

而对于公式6中的参数μm、αm、βm、γm,具体包含的参数v、(xm,ym,zmm=2,3,4,5均为已知量,而τm(m=2,3,4,5)则可以通过基于广义互相关(gcc-phat)算法的时延估计(tdoa)方法计算得到。由于本申请提供的系统采用了分布式麦克风阵列1,其中的麦克风相互之间的间距较大,阵列信号的空间分辨率很高,采用gcc-phat算法估计得到的延时τm也较为准确。因此,当m=3,4,5时,使用公式6组成一个三元一次方程组,并表示如下:

求解上述三元一次方程组即可得到声源位置的坐标(x,y,z)。

请参阅图3及图4,语音处理模块3包括:降噪单元31,用于将分布式麦克风阵列1收集的声音信息进行降噪,得到干净的语音信号;加权平均单元32,用于将各路麦克风信号进行延时对齐,进而对其进行加权平均,得到干净平滑的语音信号。

降噪单元31包括:主麦克风信号设定子单元311,用于设定主麦克风的信号由人发出的语音信号及噪声信号组成;麦克风确定子单元312,用于根据声源到达各个麦克风的距离确定距离声源最近的麦克风为主麦克风,其余麦克风为副麦克风,并确定距离声源最远的麦克风为噪声信号参考麦克风;噪声估计子单元313,用于使用噪声信号参考麦克风的初始无声段信号作为噪声估计,并将噪声估计作为分布式麦克风阵列的噪声信号;功率谱计算子单元314,用于根据主麦克风信号设定子单元311及噪声估计子单元313计算各麦克风信号的功率谱;因子引入子单元315,用于在功率谱计算子单元314中引入过减因子及谱下限补偿因子;傅里叶反变换子单元316,用于通过傅里叶反变换将引入了因子引入单元的功率谱计算子单元314的信号变换为时域信号,得到干净的语音信号。

在得到声源位置的坐标后,通过计算声源位置与各个麦克风之间的距离dm,确定距离声源位置最近的麦克风为主麦克风,其他麦克风为副麦克风,并将距离声源最远的麦克风作为噪声信号参考麦克风。

具体地,设定主麦克风信号y(n)=x(n)+v(n),其中x(n)为目标语音信号,v(n)噪声信号,设噪声信号参考麦克风的初始无声段信号为v′(n)。由于5个麦克风同时工作,因此所有麦克风接收到的噪声信号是相同的。利用噪声信号参考麦克风的初始无声段来做为噪声估计,因此y(n)=x(n)+v′(n),其对应的功率谱表达式为:

|y(k)|2=|x(k)|2+|v′(k)|2

|x(k)|2=|y(k)|2-|v′(k)|2

使用谱减得到语音信号功率谱的过程中可能会由于过减而导致功率谱为负值,因此引入了过减因子α和谱下限补偿因子β,谱减之后的表达式为:

而由于人的听觉对语音的相位不敏感,因此通过谱减降噪得到语音信号的幅度谱可以跟麦克风接收到的原始信号的相位谱复合为估计语音信号的频谱,再通过傅里叶反变换就可以还原得到干净的语音信号

加权平均单元32包括:时延估计子单元321,用于根据麦克风接收到的信号的互相关函数估算出各个麦克风相对于参考麦克风的时间延迟;延时对齐子单元322,用于根据各路信号的延迟时间将所有麦克风接收的语音信号进行延时对齐,从而对各路已经经过降噪处理的语音信号按照其与声源位置的距离进行加权平均,得到干净平滑的语音信号。

经过上述的降噪处理之后,各个麦克风通道均可得到比较干净的语音信号,为了增强说话人方向上的语音信号,假设说话人在短时间内的位置不变,使用各个麦克风的相对时延,将五路麦克风信号进行延时对齐,然后再根据各自距离说话人的距离进行加权平均,就可以得到干净平滑的语音信号。

麦克风数据采集模块4包括:数据采集单元41,用于采集分布式麦克风阵列1内所有麦克风收集并经过语音处理模块3处理的声音信号;数据发送单元42,用于将数据采集单元41采集的声音信息发送至后台数据采集器;设备控制单元43,用于连接设备,并根据数据采集器接收的声音信息控制设备。

在本实施例中,分布式麦克风阵列1与数据采集单元41通过无线网络连接,在麦克风接收到的语音信号经过语音处理模块3处理后得到干净平滑的语音信号,再通过无线网络将语音信号传输至数据采集单元41,数据发送单元42将数据采集单元41接收的语音信号传输至后台的数据采集器,设备控制单元43在连接了设备后,能够通过数据采集器接收的语音信号控制设备。

通过将数据采集单元41与分布式麦克风阵列1通过无线网络连接,不仅方便组网,增加了智能家居语音控制中的灵活性,同时,采用统一的设备控制单元43作为中央处理平台,可以为各智能语音交互设备提供公用的硬件输入接口,从而使本系统能够通过语音信息控制多个设备,而不必为每个设备安装拾音模块和语音助手,减少了资源的浪费。

本申请还提供一种分布式麦克风阵列拾音方法,包括:通过分布式麦克风阵列在室内收集声音信息;定位说话人的声源位置;根据声源位置及分布式麦克风阵列收集的声音信息进行处理,得到干净平滑的语音信号;采集分布式麦克风阵列发射的信号,并将分布式麦克风阵列麦克风发射的信号同步到一个数据采集终端,数据采集终端通过分布式麦克风阵列发射的信号控制设备。

分布式麦克风阵列包括设置在室内屋顶和四面墙壁上的麦克风;通过调整各个麦克风的位置,使得墙壁上安装的麦克风和屋顶上安装的麦克风相互连线在空间上呈现四棱锥体的形状。

定位说话人的声源位置包括:设定分布式麦克风阵列内其中一个参考麦克风的三维坐标,并根据设定的三维坐标设定三维坐标系及分布式麦克风阵列内其他麦克风的三维坐标;根据麦克风接收到的信号的互相关函数估算出各个麦克风相对于参考麦克风的时间延迟;根据声源到达各个麦克风之间的时间、延迟、声速以及各个麦克风的坐标计算声源位置的坐标。

根据声源位置及分布式麦克风阵列收集的声音信息进行处理,得到干净平滑的语音信号包括:将分布式麦克风阵列收集的声音信息进行降噪,得到干净的语音信号;对分布式麦克风阵列中的各个麦克风的语音信号进行延时对齐和加权平均,得到干净平滑的语音信号。

将分布式麦克风阵列收集的声音信息进行降噪,得到干净的语音信号包括:设定主麦克风的信号由人发出的语音信号及噪声信号组成;根据声源到达各个麦克风的距离确定距离声源最近的麦克风为主麦克风,其余麦克风为副麦克风,并确定距离声源最远的麦克风为噪声信号参考麦克风;使用噪声信号参考麦克风的初始无声段信号作为噪声估计,并将噪声估计作为分布式麦克风阵列的噪声信号;根据主麦克风信号设定子单元及噪声估计子单元计算主麦克风信号的功率谱;在计算主麦克风信号的功率谱过程中引入过减因子及谱下限补偿因子;通过傅里叶反变换将引入了因子引入单元的功率谱计算子单元的信号变换为时域信号,从而得到干净的语音信号。

对分布式麦克风阵列中的各个麦克风的语音信号进行处理,得到干净平滑的语音信号包括:根据克风接收到的信号的互相关函数估算出各个麦克风相对于参考麦克风的时间延迟;根据各路信号的延迟时间将所有麦克风接收的语音信号进行延时对齐,从而对各路已经经过降噪处理的语音信号按照其与声源位置的距离进行加权平均,得到干净平滑的语音信号。

采集分布式麦克风阵列发射的信号,并将分布式麦克风阵列麦克风发射的信号同步到一个数据采集终端,数据采集终端通过分布式麦克风阵列发射的信号控制设备包括:采集分布式麦克风阵列内所有麦克风收集并经过语音处理模块处理的声音信息;将采集的声音信息经过处理后发送至后台数据采集器;将数据采集器与设备连接,并根据数据采集器接收的声音信息控制设备。

本申请实施例提供一种电子装置,请参阅5,该电子装置包括:存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序,处理器602执行该计算机程序时,实现前述中描述的分布式麦克风阵列拾音方法。

进一步的,该电子装置还包括:至少一个输入设备603以及至少一个输出设备604。

上述存储器601、处理器602、输入设备603以及输出设备604,通过总线605连接。

其中,输入设备603具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备604具体可为显示屏。

存储器601可以是高速随机存取记忆体(ram,randomaccessmemory)存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。存储器601用于存储一组可执行程序代码,处理器602与存储器601耦合。

进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述的存储器601。该计算机可读存储介质上存储有计算机程序,该程序被处理器602执行时实现前述方法实施例中描述的分布式麦克风阵列拾音方法。

进一步的,该计算机可存储介质还可以是u盘、移动硬盘、只读存储器601(rom,read-onlymemory)、ram、磁碟或者光盘等各种可以存储程序代码的介质。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种分布式麦克风阵列拾音系统及方法的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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