一种基于双麦克风的声音定位方法及其装置

文档序号:1887971 发布日期:2021-11-26 浏览:18次 >En<

阅读说明:本技术 一种基于双麦克风的声音定位方法及其装置 (Sound positioning method and device based on double microphones ) 是由 洪鸿榕 郑德泽 宁工程 何恒毅 于 2021-08-31 设计创作,主要内容包括:本发明公开一种基于双麦克风的声音定位方法及其装置,二个麦克风放置于两侧的墙边并与墙面呈现平行状态且麦克风采集方向背向墙体;获取无人发声时两个麦克风的声音数据,所捕捉到的声音数据为噪声或背景声;计算出噪声或背景声的音量大小并记录为最小音量值;设置一大于最小音量值的阈值作为有声音的判断依据;记录获取二个麦克风接收到大于阈值声音的起始时间和结束时间;计算二个麦克风对应同一声音的到达时间差;计算二个麦克风之间的距离差并基于距离差构建声源位置双曲线函数,根据接收声音开始时间先后确定声源所在曲线象限后基于到达时间差计算声源所在方位。本发明将声音定位问题转变为有、无声音的二值判断,提高了探测距离。(The invention discloses a sound positioning method and a device based on double microphones.A wall side is arranged at two sides of two microphones and is parallel to the wall surface, and the collection direction of the microphones is back to the wall body; acquiring sound data of two microphones when no person speaks, wherein the captured sound data is noise or background sound; calculating the volume of the noise or the background sound and recording the volume as a minimum volume value; setting a threshold value larger than the minimum volume value as a judgment basis of sound; recording and acquiring the starting time and the ending time of the two microphones receiving the sound larger than the threshold value; calculating the arrival time difference of the two microphones corresponding to the same sound; calculating the distance difference between the two microphones, constructing a hyperbolic function of the sound source position based on the distance difference, determining the curve quadrant where the sound source is located according to the sound receiving starting time, and then calculating the position of the sound source based on the arrival time difference. The invention converts the sound positioning problem into binary judgment of sound existence and sound nonexistence, and improves the detection distance.)

一种基于双麦克风的声音定位方法及其装置

技术领域

本发明涉及通信技术领域,尤其涉及一种基于双麦克风的声音定位方法及其装置。

背景技术

声源定位、声音识别在现实生活中已普遍应用,用于声源定位的技术很多,各有特色,比如TV中所使用的麦克风陈列,可识别5米内的语音。不同技术、不同应用场景中所使用的算法也各有不同,如有为计算麦克风时间差而开发的自相关函数,也有基于深度学习的语音识别算法。

以上声音定位、识别技术是通用的处理方式,由于其针对的是各种各样的应用场所,因此,对硬件架构、处理算法有较大的要求,实现较为复杂,且识别范围有很大的局限性。比如,TV所用的声音识别麦克风陈列,即使使用了4个麦克风,其可识别范围也必须在5米之内,而且对噪声、干扰具有很高的要求。

发明内容

本发明的目的在于提供一种基于双麦克风的声音定位方法及其装置,应用于会议室或室内讲话者的定位,为后续应用提供辅助手段,如视频会议中,在获取说话者位置后,可将摄像头转向说话者,甚至可以放大讲话者在摄像头中的画面,或者作为室内监控,在探测到声音后,可将监控摄像头转向声音所在位置。

本发明采用的技术方案是:

一种基于双麦克风的声音定位方法,其包括以下步骤:

步骤1,将用于采集声音的二个麦克风按一定距离放置于同一侧的墙边,麦克风摆放与墙面呈现平行状态且麦克风采集方向背向墙体,以使得声源位置只能来自麦克风前方的二个象限;

步骤2,获取无人发声时两个麦克风的声音数据,所捕捉到的声音数据为噪声或背景声;

步骤3,计算出噪声或背景声的音量值大小并记录为最小音量值;

步骤4,设置一大于最小音量值的阈值作为有声音状态的判断依据;

步骤5,持续采集并分别计算二个麦克风的音量值,记录二个麦克风接收到大于阈值声音的起始时间和/或结束时间;

步骤6,计算声音到达二个麦克风的到达时间差;

步骤7,计算二个麦克风之间的距离差并基于距离差构建声源位置双曲线函数,并根据二个麦克风接收到的声音开始或结束时间的先后顺序来确定声源所在曲线象限,最终确定基于到达时间差计算出的声源所在方位。声源所在象限的确定方法:声源位于先接收到声音的麦克风一侧所对应的象限的双曲线上。

