一种声源定位方法、智能音箱及存储介质与流程

文档序号:20275321发布日期:2020-04-03 19:34阅读:161来源:国知局
一种声源定位方法、智能音箱及存储介质与流程

本发明涉及声源定位技术领域,特别是涉及一种声源定位方法、智能音箱及存储介质。



背景技术:

声源定位是指通过采集目标物发出的声音信号,并对该声音信号进行特定的算法运算,从而确定该目标物相对于声音采集装置的位置。通常需要利用一个麦克风阵列采集目标物发出的声音信号,该麦克风阵列由若干个单麦克风按照特定的排列方式组成。

应用于智能音箱等语音识别设备上的麦克风阵列中,常用的麦克风阵列有环形麦克风阵列、线性麦克风阵列等,此阵列主要实现空间水平方向的声源定位,无法实现三维空间的声源定位。而可实现三维声源定位的麦克风阵列通常为类球形的麦克风阵列,类球形麦克风阵列中包括的麦克风数量较多,基于类球形麦克风阵列实现三维声源定位的算法较为复杂,应用成本较高。



技术实现要素:

本发明主要提供一种声源定位方法,能够克服现有的基于类球形麦克风阵列实现三维声源定位的算法较为复杂,应用成本高的问题。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种声源定位方法,所述声源定位方法基于圆柱体麦克风阵列实现,所述圆柱体麦克风阵列包括n个平面麦克风阵列,其中,n≥2;第一平面麦克风阵列位于圆柱体顶面上,第一平面麦克风阵列包括至少三个麦克风;第i平面麦克风阵列所在平面与所述圆柱体顶面平行,所述第i平面麦克风阵列包括至少三个麦克风,所述第i平面麦克风阵列中的多个麦克风分布在圆柱体侧面上,其中,2≤i≤n;

所述声源定位方法包括:

当n=2时,选取所述第一平面麦克风阵列中的两个麦克风以及第二平面麦克风阵列中的一个麦克风组成斜面麦克风阵列;当n>2时,分别在所述第一平面麦克风阵列、第j平面麦克风阵列及第k平面麦克风阵列中选取一个麦克风组成斜面麦克风阵列,其中,2≤j≠k≤n;

基于三维坐标系获取所述斜面麦克风阵列中三个麦克风的三维坐标;所述三维坐标系以所述圆柱体顶面的圆心为原点,所述三维坐标系的x轴和y轴所构成的平面与所述圆柱体顶面重合,所述三维坐标系的z轴与所述圆柱体顶面垂直;

根据所述三个麦克风的三维坐标以及声源定位公式计算声源的三维坐标;其中,所述声源定位公式为:

其中,三个麦克风的三维坐标分别为a、b、c点坐标,a(xa,ya,za),b(xb,yb,zb),c(xc,yc,zc);所述声源的三维坐标为s(x,y,z);c为声音在空气中的声速;δtab为声源信号到达麦克风a点与到达麦克风b点的时间差;δtbc为声源信号到达麦克风b点与到达麦克风c点的时间差;δtac为声源信号到达麦克风a点与到达麦克风c点的时间差。

优选地,所述当n=2时,选取所述第一平面麦克风阵列中的两个麦克风以及第二平面麦克风阵列中的一个麦克风组成斜面麦克风阵列的步骤具体包括:

获取所述第一平面麦克风阵列中距离所述声源最近的第一麦克风和距离所述声源最远的第二麦克风;

获取所述第二平面麦克风阵列中距离所述声源最近的第三麦克风;

选取所述第一麦克风、所述第二麦克风及所述第三麦克风组成所述斜面麦克风阵列。

优选地,所述当n>2时,分别在所述第一平面麦克风阵列、第j平面麦克风阵列及第k平面麦克风阵列中选取一个麦克风组成斜面麦克风阵列,其中,2≤j≠k≤n的步骤具体包括:

获取所述第一平面麦克风阵列中距离所述声源最远的第一麦克风;

获取第二平面麦克风阵列中距离所述声源最近的第二麦克风,获取第三平面麦克风阵列中距离所述声源最近的第三麦克风,直至获取到第n平面麦克风阵列中距离所述声源最近的第n麦克风;

