声源定位方法及装置与流程

文档序号:15343247发布日期:2018-09-04 22:26阅读:459来源:国知局

本发明涉及声音处理技术领域,具体而言,涉及一种声源定位方法及装置。



背景技术:

相关技术中,若需要对声源进行定位或者定向时,一般是通过接收不同方向的信号,然后根据各个方向的信号来计算声源方位,如在一个房间中设置一个声源检测装置,通过该声源检测装置检测来自各个方向的信号。但是,这种方式有很大的弊端,在相对密闭的空间中,声音会发生反射,这样会造成干扰,例如,声源结束时,由于声音的延迟作用,会导致反射的声音仍然可以达到声音检测装置中,这时,声音检测装置会认为反射的声音信号所在的方位为声源方位,此时,声音检测装置会检测到一个不同方向的声音为声源,对声源定位造成干扰。如图1所示,在一个房间中,声音检测装置检测人发出的声音,对于人刚开始到结束的声音,都可以是a1声音路线,此时,声源定位为人,而在声音结束的瞬间,会由于声音的反射形成为a2声音路线,此时,声音检测装置会认为最后反射的声音信号对应的墙壁所在的位置为声源方位,这时,声源定位就会造成误差。具体地,通过声音检测装置可以检测到a1声音路线是图2a中示出的声音波形信号,并检测到a2声音路线的声音波形为图2b中示出的内容,这样就可以看出,由于声音的反射,造成信号的混响,由于混响的原因,当说话人停止说话时(图中竖直方向的黑线处),麦克风还采集到了比较强的信号(图2b中中间的黑线之后的声音波形信号)。由于此时的信号并非是说话人发出的,所以识别出来的方位就是错误的。其中,在图2a中和图2b中声音波形上方的曲线可以理解为包络线,用于表示声音信号的走向。

针对上述的相关技术中由于声音反射造成声源定位出现错误的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种声源定位方法及装置,以至少解决相关技术中由于声音反射造成声源定位出现错误的技术问题。

根据本发明实施例的一个方面,提供了一种声源定位方法,包括:获取声音波形中的多帧数据的能量值,其中,所述多帧数据是与所述声音波形各个声音信号对应的信号帧的数据;根据预设计算方式,确定与所述多帧数据的能量值对应的包络线斜率;判断所述包络线斜率是否大于第一预设包络线斜率,或者,判断所述包络线斜率是否低于第二预设包络线斜率;在判断所述包络线斜率大于所述第一预设包络线斜率的情况下,根据所述包络线斜率确定当前声源方位;在判断出所述包络线斜率低于第二预设包络线斜率的情况下,确定所述声源方位不变。

进一步地,获取声音波形中的多帧数据的能量值包括:获取声音波形中的连续多帧数据,其中,所述多帧数据为大于等于两帧的数据;获取与所述连续多帧数据中每帧数据对应的能量值。

进一步地,根据预设计算方式,确定与所述多帧数据的能量值对应的包络线斜率包括:根据所述多帧数据中每帧数据对应的能量值和所述预设计算方式,确定所述包络线斜率,其中,所述预设计算方式为其中,m为声音波形中的信号帧数据的总量,v1表示所述多帧数据中初始时间所指示的信号帧数据对应的能量值,vi是表示多帧数据中第i个时间所指示的信号帧数据对应的能量值。

进一步地,在获取声音波形中的多帧数据的能量值之前,所述方法还包括:采集多个声音信号,得到所述声音波形;对所述声音波形进行分帧处理,得到多个声音信号帧,其中,每个所述声音信号帧对应的声音信号的数量是相同的。

进一步地,在得到多个声音信号帧之后,所述方法还包括:根据预设操作方式,确定每个所述声音信号帧对应的总能量值。

进一步地,在判断所述包络线斜率大于所述第一预设包络线斜率的情况下,根据所述包络线斜率确定当前声源方位包括:在判断出所述包络线斜率大于所述第一预设包络线斜率时,确定所述声源开始发出声音信号;在确定所述声源开始发出声音信号的情况下,根据所述包络线斜率所对应的多帧数据,确定出每帧数据所指示的每个声音信号所在的方位;根据每帧数据所指示的每个声音信号所在的方位,确定出所述当前声源方位。