进一步地,步骤5中麦克风判断是否接收到声音的具体方法为:连续接收在设定固定时间长度内麦克风采集到的声音数据,并计算出此时间段内的声音数据绝对值的累加值,此累加值视为此时间范围内的音量值;设定一个大于无声音状态下音量值的阈值,作为最小音量值阈值;当音量值大于最小音量值的阈值,即为有声音状态;当音量值小于最小音量值的阈值,即为无声音状态。

固定时间长度可根据实际需要手动设定,并非固定不变。在无声音时,此累加值为噪声或背景声,在有声音时,累加值会突然加大。设置声音累加值阈值,用来确定有、无声音的二种状态,可以有效滤除噪声、背景声对本方法声音判断的干扰。

进一步地,步骤5中将二个麦克风获取的声音音量值与最小音量值的阈值进行对比并作二值化处理分别得到二个麦克风对应的声音二值波形,基于该声音二值波形快速确定音的起始时间和结束时间。

进一步地,步骤6的二个麦克风发现该声音的起始时间之间的时间差值或者结束时间之间的时间差值作为该声音到达时间差。

进一步地,步骤6中二个麦克风时间差Tdiff=T1–T2=(D1-D2)/340,其中,T1为到达一个麦克风的时间,T2为到达另一个麦克风的时间。

进一步地,步骤7中确定声源方位的具体步骤如下:

步骤7-1,基于到达时间差计算声源与二个麦克风之间的距离差Ddiff;

Ddiff=(T1–T2)*340=Tdiff*340

其中,T1为到达一个麦克风的时间,T2为到达另一个麦克风的时间,Tdiff为二个麦克风的到达时间差;

步骤7-2,依二个麦克风距离,设置麦克风的坐标数据;

步骤7-3,计算获取声源离麦克风1的距离D1,其满足如下公式:

D12=(X0-X1)2+(Y0-Y1)2 (1)

其中,(X0,Y0)为声源坐标,(X1,Y1)麦克风1的坐标,

步骤7-4,计算获取声源离麦克风2的距离D2,其满足如下公式:

D22=(X0-X2)2+(Y0-Y2)2 (2)

其中,(X0,Y0)为声源坐标,(X2,Y2)麦克风2的坐标,

步骤7-5,基于以下声源与二个麦克风之间的距离差Ddiff的计算公式构建声源位置双曲线函数:

Ddiff=D1–D2 (3)

步骤7-6,求解双曲线函数并根据接收声音开始时间先后所确定的象限得到声源的点位坐标。

一种基于双麦克风的声音定位装置,其包括左、右二个麦克风以及一个处理单元,二个麦克风按一定距离摆放,并平行放置于声源一侧,如室内一侧墙边,使待检测声源始终位于二个麦克风前方二个象限的180度空间范围内;二个麦克风将采集到的声音数据传送到处理单元;处理单元用于分别处理声音数据得到声音到达二个麦克风的起始时间与结束时间以计算声音到达时间差,根据时间差计算声源位置到达二个麦克风之间的距离差,基于距离差构建声源位置双曲线函数,根据接收声音开始时间先后顺序确定声源所在曲线象限后基于到达时间差计算声源所在方位。

进一步地,二个麦克风之间的距离根据实际需要设置,麦克风距离越大则计算出的声源位置精度越高,麦克风距离越小则计算出的声源位置精度越低。

进一步地,二个麦克风与处理单元可集成在同一块线路板上,或者

进一步地,二个麦克风可通过线缆与处理单元相连接。

进一步地,二个麦克风为输出模拟电压信号的模拟麦克风,或者输出数字信号的数字麦克风,处理单元配置有相应的模拟或数字接收模块。

进一步地,处理单元还有相应的输出接口用于输出计算得到的声源方位信息,此接口可为SPI,I2C,UART,GPIO等常见接口。

本发明所使用的方法基于二个麦克风采集到的声音大小来判断声音的起始与结束,以二个麦克风检测到的声音起始时间或结束时间来计算声音到达时间差。本发明所使用的基于声音大小的双麦克风声音到达时间差判断方法,将声音到达时间转化为通过采集到的声音数据计算得出的音量大小来判断有、无声音的二值数据,从而判断出二个麦克风分别采集到的声音的起始或结束时间,由此计算出声音到达时间差,无需复杂的算法,不须对声音进行降噪或进行滤波,不需要处理回音等干扰,计算方法简单,系统精简,易于实现。