获取第二麦克风至第n麦克风中距离所述声源最近的最近麦克风和距离所述声源最远的最远麦克风;

选取所述第一麦克风、所述最近麦克风及所述最远麦克风组成所述斜面麦克风。

优选地,所述第一平面麦克风阵列包括至少三个麦克风,所述至少三个麦克风沿圆周均匀分布。

优选地,所述第一平面麦克风阵列为六麦环形阵列,所述六麦环形阵列包括六个麦克风,六个所述麦克风沿圆周均匀分布,六个所述麦克风中相邻两个麦克风之间的圆夹角为60°;

或,所述第一平面麦克风阵列为四麦环形阵列,所述四麦环形阵列包括四个麦克风,四个所述麦克风沿圆周均匀分布,四个所述麦克风中相邻两个麦克风之间的圆夹角为90°;

或,所述第一平面麦克风阵列为三麦环形阵列,所述三麦环形阵列包括三个麦克风,三个所述麦克风沿圆周均匀分布,三个所述麦克风中相邻两个麦克风之间的圆夹角为120°。

优选地,所述第一平面麦克风阵列包括至少三个麦克风,所述至少三个麦克风呈线性排列。

优选地,所述第一平面麦克风阵列为四麦线性阵列,所述四麦线性阵列包括四个麦克风,四个所述麦克风呈线性排列。

优选地,所述第i平面麦克风阵列所在平面与所述圆柱体顶面平行,所述第i平面麦克风阵列包括至少三个麦克风,所述第i平面麦克风阵列中的多个麦克风沿圆周均匀分布在圆柱体侧面上。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种智能音箱,所述智能音箱包括处理器以及存储器,所述处理器耦合所述存储器,所述处理器在工作时执行存储器中所存储的指令以实现上述的声源定位方法。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述声源定位方法。

本发明的有益效果是:区别于现有技术的情况,本发明中的声源定位方法基于圆柱体麦克风阵列实现,声源定位方法包括:在圆柱体麦克风阵列中选取三个麦克风组成斜面麦克风阵列,基于三维坐标系获取斜面麦克风阵列中三个麦克风的三维坐标,根据三个麦克风的三维坐标以及声源定位公式计算声源的三维坐标。本发明中的声源定位算法基于三个麦克风的三维坐标实现声源的定位,算法简单,应用成本低。

附图说明

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

图1是本发明一实施例提供的圆柱体麦克风阵列的结构示意图;

图2是本发明一实施例提供的声源定位方法的流程图;

图3是图2中步骤s100的具体实现流程图;

图4是图2中步骤s100的另一种具体实现流程图;

图5是本发明一实施例提供的具体应用场景的示意图;

图6是本发明另一实施例提供的智能音箱的结构示意图;

图7是本发明另一实施例提供的存储介质的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要理解的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

实施例一

本发明实施例所提供的声源定位方法基于圆柱体麦克风阵列实现,圆柱体麦克风阵列的具体结构如图1所示,图1中红色点表示麦克风,圆柱体麦克风阵列包括n个平面麦克风阵列,n为大于或等于2的正整数,第一平面麦克风阵列位于圆柱体顶面上,第一平面麦克风阵列包括至少三个麦克风;第i平面麦克风阵列所在平面与圆柱体顶面平行,第i平面麦克风阵列包括至少三个麦克风,第i平面麦克风阵列中的多个麦克风分布在圆柱体侧面上,其中,2≤i≤n,i为正整数。