根据本发明实施例的另一方面,还提供了一种声源定位装置,包括:获取单元,用于获取声音波形中的多帧数据的能量值,其中,所述多帧数据是与所述声音波形各个声音信号对应的信号帧的数据;第一确定单元,用于根据预设计算方式,确定与所述多帧数据的能量值对应的包络线斜率;判断单元,用于判断所述包络线斜率是否大于第一预设包络线斜率,或者,判断所述包络线斜率是否低于第二预设包络线斜率;第二确定单元,用于在判断所述包络线斜率大于所述第一预设包络线斜率的情况下,根据所述包络线斜率确定当前声源方位;第三确定单元,用于在判断出所述包络线斜率低于第二预设包络线斜率的情况下,确定所述声源方位不变。

进一步地,所述获取单元包括:第一获取模块,用于获取声音波形中的连续多帧数据,其中,所述多帧数据为大于等于两帧的数据;第二获取模块,用于获取与所述连续多帧数据中每帧数据对应的能量值。

根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的声源定位方法。

根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的声源定位方法。

在本发明中,先获取声音波形中的多帧数据的能量值,并根据预设计算方式,确定与该能量值对应的包络线斜率,然后可以判断计算出的包络线斜率是否大于第一预设包络线斜率,或者可以判断包络线斜率是否低于第二预设包络线斜率,并在判断出包络线斜率大于第一预设包络线斜率的情况下,根据包络线斜率确定当前声源方位,而在判断出包络线斜率低于第二预设包络线斜率的情况下,确定声源方位不变。在该实施例中,在声音信号处于发声时,声音波形会处于上升阶段,此时,包络线斜率会大于第一预设包络线斜率,这时就可以重新定位当前声源方位,而在包络线斜率低于第二预设包络线斜率时,此时,可以理解为声源停止发声,包络线斜率会有明显的下降,此时就无需定位声源了。即可以对声音信号的能量值进行监控,确定能量值变化对应的包络线斜率,这样就可以在声源结束发声时,不会重新定位声源,而不是仅仅根据声音信号的方位来确定声源位置,进而解决相关技术中由于声音反射造成声源定位出现错误的技术问题,达到有效减少混响对声源定位造成的干扰,提高声源定位的准确度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术中一种声音信号走向的示意图;

图2a是根据相关技术中一种讲话人的声音波形的示意图;

图2b是根据相关技术中一种声源检测装置检测到的声音波形的示意图;

图3是根据本发明实施例的声源定位方法的流程图;

图4是根据本发明实施例的声源定位装置的示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于用户更好的理解本发明,下面对本发明各个实施例中的部分术语或名词做出解释:

包络线:与曲线族中的每条线都有至少一点相切的曲线。

声音波形,对声音进行捕捉,转换为数值,在声音转化为电流时,用随时间振动的波形来表示,振动最常用的形式为正弦波。

根据本发明实施例,提供了一种声源定位的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

以下实施例可以应用于在各种声源定位环境和声源定位装置、设备中,其中,对于声源定位的环境,可以理解为需要定位的周围环境,在本发明中,可以对相对封闭的环境中的声源进行定位,包括但不限于封闭房间、厂区、会议室、卧室、客厅等,对于这种环境,更容易造成混响,对声源定位造成干扰,降低声源定位的准确度。而通过本发明可以减少对声源定位的干扰,通过对声音波形中各个声音信号的能量值的确定,将能量值对应的包络线斜率与预设包络线斜率进行判断,从而确定当前声源方位。在声源结束发声时,由于包络线斜率也下降,可以不改变声源方位,减少声源定位的干扰。

另外,本发明对具体的声源定位装置不做限定。而对于具体的声源也不做限定,可以是人,例如,在一个会议室中,在主方位的人讲话,此时,该会议室内的声源是主方位的人,通过下述实施例可以准确对声源定位。

下面结合一种优选的实施步骤对本发明进行说明,图3是根据本发明实施例的声源定位方法的流程图,如图3所示,该方法包括如下步骤:

步骤s302,获取声音波形中的多帧数据的能量值,其中,多帧数据是与声音波形各个声音信号对应的信号帧的数据。