附图说明

以下结合附图和

具体实施方式

对本发明做进一步详细说明;

图1为本发明一种基于双麦克风的声音定位方法的原理示意图;

图2为本发明构建声源位置双曲线函数示意图;

图3为本发明采集的原始声音数据的声音波形示意图;

图4为本发明对采集声音数据处理后的声音二值波形示意图;

图5为本发明一种基于双麦克风的声音定位装置应用于会议室场景示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。

如图1至图5之一所示,本发明公开了一种基于双麦克风的声音定位方法,其包括以下步骤:

步骤1,将用于采集声音的二个麦克风按一定距离放置于室内同一侧的墙边,二个麦克风摆放与墙面呈现平行状态且麦克风采集方向背向墙体,以使得声源位置只能来自麦克风前方的二个象限;

步骤2,获取无人发声时两个麦克风的声音数据,所捕捉到的声音数据为噪声或背景声;

步骤3,计算出噪声或背景声的音量值大小并记录为最小音量值;

步骤4,设置一大于最小音量值的阈值作为有声音状态的判断依据;

步骤5,持续采集并分别计算二个麦克风的音量值,记录二个麦克风接收到大于阈值声音的起始时间和/或结束时间;

步骤6,计算声音到达二个麦克风的到达时间差;

步骤7,计算二个麦克风之间的距离差并基于距离差构建声源位置双曲线函数,并根据二个麦克风接收到的声音开始或结束时间的先后顺序来确定声源所在曲线象限,最终确定基于到达时间差计算出的声源所在方位。声源所在象限的确定方法:声源位于先接收到声音的麦克风一侧所对应的象限的双曲线上。

进一步地,步骤5中麦克风判断是否接收到声音的具体方法为:连续接收在设定固定时间长度内麦克风采集到的声音数据,并计算出此时间段内的声音数据绝对值的累加值;此累加值视为此时间范围内的音量值;设定一个大于无声音状态下音量值的阈值,作为最小音量值阈值;当音量值大于最小音量值的阈值,即为有声音状态;当音量值小于最小音量值的阈值,即为无声音状态。

固定时间长度可根据实际需要手动设定,并非固定不变。在无声音时,此声音累加值为噪声或背景声,在有声音时,累加值会突然加大。设置声音累加值阈值,用来确定有、无声音的二种状态,可以有效滤除噪声、背景声对本方法声音判断的干扰。

进一步地,步骤5中将二个麦克风获取的声音音量值与最小音量值的阈值进行对比并作二值化处理分别得到二个麦克风对应的声音二值波形,基于该声音二值波形快速确定音的起始时间和结束时间。

进一步地,步骤6的二个麦克风发现该声音的起始时间之间的时间差值或者结束时间之间的时间差值作为该声音到达时间差。

进一步地,步骤6中二个麦克风时间差Tdiff=T1–T2=(D1-D2)/340,其中,T1为到达一个麦克风的时间,T2为到达另一个麦克风的时间。

进一步地,步骤7中确定声源方位的具体步骤如下:

步骤7-1,基于到达时间差计算声源与二个麦克风之间的距离差Ddiff;

Ddiff=(T1–T2)*340=Tdiff*340

其中,T1为到达一个麦克风的时间,T2为到达另一个麦克风的时间,Tdiff为二个麦克风的到达时间差;

步骤7-2,依二个麦克风距离,设置麦克风的坐标数据;

步骤7-3,计算获取声源离麦克风1的距离D1,其满足如下公式:

D12=(X0-X1)2+(Y0-Y1)2 (1)

其中,(X0,Y0)为声源坐标,(X1,Y1)麦克风1的坐标,

步骤7-4,计算获取声源离麦克风2的距离D2,其满足如下公式:

D22=(X0-X2)2+(Y0-Y2)2 (2)

其中,(X0,Y0)为声源坐标,(X2,Y2)麦克风2的坐标,

步骤7-5,基于以下声源与二个麦克风之间的距离差Ddiff的计算公式构建声源位置双曲线函数:

Ddiff=D1–D2 (3);

步骤7-6,求解双曲线函数并根据接收声音开始时间先后所确定的象限得到声源的点位坐标。