具体地,第一平面麦克风阵列位于圆柱体顶面上,第一平面麦克风阵列包括至少三个麦克风,该至少三个麦克风可沿圆周均匀分布,也可沿直线线性分布。当麦克风沿圆周均匀分布时,麦克风的拾音孔沿圆周均匀分布,圆周直径可与圆柱体顶面直径相同,也可比圆柱体顶面直径小,圆周直径优选范围为40mm-75mm,圆周的圆心可与圆柱体顶面的圆心重合。当多个麦克风沿圆周均匀分布时,第一平面麦克风阵列可为六麦环形阵列,六麦环形阵列包括六个麦克风,六个麦克风沿圆周均匀分布,六个麦克风中相邻两个麦克风之间的圆夹角为60°;第一平面麦克风阵列还可为四麦环形阵列,四麦环形阵列包括四个麦克风,四个麦克风沿圆周均匀分布,四个麦克风中相邻两个麦克风之间的圆夹角为90°;第一平面麦克风阵列还可为三麦环形阵列,三麦环形阵列包括三个麦克风,三个麦克风沿圆周均匀分布,三个麦克风中相邻两个麦克风之间的圆夹角为120°。当多个麦克风沿直线线性分布时,第一平面麦克风阵列还可为四麦线性阵列,四麦线性阵列包括四个麦克风,四个麦克风呈线性排列,相邻两个麦克风之间的距离相等。

具体地,第i平面麦克风阵列位于圆柱体的横截面上,第i平面麦克风阵列所在横截面与第i-1平面麦克风阵列所在横截面的高度差,以及与第i+1平面麦克风阵列所在横截面的高度差均为预设高度,第i平面麦克风阵列中的多个麦克风均匀分布在横截面的外圆周上,即均匀分布于圆柱体侧面上,第i平面麦克风阵列中相邻两个麦克风之间的圆夹角相等。

优选地,圆柱体麦克风阵列可实际应用于圆柱体形状的智能音箱中,当该圆柱体麦克风阵列应用于圆柱体形状的智能音箱中时,第一平面麦克风阵列设置于智能音箱的圆形顶面上,第一平面麦克风阵列包括至少三个麦克风,该至少三个麦克风可沿圆周均匀分布,也可沿直线线性分布。第i平面麦克风阵列中的多个麦克风均匀分布在圆柱体智能音箱的侧面上,且位于圆柱体智能音箱的横截面上。

本发明实施例中的圆柱体麦克风阵列的形状与圆柱体智能音箱的形状一致,该圆柱体麦克风阵列可直接应用于圆柱体形状的智能音箱上,以实现声源的三维定位。相比于类球形麦克风阵列,本发明中的圆柱体麦克风阵列对现有的圆柱体形状的智能音箱结构影响较小,可较好地适用于圆柱体智能音箱。

图2为本发明实施例提供的声源定位方法的流程图,本发明实施例中所提供的声源定位方法基于上述圆柱体麦克风阵列的结构实现,声源定位方法包括步骤s100、步骤s200及步骤s300。

步骤s100:当n=2时,选取第一平面麦克风阵列中的两个麦克风以及第二平面麦克风阵列中的一个麦克风组成斜面麦克风阵列;当n>2时,分别在第一平面麦克风阵列、第j平面麦克风阵列及第k平面麦克风阵列中选取一个麦克风组成斜面麦克风阵列,其中,2≤j≠k≤n。

具体地,当n=2时,即圆柱体麦克风阵列仅包括两个平面麦克风阵列时,选取第一平面麦克风阵列中的两个麦克风以及第二平面麦克风阵列中的一个麦克风组成斜面麦克风阵列。

进一步具体地,如图3所示,选取第一平面麦克风阵列中的两个麦克风以及第二平面麦克风阵列中的一个麦克风组成斜面麦克风阵列的步骤具体包括步骤s101、步骤s102及步骤s103:

步骤s101:获取第一平面麦克风阵列中距离声源最近的第一麦克风和距离声源最远的第二麦克风。

具体地,根据声源信号到达第一平面麦克风阵列中各麦克风的时间,或根据声源信号到达第一平面麦克风阵列中各麦克风的时间差,获取第一平面麦克风阵列中距离声源最近的第一麦克风和距离声源最远的第二麦克风。

步骤s102:获取第二平面麦克风阵列中距离声源最近的第三麦克风。

具体地,根据声源信号到达第二平面麦克风阵列中各麦克风的时间,或根据声源信号到达第二平面麦克风阵列中各麦克风的时间差,获取第二平面麦克风阵列中距离声源最近的第三麦克风。

步骤s103:选取第一麦克风、第二麦克风及第三麦克风组成斜面麦克风阵列。