其中,声音波形可以是声源(如说话人)发出声音对应的声音波形,在本发明中可以通过相应的声源检测装置检测声音波形。声音波形可以正弦波表示的参数,其可以包括振幅和频率,即声音变化的高度和变化的频率,振幅可以表示音量,频率可以表示音调。通过获取声源发出的声音的幅度和声音频率,确定出声音波形;从声源开始发出声音到结束发声,可以得到一个完整的声音波形。

每一个完整的声音波形,会包括多个声音信号,每个声音信号对应有声音振幅的幅度和变化频率,其中,声音振幅的幅度可以是音量的高度,不同的声音信号,其声音幅度是不同的。本发明中,利用每一个声音波形中振幅幅度表示声音波形中的多帧数据的能量值,即每帧数据的能量值是不断变化,一般而言,声音波形中的能量值由开始的很小的能量值,上升到高度能量值,然后能量值会下降,直到结束发声时,能量值也会消失。由于声音波形是相对于声音信号线上下波动,因此,振幅幅度会上下波形,则对应的能量值也会上下波形,声音波形中多帧数据的能量值可以包括正数和负数。

对于本发明实施例,在获取声音波形中的多帧数据的能量值之前,该方法还可以包括:采集多个声音信号,得到声音波形;对声音波形进行分帧处理,得到多个声音信号帧,其中,每个声音信号帧对应的声音信号的数量是相同的。

即可以对声源发出的声音信号进行采集,确定出声音波形,然后可以将采集到的声音信号进行分帧处理,本发明中可以设置每帧的声音信号的数量是一致的,例如,每帧声音信号长度为n,该n可以是根据不同的声音波形自行设置,如10。

需要说明的是,上述步骤s302可以包括:获取声音波形中的连续多帧数据,其中,多帧数据为大于等于两帧的数据;获取与连续多帧数据中每帧数据对应的能量值。

上述实施方式中,若对声音波形分帧处理后,可以获取连续多帧数据,本发明中对具体的多帧数据的数量不做具体限制,例如,10个、13个等。为了更好确定包络线和对应的包络线斜率,本发明中在分帧处理后,需要获取连续的多帧数据,以得到完整的包络线。并且,本发明实施例中,需要对每帧数据对应的能量值进行获取,以用于后续的包络线斜率的计算。

可选的,得到多个声音信号帧之后,该方法还包括:根据预设操作方式,确定每个声音信号帧对应的总能量值。由于能量值对应于声音波形中每个声音振幅的幅度,因此,在计算时可以通过对各个幅度值进行获取,然后通过预设操作方式计算每帧的总能量值和总幅度值。其中,预设操作方式可以包括多种,本发明中举出一例进行说明,可以获取对每个声音信号的振幅幅度,确定声音信号的能量值。由于能量值包括正数和负数,本发明在计算总幅度值时,可以对每帧数据中的多个幅度值取绝对值,然后累加,从而得到总幅度值;另外,本发明在计算总能量值时,可以将每帧数据对应的能量值平方后累加,得到总能量值。对应于每帧数据,可以确定出连续多帧数据的包络线,其中,该包络线可以是表示声音波形对应的幅度变化曲线,或者,表示声音波形中对应的能量值变化曲线,其根据声音波形的整体变化出。

步骤s304,根据预设计算方式,确定与多帧数据的能量值对应的包络线斜率。

其中,可以先确定出每个声音波形对应的包络线(如图1中在声音波形上方所示的包络线),一般而言,随着声音高低的变化幅度,包络线也是先上升然后下降,在开始上升时,可以表示声源开始发声,在包络线开始下降时,表示声源要结束发声。

可选的,上述根据预设计算方式,确定与多帧数据的能量值对应的包络线斜率包括:根据多帧数据中每帧数据对应的能量值和预设计算方式,确定包络线斜率,其中,预设计算方式为其中,m为声音波形中的信号帧数据的总量,v1表示多帧数据中初始时间所指示的信号帧数据对应的能量值,vi是表示多帧数据中第i个时间所指示的信号帧数据对应的能量值。