一种基于双麦克风的声音定位装置,其包括左、右二个麦克风以及一个处理单元,二个麦克风按一定距离摆放,并平行放置于声源一侧,如室内一侧墙边,使待检测声源始终位于二个麦克风前方二个象限的180度空间范围内;二个麦克风将采集到的声音数据传送到处理单元;处理单元用于分别处理声音数据得到声音到达二个麦克风的起始时间与结束时间以计算声音到达时间差,根据时间差计算声源位置到达二个麦克风之间的距离差,基于距离差构建声源位置双曲线函数,根据接收声音开始时间先后确定声源所在曲线象限后基于到达时间差计算声源所在方位。

进一步地,二个麦克风之间的距离根据实际需要设置,麦克风距离越大则计算出的声源位置精度越高,麦克风距离越小则计算出的声源位置精度越低。

进一步地,二个麦克风与处理单元可集成在同一块线路板上,或者

进一步地,二个麦克风可通过线缆与处理单元相连接。

进一步地,二个麦克风为输出模拟电压信号的模拟麦克风,或者输出数字信号的数字麦克风,处理单元配置有相应的模拟或数字接收模块。

进一步地,处理单元还有相应的输出接口用于输出计算得到的声源方位信息,此接口可为SPI,I2C,UART,GPIO等常见接口。

下面就本发明的具体原理做详细的说明:

本发明使用双麦克风定位技术来确定声源的位置。众所皆知,人的双耳是可以确定说话者的大概方位的,而双麦克风就类似于人的二只耳朵。如图1所示,双麦克风利用声音传输到达麦克风的时间差来确定说话者的位置。

空气中声音传播速度340m/s,可知声源到达二个麦克风时间差Tdiff:

Tdiff=T1–T2=(D1-D2)/340

其中,T1为到达一个麦克风的时间,T2为到达另一个麦克风的时间。

若实时采集二个麦克风声音数据,判断出有声音时,到达二个麦克风的时间差Tdiff,则可知声源与二个麦克风之间的距离差Ddiff:

Ddiff=(T1–T2)*340=Tdiff*340

其中,T1为到达一个麦克风的时间,T2为到达另一个麦克风的时间。

当计算出距离差Ddiff之后,根据距离计算公式,就可得出声源可能的所在位置。距离公式如下:D2=(X1-X2)2+(Y1-Y2)2

则声源离麦克风1距离(公式1):

D12=(X0-X1)2+(Y0-Y1)2 (1)

声源离麦克风2距离(公式2):

D22=(X0-X2)2+(Y0-Y2)2 (2)

麦克风1与麦克风2距离为L(公式3),可知:

L=X2–X1 (3)

三角形二边之差小于第三边,因此,Ddiff<L;可得如下结论:

Tdiff<L/340

根据上述D1、D2距离公式以及以下Ddiff公式,Ddiff=D1–D2;可知声源位置位于如图2所示的双曲线位置上。每个不同的Ddiff值,都会计算出不同的双曲线,且可知双曲线为左右对称、上下对称。由时间差公式所计算出的声源方位可位于四个象限当中,本发明通过以下方法来确定声源所在象限:首先,本发明将用于采集声音的二个麦克风放置于墙边,与墙面呈现平行状态,麦克风采集方向背向墙体,则声源位置只能来自麦克风前方的二个象限;其次,通过计算出声音先到达的麦克风,可知声音是位于左边象限还是右边象限的曲线上。结合以上二点,可确定声源位于哪一个象限中,再结合时间差所计算出的曲线就可计算出声源所在方位。

声音到达时间差计算可简化为判断声音起始或结束时间的差值,在无声音时,此时二个麦克风均未检测到声音,此时所捕捉到的声音数据为噪声或背景声。此时可计算出噪声或背景声的音量大小,并将此音量值记录为最小音量值,设置一大于此最小音量值的阈值作为有声音的判断依据。当有声源发声时,此时二个麦克风会先、后检测到大于此阈值的声音数据,二个麦克风发现这个声音的起始或结束时间之间的时间差值就是声音到达时间差。

进一步,将声音到达时间差的判定简化为二值判断,即有声音和无声音二种状态,只要麦克风可判断出有、无声音即可。因此,本发明所述方法可探测的距离大大增加,凡是麦克风可检测到声音的距离皆在本发明所述声音检测范围之内。实际测量结果显示,测量距离可达10米以上,选择灵敏度高的麦克风可进一步增加测量距离。将声音定位问题转变为有、无声音的二值判断,大大简化了系统设计要求,提高了探测距离。实际应用当中,可设定声音阈值来适应不同的场景,或者阈值也可由系统自行根据运行情况计算得出。本发明可兼容此二种处理方式,或称之为手动设定方式和自动判断方式。阈值的设定与系统和环境噪声相关,原则上需将阈值设定为高于系统和环境噪声,以防止其对声音方位的错误判断。