具体地,第一麦克风、第二麦克风及第三麦克风所确定的平面与圆柱体顶面之间形成夹角,第一麦克风、第二麦克风及第三麦克风组成斜面麦克风阵列。

具体地,当n>2时,即圆柱体麦克风阵列包括至少三个平面麦克风阵列时,分别在第一平面麦克风阵列、第j平面麦克风阵列及第k平面麦克风阵列中选取一个麦克风组成斜面麦克风阵列,其中,2≤j≠k≤n。

进一步具体地,如图4所示,当n>2时,分别在第一平面麦克风阵列、第j平面麦克风阵列及第k平面麦克风阵列中选取一个麦克风组成斜面麦克风阵列的步骤具体包括步骤s110、步骤s120、步骤s130及步骤s140:

步骤s110:获取第一平面麦克风阵列中距离声源最远的第一麦克风。

具体地,根据声源信号到达第一平面麦克风阵列中各麦克风的时间,或根据声源信号到达第一平面麦克风阵列中各麦克风的时间差,获取第一平面麦克风阵列中距离声源最远的第一麦克风。

步骤s120:获取第二平面麦克风阵列中距离声源最近的第二麦克风,获取第三平面麦克风阵列中距离声源最近的第三麦克风,直至获取到第n平面麦克风阵列中距离声源最近的第n麦克风。

具体地,根据声源信号到达第二平面麦克风阵列中各麦克风的时间或时间差,获取第二平面麦克风阵列中距离声源最近的第二麦克风;根据声源信号到达第三平面麦克风阵列中各麦克风的时间或时间差,获取第三平面麦克风阵列中距离声源最近的第三麦克风;根据声源信号到达第四平面麦克风阵列中各麦克风的时间或时间差,获取第四平面麦克风阵列中距离声源最近的第四麦克风;以此类推,直至根据声源信号到达第n平面麦克风阵列中各麦克风的时间或时间差,获取第n平面麦克风阵列中距离声源最近的第n麦克风。

步骤s130:获取第二麦克风至第n麦克风中距离声源最近的最近麦克风和距离声源最远的最远麦克风。

具体地,根据声源信号分别到达第二麦克风、第三麦克风、第四麦克风至第n麦克风的时间,或者根据声源信号到达其中每两个麦克风之间的时间差(如根据声源信号到达第二麦克风与第三麦克风之间的时间差、到达第三麦克风与第四麦克风之间的时间差、到达第四麦克风与第五麦克风之间的时间差,以此类推,到达第n-1麦克风与第n麦克风之间的时间差),获取第二麦克风至第n麦克风中距离声源最近的最近麦克风和距离声源最远的最远麦克风,最近麦克风和最远麦克风分别位于第j平面麦克风阵列和第k平面麦克风阵列中。

步骤s140:选取第一麦克风、最近麦克风及最远麦克风组成斜面麦克风。

具体地,第一麦克风、最近麦克风及最远麦克风所确定的平面与圆柱体顶面之间形成夹角,第一麦克风、最近麦克风及最远麦克风组成斜面麦克风阵列。

步骤s200:基于三维坐标系获取斜面麦克风阵列中三个麦克风的三维坐标;三维坐标系以圆柱体顶面的圆心为原点,三维坐标系的x轴和y轴所构成的平面与圆柱体顶面重合,三维坐标系的z轴与圆柱体顶面垂直。

具体地,三维坐标系包括x轴、y轴及z轴,三维坐标系以圆柱体顶面的圆心为原点,三维坐标系的x轴和y轴位于圆柱体顶面上,该x轴和y轴位于水平面上,三维坐标系的z轴与圆柱体顶面垂直。

步骤s300:根据三个麦克风的三维坐标以及声源定位公式计算声源的三维坐标;其中,声源定位公式为:

其中,三个麦克风的三维坐标分别为a、b、c点坐标,a(xa,ya,za),b(xb,yb,zb),c(xc,yc,zc);声源的三维坐标为s(x,y,z);c为声音在空气中的声速;δtab为声源信号到达麦克风a点与到达麦克风b点的时间差;δtbc为声源信号到达麦克风b点与到达麦克风c点的时间差;δtac为声源信号到达麦克风a点与到达麦克风c点的时间差。