上述的预设计算方式中,m可以大于等于2,连续m帧数据的能量值的包络线斜率(可以用a表示)。本发明中可以将连续m帧数据的能量值表示v1、v2、、、vm,其中,v1对应的时间最早,可以表示第一帧。上述预设计算方式中的v1表示的连续多帧数据中的初始时间所指示的信号帧数据对应的能量值,该连续多帧数据可能包括多种情况,例如,从声音波形最开始时间提取的连续多帧数据,也可能是从中间某一信号数据帧开始获取的连续多帧数据,这样,v1所表示的初始时间就是相对于获取的多帧数据中对应的初始时间。

而对于预设计算方式,不仅可以包括上述的计算方式,还可以包括(vm-v1)/v1,或者(vm-v1)/vm,或者,2(vm-v1)(vm+v1)。在计算包络线斜率时,需要根据不同的情况选择不同的计算方式。例如,以m=2,v1为100,v2为110,此时说明信号帧数据对应的能量值是上升的,这样就可以计算出包络线斜率为0.095。

步骤s306,判断包络线斜率是否大于第一预设包络线斜率,或者,判断包络线斜率是否低于第二预设包络线斜率。

其中,本发明中对于第一预设包络线斜率和第二预设包络线斜率的具体数值不做具体限定,根据具体的声源的发出的声音振幅的幅度的变化来确定,第一预设包络线斜率大于第二预设包络线斜率。通过第一预设包络线斜率确定声源开始发声,通过第二预设包络线斜率确定声源结束发声,该第一预设包络线斜率可以是正数,第二预设包络线斜率可以是负数。例如,第一预设包络线斜率为0.05,第二预设包络线斜率为-0.05。

另外,上述的包络线斜率可以是指整个包络线在各个数据点的斜率,例如,包络线开始时间段、中间时间点、结束时间点,相对于每一个连续的信号数据帧,确定多个包络线斜率。

步骤s308,在判断包络线斜率大于第一预设包络线斜率的情况下,根据包络线斜率确定当前声源方位。

可选的,上述步骤s308可以包括:在判断出包络线斜率大于第一预设包络线斜率时,确定声源开始发出声音信号;在确定声源开始发出声音信号的情况下,根据包络线斜率所对应的多帧数据,确定出每帧数据所指示的每个声音信号所在的方位;根据每帧数据所指示的每个声音信号所在的方位,确定出当前声源方位。

即在确定出包络线斜率大于第一预设包络线斜率时,确定该声源开始发声,声音振幅的幅度有明显的上升,每帧数据的能量值也会出现显著的升高,此时,可以确定声源方位。

步骤s310,在判断出包络线斜率低于第二预设包络线斜率的情况下,确定声源方位不变。

上述步骤中,在包络线斜率低于第二预设包络线斜率时,可以确定此时声源要结束发声,此时,声音的振幅幅度会有明显的下降,此时并不需要改变声源方位。若在一个封闭房间中,在声源结束发声后,可能会造成回声,这时,声源检测装置仍然可以检测到声音信号,但是,此时声音振幅幅度会下降,无需重新定位声源方位。

通过上述步骤,可以先获取声音波形中的多帧数据的能量值,根据预设计算方式,确定与该能量值对应的包络线斜率,然后可以判断计算出的包络线斜率是否大于第一预设包络线斜率,或者可以判断包络线斜率是否低于第二预设包络线斜率,并在判断出包络线斜率大于第一预设包络线斜率的情况下,根据包络线斜率确定当前声源方位,而在判断出包络线斜率低于第二预设包络线斜率的情况下,确定声源方位不变。在该实施例中,在声音信号处于发声时,声音波形会处于上升阶段,此时,包络线斜率会大于第一预设包络线斜率,这时就可以重新定位当前声源方位,而在包络线斜率低于第二预设包络线斜率时,此时,可以理解为声源停止发声,包络线斜率会有明显的下降,此时就无需定位声源了。即可以对声音信号的能量值进行监控,确定能量值变化对应的包络线斜率,这样就可以在声源结束发声时,不会重新定位声源,而不是仅仅根据声音信号的方位来确定声源位置,进而解决相关技术中由于声音反射造成声源定位出现错误的技术问题,达到有效减少混响对声源定位造成的干扰,提高声源定位的准确度。

上述实施例所示出的方法,可以减少混响对声源定位造成的干扰,该方案不仅可以应用于混响检测中,也可以用于房间回声消除中。

下面结合另一种实施例对本发明进行说明。