本发明麦克风只需要判断出有无声音即可,因此,探测距离大大增加,偶尔的干扰、噪声、回音并不会对探测结果产生影响。不像TV麦克风阵列,为识别出具体的语音对于环境、距离要求很高,在处理信号前需要进行大量的滤波、去噪声、消除回声等处理,很小的一个干扰对结果影响很大。对于本发明系统而言,这些处理都是没有必要的。

假设二个麦克风采集到的声音波形如图3所示,并假设系统判断出的声音起始点如图3所示,此时计算出麦克风采集的声音累加值超过设定了阈值,可得对应的声音二值波形如下图4所示。本发明只需利用上述表征声音状态的二值波形,就可根据前述计算公式确定出声音方位,这极大简化了系统复杂度以及系统要求,且增加了声音探测距离,减少了计算复杂度。

本发明采用的装置包括左、右二个麦克风以及一个处理单元。二个麦克风之间的距离可根据实际需要设置,麦克风距离越大则计算出的声源位置精度越高,麦克风距离越小则计算出的声源位置精度越低。麦克风之间的距离可根据实际需要设置。二个麦克风将采集到的声音数据传送到处理单元,供处理单元进行声音方位判断。二个麦克风可与处理单元集成在同一块线路板上,也可以通过线缆与处理单元相连接。本发明所述二个麦克风可以是输出模拟电压信号的模拟麦克风,也可以是输出I2S等数字信号的数字麦克风,处理单元设计有相应的模拟或数字接收模块。此外,处理单元还有相应的输出接口用于输出计算得到的声源方位信息,此接口可为SPI,I2C,UART,GPIO等常见接口。

如图5为本发明的应用场景之一,在会议室或房间内,麦克风和处理单元放置于其中一面墙边,同时系统还包括一个摄像头用于实时采集前方画面。本摄像头为可转向摄像头,拥有一个转向控制接口,可由处理单元进行转向控制。当房间内有人发言,处理单元根据本发明所述方法计算出麦克风之间采集到声音到达时间差,确定出发言者所在方位,并将摄像头转向发言者,达到实时追踪发言人的目的。

本发明使用按特定的距离摆放于墙边的二个麦克风以及处理单元,基于声音到达时间差算法计算出声源的所在方位。本发明特别适合应用于类似会议室或室内等较安静场所识别发言者的方位。本发明基于二个麦克风所接收到的声音大小来判断声音时间差,并因而推断出声源的方位。在使用本发明所述的方法获取声源方位后,可结合其它系统实现特定应用,如可将本发明结合视频会议系统,在判断出发言者方位后,实现摄像头自动转向发言者。

本发明采用以上技术方案,将声音到达时间差的判定简化为二值判断,即有声音和无声音二种状态,只要通过麦克风可判断出有、无声音即可。因此,本发明所述方法可探测的距离大大增加,凡是麦克风可检测到声音的距离皆在本发明所述声音检测范围之内。实际测量结果显示,测量距离可达10米以上,选择灵敏度高的麦克风可进一步增加测量距离。

将声音定位问题转变为有、无声音的二值判断,大大简化了系统设计要求,提高了探测距离。实际应用当中,可设定声音阈值来适应不同的场景,或者阈值也可由系统自行根据运行情况计算得出。本发明可兼容此二种处理方式,或称之为手动设定方式和自动判断方式。阈值的设定与系统和环境噪声相关,原则上需将阈值设定为高于系统和环境噪声,以防止其对声音方位的错误判断。

本发明所述方法与其它技术的差别在于,麦克风只需要判断出有无声音即可,因此,探测距离大大增加,偶尔的干扰、噪声、回音并不会对探测结果产生影响。不像TV麦克风阵列,为识别出具体的语音对于环境、距离要求很高,在处理信号前需要进行大量的滤波、去噪声、消除回声等处理,很小的一个干扰对结果影响很大。对于本发明系统而言,这些处理都是没有必要的。

显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:雷达组网中的主雷达切换方法、雷达控制器及雷达系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!