具体地,c为声音在空气中的声速,为340m/s,三个麦克风的三维坐标可基于三维坐标系获得,δtab、δtbc及δtac可基于现有的时延估计算法获得,因此,根据上述声源定位公式可计算获得声源的三维坐标s(x,y,z)。

以下结合一具体场景对本发明实施例提供的声源定位方法进行具体说明,该场景基于包括两个平面麦克风阵列的圆柱体麦克风阵列实现三维声源定位,如图5所示,第一平面麦克风阵列中包括三个麦克风u、v、w,三个麦克风u、v、w沿圆周均匀分布,圆周半径r小于圆柱体顶面半径r´,圆周的圆心与圆柱体顶面的圆心重合;第二平面麦克风阵列所在平面距离第一平面麦克风阵列所在平面为预设高度h,第二平面麦克风阵列中包括三个麦克风u´、v´、w´,三个麦克风u´、v´、w´沿圆周均匀分布,且位于圆柱体侧面上。以第一平面麦克风阵列所在平面作为三维坐标系中x轴和y轴的所在平面,以圆柱体顶面的圆心为原点o,以原点o与麦克风u的连线延长线作为y轴,x轴与y轴垂直,z轴与第一平面麦克风阵列所在平面垂直。

获取第一平面麦克风阵列中距离声源最近的第一麦克风和距离声源最远的第二麦克风,假设获取到的第一麦克风为麦克风u、第二麦克风为麦克风w;获取第二平面麦克风阵列中距离声源最近的第三麦克风,假设获取到的第三麦克风为麦克风v´,基于上述三维坐标系获取麦克风u、麦克风w及麦克风v´的三维坐标分别为u(0,r,0)、w()、v´(),进而根据如下声源定位公式计算获得声源的三维坐标s(x、y、z):

其中,δtuw为声源信号到麦克风u与声源信号到麦克风w的时间差;δtuv´为声源信号到麦克风u与声源信号到麦克风v´的时间差;δtwv´为声源信号到麦克风w与声源信号到麦克风v´的时间差;c为声速340m/s。

本发明实施例中,声源定位方法基于圆柱体麦克风阵列实现,声源定位方法包括:在圆柱体麦克风阵列中选取三个麦克风组成斜面麦克风阵列,基于三维坐标系获取斜面麦克风阵列中三个麦克风的三维坐标,根据三个麦克风的三维坐标以及声源定位公式计算声源的三维坐标。本发明中的声源定位算法基于三个麦克风的三维坐标实现声源的定位,算法简单,应用成本低。

实施例二

图6为本发明另一实施例提供的智能音箱的结构示意图,用户可通过智能音箱实现点播歌曲、上网购物、了解天气等,智能音箱还可与家庭中的智能家居设备通信连接,通过智能音箱实现对智能家居设备的控制,如控制家庭中的空调、智能窗帘、冰箱、热水器等。智能音箱包括处理器100以及存储器200,处理器100耦合存储器200,处理器100在工作时执行存储器200中存储的指令以实现上述实施例一中的声源定位方法。

其中,处理器100还可以称为cpu(centralprocessingunit,中央处理单元)。处理器100可能是一种集成电路芯片,具有信号的处理能力。处理器100还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,但不仅限于此。

实施例三

参阅图7,图7是本发明另一实施例提供的存储介质的示意图,本实施例中的计算机可读存储介质存储有计算机程序300,该计算机程序300能够被处理器执行以实现上述实施例一中的声源定位方法。

可选的,该可读存储介质可以是u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

本发明中,声源定位方法基于圆柱体麦克风阵列实现,声源定位方法包括:在圆柱体麦克风阵列中选取三个麦克风组成斜面麦克风阵列,基于三维坐标系获取斜面麦克风阵列中三个麦克风的三维坐标,根据三个麦克风的三维坐标以及声源定位公式计算声源的三维坐标。本发明中的声源定位算法基于三个麦克风的三维坐标实现声源的定位,算法简单,应用成本低。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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