本发明实施例通过检测采集到信号的幅度或能量包络来减少混响对检测结果的干扰。当开始讲话时,包络线呈上升趋势,当讲话结束时,包络线呈下降趋势。本发明实施例可以通过计算包络线的斜率或相对斜率来判断当前的状态。当包络的斜率大于a时可以更新计算的角度。当包络的斜率小于b时,不更新计算的角度。

具体步骤为:

11、将采样到的信号分帧处理,每帧长度样本数为n。

12、计算一帧样本的总幅度或总能量,幅度计算方法为将每个样本取绝对值然后累加,能量计算方法为将每个样本平方后累加。

13、根据连续m帧数据(m大于等于2)的幅度或能量值计算斜率r。假设连续m帧数据的幅度或能量的值分别为v1,v2,v3,…,vm,越靠左的表示时间越早,例如,v1表示时间最早的一帧,即第一帧。计算斜率的方法可以为(vm-v1)/v1,或者(vm-v1)/vm,或者2(vm-v1)/(vm+v1),或者等等。

以m=2为例,假设v1为1000,v2为1100,此时说明能量是在上升的,按照上面几种公式计算的结果分别为:

(vm-v1)/v1=(1100-1000)/1000=0.1。

(vm-v1)/vm=(1100-1000)/1100=0.091。

2(vm-v1)/(vm+v1)=2*(1100-1000)/(1100+1000)=0.095。

的值和2(vm-v1)/(vm+v1)的值一样,也为0.095。

假设a的值为0.03,那么就可以判断出来,r>a,从而得出能量在上升,可以更新角度值。

又假设,v1为1000,v2为900,此时说明能量在下降,按照上面几个公式计算的结果分别为:

(vm-v1)/v1=(900-1000)/1000=-0.1。

(vm-v1)/vm=(900-1000)/900=-0.11。

2(vm-v1)/(vm+v1)=2*(900-1000)/(900+1000)=-0.105。

的值和2(vm-v1)/(vm+v1)的值一样,也为-0.095。

假设b的值为-0.03,那么就可以判断出来,r<b,从而得出能量在下降,不能更新角度值。

上述实施例中,根据r的值来决定是否更新角度,当r>a时,更新角度;当r<b时,不更新角度。

本发明实施例中,可以利用混响信号的包络信息,使得声源定向/定位更加准确。

图4是根据本发明实施例的声源定位装置的示意图,如图4所示,该装置可以包括:获取单元41,用于获取声音波形中的多帧数据的能量值,其中,多帧数据是与声音波形各个声音信号对应的信号帧的数据;第一确定单元43,用于根据预设计算方式,确定与多帧数据的能量值对应的包络线斜率;判断单元45,用于判断包络线斜率是否大于第一预设包络线斜率,或者,判断包络线斜率是否低于第二预设包络线斜率;第二确定单元47,用于在判断包络线斜率大于第一预设包络线斜率的情况下,根据包络线斜率确定当前声源方位;第三确定单元49,用于在判断出包络线斜率低于第二预设包络线斜率的情况下,确定声源方位不变。

通过上述实施例,可以先通过获取单元41获取声音波形中的多帧数据的能量值,通过第一确定单元43根据预设计算方式,确定与该能量值对应的包络线斜率,然后可以通过判断单元45判断计算出的包络线斜率是否大于第一预设包络线斜率,或者可以判断包络线斜率是否低于第二预设包络线斜率,并通过第二确定单元47在判断出包络线斜率大于第一预设包络线斜率的情况下,根据包络线斜率确定当前声源方位,而在通过第三确定单元49判断出包络线斜率低于第二预设包络线斜率的情况下,确定声源方位不变。在该实施例中,在声音信号处于发声时,声音波形会处于上升阶段,此时,包络线斜率会大于第一预设包络线斜率,这时就可以重新定位当前声源方位,而在包络线斜率低于第二预设包络线斜率时,此时,可以理解为声源停止发声,包络线斜率会有明显的下降,此时就无需定位声源了。即可以对声音信号的能量值进行监控,确定能量值变化对应的包络线斜率,这样就可以在声源结束发声时,不会重新定位声源,而不是仅仅根据声音信号的方位来确定声源位置,进而解决相关技术中由于声音反射造成声源定位出现错误的技术问题,达到有效减少混响对声源定位造成的干扰,提高声源定位的准确度。

其中,上述获取单元41包括:第一获取模块,用于获取声音波形中的连续多帧数据,其中,多帧数据为大于等于两帧的数据;第二获取模块,用于获取与连续多帧数据中每帧数据对应的能量值。

上述的声源定位装置还可以包括处理器和存储器,上述获取单元41、第一确定单元43、判断单元45、第二确定单元47、第三确定单元49等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来减少混响对声源定位造成的干扰。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的声源定位方法。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的声源定位方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取声音波形中的多帧数据的能量值,其中,多帧数据是与声音波形各个声音信号对应的信号帧的数据;根据预设计算方式,确定与多帧数据的能量值对应的包络线斜率;判断包络线斜率是否大于第一预设包络线斜率,或者,判断包络线斜率是否低于第二预设包络线斜率;在判断包络线斜率大于第一预设包络线斜率的情况下,根据包络线斜率确定当前声源方位;在判断出包络线斜率低于第二预设包络线斜率的情况下,确定声源方位不变。

可选地,上述处理器执行程序时,还可以获取声音波形中的连续多帧数据,其中,多帧数据为大于等于两帧的数据;获取与连续多帧数据中每帧数据对应的能量值。

可选地,上述处理器执行程序时,还可以根据多帧数据中每帧数据对应的能量值和预设计算方式,确定包络线斜率,其中,预设计算方式为其中,m为声音波形中的信号帧数据的总量,v1表示多帧数据中初始时间所指示的信号帧数据对应的能量值,vi是表示多帧数据中第i个时间所指示的信号帧数据对应的能量值。

可选地,上述处理器执行程序时,还可以采集多个声音信号,得到声音波形;对声音波形进行分帧处理,得到多个声音信号帧,其中,每个声音信号帧对应的声音信号的数量是相同的。

可选地,上述处理器执行程序时,还可以根据预设操作方式,确定每个声音信号帧对应的总能量值。

可选地,上述处理器执行程序时,还可以在判断出包络线斜率大于第一预设包络线斜率时,确定声源开始发出声音信号;在确定声源开始发出声音信号的情况下,根据包络线斜率所对应的多帧数据,确定出每帧数据所指示的每个声音信号所在的方位;根据每帧数据所指示的每个声音信号所在的方位,确定出当前声源方位。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取声音波形中的多帧数据的能量值,其中,多帧数据是与声音波形各个声音信号对应的信号帧的数据;根据预设计算方式,确定与多帧数据的能量值对应的包络线斜率;判断包络线斜率是否大于第一预设包络线斜率,或者,判断包络线斜率是否低于第二预设包络线斜率;在判断包络线斜率大于第一预设包络线斜率的情况下,根据包络线斜率确定当前声源方位;在判断出包络线斜率低于第二预设包络线斜率的情况下,确定声源方位不变。

可选地,上述数据处理设备执行程序时,还可以获取声音波形中的连续多帧数据,其中,多帧数据为大于等于两帧的数据;获取与连续多帧数据中每帧数据对应的能量值。

可选地,上述数据处理设备执行程序时,还可以根据多帧数据中每帧数据对应的能量值和预设计算方式,确定包络线斜率,其中,预设计算方式为其中,m为声音波形中的信号帧数据的总量,v1表示多帧数据中初始时间所指示的信号帧数据对应的能量值,vi是表示多帧数据中第i个时间所指示的信号帧数据对应的能量值。

可选地,上述数据处理设备执行程序时,还可以采集多个声音信号,得到声音波形;对声音波形进行分帧处理,得到多个声音信号帧,其中,每个声音信号帧对应的声音信号的数量是相同的。

可选地,上述数据处理设备执行程序时,还可以根据预设操作方式,确定每个声音信号帧对应的总能量值。

可选地,上述数据处理设备执行程序时,还可以在判断出包络线斜率大于第一预设包络线斜率时,确定声源开始发出声音信号;在确定声源开始发出声音信号的情况下,根据包络线斜率所对应的多帧数据,确定出每帧数据所指示的每个声音信号所在的方位;根据每帧数据所指示的每个声音信号所在的方位,确定出当前声源方位。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

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

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

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

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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