一种声源定位方法、装置及设备与流程
本发明涉及声音处理技术领域,特别是指一种声源定位方法、装置及设备。
背景技术:
一些场景中,通常需要对声源进行定位;比如,在车载环境中,需要通过声源定位,判断语音指令来自于主驾还是副驾;再比如,在舞台上,需要通过声源定位,对发出声音的表演者进行追光,等等。
一些相关的声源定位方案中,通常使用多个接收机采集声源发出的声音信号,然后采用doa(directionofarrival,声源方向到达)估计的方式,来确定每个接收机到声源的波达方向线,这样便得到了多条波达方向线,这多条波达方向线的交点即为声源的位置。
但是在实际场景中,环境中的噪声通常会影响声源定位的准确性,比如,车载环境中的胎噪、风噪以及回声残余等都会使得声源定位不准确。
技术实现要素:
有鉴于此,本发明的目的在于提出一种声源定位方法、装置及设备,以提高声源定位的准确性。
基于上述目的,本发明提供了一种声源定位方法,包括:
获取多路声音信号;
解析得到其中一路声音信号对应的语音增强参数,并利用所述语音增强参数对所述多路声音信号进行语音增强处理;
基于语音增强处理后的各路声音信号,确定声源的位置。
可选的,所述解析得到其中一路声音信号对应的语音增强参数,并利用所述语音增强参数对所述多路声音信号进行语音增强处理,包括:
解析得到其中一路声音信号对应的回声抑制参数,并利用所述回声抑制参数对所述多路声音信号进行回声抑制;
解析得到回声抑制后的其中一路声音信号对应的降噪参数,并利用所述降噪参数对回声抑制后的各路声音信号进行噪声抑制。
可选的,在所述获取多路声音信号之后,还包括:对所述多路声音信号进行线性回声消除;
所述解析得到其中一路声音信号对应的回声抑制参数,包括:
针对所述多路声音信号中的其中一路声音信号,基于所针对的一路声音信号对应的原始信号、参考回声信号以及经过线性回声消除后的信号之间的互相关性,计算所针对的一路声音信号对应的回声抑制参数。
可选的,所述解析得到回声抑制后的其中一路声音信号对应的降噪参数,并利用所述降噪参数对回声抑制后的各路声音信号进行噪声抑制,包括:
利用维纳滤波算法,解析得到回声抑制后的其中一路声音信号对应的维纳滤波降噪参数,并基于所述维纳滤波降噪参数对回声抑制后的各路声音信号进行噪声抑制。
可选的,在所述解析得到回声抑制后的其中一路声音信号对应的降噪参数之后,还包括:根据所述降噪参数中的噪声估计值,计算其中一路声音信号的信噪比;
所述基于语音增强处理后的各路声音信号,确定声源的位置,包括:
根据所述信噪比,在噪声抑制后的各路声音信号中截取语音数据;
基于所截取的语音数据,确定声源的位置。
可选的,所述方法还包括:
利用定向波束形成算法,计算所述多路声音信号在波束形成后指向第一预设方向的第一信号能量、以及所述多路声音信号在波束形成后指向第二预设方向的第二信号能量;
所述基于语音增强处理后的各路声音信号,确定声源的位置,包括:
基于语音增强处理后的各路声音信号、以及所述第一信号能量和所述第二信号能量,确定声源的位置指向第一预设方向还是第二预设方向。
可选的,所述获取多路声音信号,包括:获取车载麦克风阵列采集的多路声音信号;
所述第一预设方向为主驾驶位置所在的方向,所述第二预设方向为副驾驶位置所在的方向。
基于上述目的,本发明还提供了一种声源定位装置,包括:
获取模块,用于获取多路声音信号;
语音增强模块,用于解析得到其中一路声音信号对应的语音增强参数,并利用所述语音增强参数对所述多路声音信号进行语音增强处理;
声源定位模块,用于基于语音增强处理后的各路声音信号,确定声源的位置。
可选的,所述语音增强模块,包括:
回声抑制子模块,用于解析得到其中一路声音信号对应的回声抑制参数,并利用所述回声抑制参数对所述多路声音信号进行回声抑制;
噪声抑制子模块,用于解析得到回声抑制后的其中一路声音信号对应的降噪参数,并利用所述降噪参数对回声抑制后的各路声音信号进行噪声抑制。
可选的,所述装置还包括:
线性回声消除模块,用于对所述多路声音信号进行线性回声消除;
所述回声抑制子模块,还用于针对所述多路声音信号中的其中一路声音信号,基于所针对的一路声音信号对应的原始信号、参考回声信号以及经过线性回声消除后的信号之间的互相关性,计算所针对的一路声音信号对应的回声抑制参数。
可选的,所述噪声抑制子模块,具体用于:
利用维纳滤波算法,解析得到回声抑制后的其中一路声音信号对应的维纳滤波降噪参数,并基于所述维纳滤波降噪参数对回声抑制后的各路声音信号进行噪声抑制。
可选的,所述装置还包括:
计算模块,用于根据所述降噪参数中的噪声估计值,计算其中一路声音信号的信噪比;
所述声源定位模块,具体用于:
根据所述信噪比,在噪声抑制后的各路声音信号中截取语音数据;基于所截取的语音数据,确定声源的位置。
可选的,所述装置还包括:
波束成形模块,用于利用定向波束形成算法,计算所述多路声音信号在波束形成后指向第一预设方向的第一信号能量、以及所述多路声音信号在波束形成后指向第二预设方向的第二信号能量;
所述声源定位模块,具体用于:
基于语音增强处理后的各路声音信号、以及所述第一信号能量和所述第二信号能量,确定声源的位置指向第一预设方向还是第二预设方向。
可选的,所述获取模块,具体用于:获取车载麦克风阵列采集的多路声音信号;
所述第一预设方向为主驾驶位置所在的方向,所述第二预设方向为副驾驶位置所在的方向。
基于上述目的,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种声源定位方法。
基于上述目的,本发明还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种声源定位方法。
应用本发明实施例,第一方面,先对各路声音信号进行语音增强处理,再基于语音增强处理后的各路声音信号确定声源的位置,语音增强处理减少了环境噪声的影响,提高了声源定位的准确性,第二方面,获取一路声音信号对应的语音增强参数,利用该语音增强参数,对其他路声音信号进行语音增强处理,也就是说,只针对一路声音信号计算其语音增强参数,这样降低了计算复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的声源定位方法的第一种流程示意图;
图2为本发明实施例提供的一种场景示意图;
图3为本发明实施例提供的声源定位方法的第二种流程示意图;
图4为本发明实施例提供的一种具体实施方式示意图;
图5为本发明实施例提供的一种声源定位装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
为了解决上述技术问题,本发明实施例提供了一种声源定位方法、装置及设备,该方法及装置可以应用于各种电子设备,比如车载设备,或者声音采集设备等,具体不做限定。下面首先对发明实施例提供的声源定位方法进行介绍。
图1为本发明实施例提供的声源定位方法的第一种流程示意图,包括:
s101:获取多路声音信号。
举例来说,执行本方案的电子设备(执行主体,以下简称为本电子设备)中可以内置声音采集模块,通过该声音采集模块采集多路声音信号;或者,本电子设备可以与其他声音采集设备通信连接,获取该声音采集设备采集的多路声音信号。该声音采集模块或者声音采集设备可以为麦克风阵列,麦克风阵列可以采集得到多路声音信号(一个麦克风可以采集得到一路声音信号),该麦克风阵列可以为圆形的阵列、或者线性的阵列等等,麦克风阵列的具体阵列形状不做限定。
s102:解析得到其中一路声音信号对应的语音增强参数,并利用该语音增强参数对该多路声音信号进行语音增强处理。
该“其中一路声音信号”可以为s101中获取的多路声音信号中的任意一路声音信号,举例来说,语音增强处理可以包括回声抑制和噪声抑制,相应的,语音增强参数可以包括回声抑制参数和降噪参数。
一种实施方式中,s102可以包括:解析得到其中一路声音信号对应的回声抑制参数,并利用所述回声抑制参数对所述多路声音信号进行回声抑制;解析得到回声抑制后的其中一路声音信号对应的降噪参数,并利用所述降噪参数对回声抑制后的各路声音信号进行噪声抑制。
本实施方式中,先进行回声抑制再进行噪声抑制,或者,也可以先进行噪声抑制再进行回声抑制,具体顺序不做限定。
一种实施方式中,在s101之后可以先对s101中获取到的多路声音信号进行线性回声消除,然后再对其中一路声音信号进行残余回声抑制。比如,可以采用自适应滤波方法,对麦克风阵列采集的每路声音信号进行线性回声消除,然后再选择一路经过线性回声消除后的信号,计算其残余回声抑制参数,利用该残余回声抑制参数,对各路经过线性回声消除后的声音信号进行残余回声抑制。
这种实施方式中,解析得到其中一路声音信号对应的回声抑制参数,可以包括:针对所述多路声音信号中的其中一路声音信号,基于所针对的一路声音信号对应的原始信号、参考回声信号以及经过线性回声消除后的信号之间的互相关性,计算所针对的一路声音信号对应的回声抑制参数。
原始信号为麦克风阵列采集到的原始信号,s101中获取到的声音信号即可以为理解为原始信号。参考回声信号为用来作为参考的回声信号,比如,在用户与智能音箱进行交互的过程中,智能音箱中的麦克风采集用户发出的语音信号的情况下,可以将智能音箱自身发出的声音信号作为参考回声信号。经过线性回声消除后的信号即为对原始信号进行线性回声消除后得到的信号。
本实施方式中,可以采用如下算式,计算所针对的一路声音信号对应的回声抑制参数:
αes=min(c1,1-c2)
其中,c1表示该一路声音信号对应的原始信号与经过线性回声消除后的信号之间的互相关谱,c2表示该一路声音信号对应的原始信号与参考回声信号之间的互相关谱。
本实施方式中,该一路声音信号对应的回声抑制参数适用于其他各路声音信号,利用该回声抑制参数对各路声音信号进行回声抑制。举例来说,可以并行对各路声音信号进行回声抑制,或者,也可以按照预设顺序对各路声音信号进行回声抑制,具体顺序不做限定。
举例来说,可以利用多种降噪算法对声音信号进行噪声抑制;比如,一种实施方式中,可以利用维纳滤波算法,解析得到回声抑制后的其中一路声音信号对应的维纳滤波降噪参数,并基于所述维纳滤波降噪参数对回声抑制后的各路声音信号进行噪声抑制。
本实施方式中的“其中一路声音信号”与上述“解析得到其中一路声音信号对应的回声抑制参数”中的“其中一路声音信号”可以为同一路声音信号,也可以为不同路的声音信号。
比如,假设s101中获取到m路声音信号(m表示大于1的正整数),上述内容中选择对第n(n表示1-m中的任意正整数)路声音信号进行解析,得到残余回声抑制参数,这里可以仍选择对第n路声音信号进行解析,得到维纳滤波降噪参数,或者,也可以选择另外一路声音信号进行解析,得到维纳滤波降噪参数。
以对第n路声音信号进行解析为例进行说明,可以对第n路经过残余回声抑制的声音信号进行噪声频谱估计,比如,可以将频谱划分为多个子带谱,跟踪声音信号在每个子带谱中的最小值,将该最小值作为噪声谱,利用维纳滤波算法和该噪声谱,可以对声音信号进行噪声抑制。
本实施方式中,该一路声音信号对应的降噪参数适用于其他各路声音信号,利用该降噪参数对各路声音信号进行噪声抑制。举例来说,可以并行对各路声音信号进行噪声抑制,或者,也可以按照预设顺序对各路声音信号进行噪声抑制,具体顺序不做限定。
s103:基于语音增强处理后的各路声音信号,确定声源的位置。
举例来说,可以采用互相关法确定声源的位置,以两路声音信号为例来说:假设语音增强处理后的两路声音信号在第i帧第j个频点处的频谱分别表示为si,j1和si,j2,第i帧第j个频点处这两路声音信号的互相关谱ri,j可表示为:
其中,λ1表示平滑系数,λ1可以为预先设定的经验值,ri-1,j表示第i-1帧第j个频点处这两路声音信号的互相关谱,conj表示复数的共轭。
一般来说,声源定位与麦克风阵列中各种麦克风接收声音信号的相位差相关,在得到互相关谱后,可以取互相关谱的相位信息
相位信息转换到时域上即为麦克风接收信号的时延差τ。对
在得到时延差之后,可以根据麦克风之间的间距d以及声波传播速度c确定声源方向:
可以采用doa(directionofarrival,声源方向到达)估计的方式计算得到θs。
举例来说,在车载环境中,可以将麦克风阵列设置于主驾和副驾中间,可以预先设定角度坐标系,该角度坐标系可以以麦克风阵列的中心为原点,在该角度坐标系中,分别确定主驾和副驾所在方向对应的角度范围,这样,便可以根据θs判断声源来自主驾方向还是副驾方向。比如,可以参考图2所示,将与车辆行驶方向垂直的方向作为90度和-90度,主驾所在方向对应的角度范围为0—-90度,主驾对应的θs约为-45度,副驾所在方向对应的角度范围为0—90度,副驾对应的约为45度。
再举一例,在舞台环境中,可以将麦克风阵列设置于舞台中央,可以预先设定角度坐标系,该角度坐标系可以以麦克风阵列的中心为原点,在该角度坐标系中,分别确定舞台各位置对应的角度范围,这样,便可以根据θs判断声源在舞台中的位置。
上述一种实施方式中,对经过残余回声抑制的声音信号进行噪声频谱估计,这样可以得到噪声估计值,噪声估计值也可以理解为属于降噪参数,一种情况下,可以根据该噪声估计值,计算其中一路声音信号的信噪比;这种情况下,s103可以包括:根据所述信噪比,在噪声抑制后的各路声音信号中截取语音数据;基于所截取的语音数据,确定声源的位置。
本实施方式中的“其中一路声音信号”与上述“解析得到其中一路声音信号对应的回声抑制参数”中的“其中一路声音信号”、以及上述“解析得到回声抑制后的其中一路声音信号对应的维纳滤波降噪参数”中的“其中一路声音信号”可以为同一路声音信号,也可以为不同路的声音信号。
延续上述例子,可以仍选择第n路声音信号进行语音端点检测,或者,也可以选择另外一路声音信号进行语音端点检测。以对第n路声音信号进行语音端点检测为例进行说明,根据上述噪声估计值可以得到第n路声音信号中每帧信号的信噪比。一种情况下,可以仅利用部分频带内的数据计算信噪比,比如仅利用200hz-2500hz频带内的数据计算信噪比,一般来说,语音数据在这部分频带内能量较强,仅针对这部分频带内的数据计算信噪比,运算更合理,减少了运算量。
计算得到第n路声音信号的信噪比后,该信噪比可以适用于其他各路声音信号。比如,可以判断一帧信号的信噪比是否大于预设阈值,如果大于,则表示该帧信号为语音数据,该帧信号可以用于声源定位,如果不大于,则表示该帧信号不为语音数据,该帧信号可以不用于声源定位。一种情况下,该预设阈值可以为16,或者也可以为其他数值,具体不做限定。
一些场景中,声源定位是为了确定用户的位置,这种场景中,应用本实施方式,仅截取声音信号中的语音数据,基于语音数据进行声源定位,定位效果较佳。
上述内容中,可以将一路声音信号对应的回声抑制参数、降噪参数、信噪比等参数复用到其他路声音信号,计算得到这些参数的过程与声音信号的相位无关,因而复用这些参数不会影响到各路信号之间的相位差,一般来说,声源定位与各路信号之间的相位差相关,这样,复用这些参数便不会降低声源定位结果的准确性。
一种实施方式中,可以每隔预设数量帧声音信号,进行一次声源定位,该预设数量不做限定。
一种实施方式中,可以利用定向波束形成算法,计算所述多路声音信号在波束形成后指向第一预设方向的第一信号能量、以及所述多路声音信号在波束形成后指向第二预设方向的第二信号能量;这种实施方式中,s103可以包括:基于语音增强处理后的各路声音信号、以及所述第一信号能量和所述第二信号能量,确定声源的位置指向第一预设方向还是第二预设方向。
举例来说,在车载环境中,需要判断声源方向为主驾方向还是副驾方向,这种情况下,第一预设方向可以为主驾驶位置所在的方向(以下简称为主驾方向),第二预设方向可以为副驾驶位置所在的方向(以下简称为副驾方向)。这种情况下,可以获取车载麦克风阵列采集的多路声音信号,并且利用定向波束形成算法,计算所述多路声音信号在波束形成后指向主驾方向的第一信号能量、以及所述多路声音信号在波束形成后指向副驾方向的第二信号能量。
假设指向主驾方向的波束形成后的信号的第i帧第j个频点处的频谱为si,jdriver,指向副驾方向的波束形成后的信号的第i帧第j个频点处的频谱为si,jcodriver,假设第一信号能量为pidriver,第二信号能量为picodriver,
其中,λ2和λ3表示平滑系数,λ2和λ3可以为预先设定的经验值,λ2和λ3可以为相同的数值,也可以为不同的数值,pi-1driver表示第i-1帧时多路声音信号在波束形成后指向主驾方向的信号能量,pi-1codriver表示第i-1帧时多路声音信号在波束形成后指向副驾方向的信号能量。
这种实施方式中,s103可以包括:按照如下算式确定声源的位置:
上式中的“driverdirection”表示主驾方向,“codriverdirection”表示副驾方向,“doesnotchange”表示仅基于语音增强处理后的各路声音信号,不借助第一信号能量和第二信号能量,确定声源方向,或者说“doesnotchange”表示仅基于θs确定声源方向。延续图2例子,将与车辆行驶方向垂直的方向作为90度和-90度,主驾所在方向对应的θs范围为0—-90度,副驾所在方向对应的θs范围为0—90度。
本实施方式中,借助主驾方向和副驾方向在波束形成后的信号能量作为辅助因子,结合语音增强处理后的各路声音信号,能够更准确地进行声源定位。
应用本发明实施例,第一方面,先对各路声音信号进行语音增强处理,再基于语音增强处理后的各路声音信号确定声源的位置,语音增强处理减少了环境噪声的影响,提高了声源定位的准确性。第二方面,获取一路声音信号对应的语音增强参数,利用该语音增强参数,对其他路声音信号进行语音增强处理(将该语音增强参数复用至其他路声音信号),也就是说,只针对一路声音信号计算语音增强参数,这样降低了计算复杂度,降低了电子设备的内存占用率,如果电子设备为车载设备,可以提高车载设备整体的使用性能;而且将语音增强参数复用至其他路声音信号不会影响各路信号之间的相位差,进而也就不会降低声源定位结果的准确性。第三方面,借助主驾方向和副驾方向在波束形成后的信号能量作为辅助因子,结合语音增强处理后的各路声音信号,能够更准确地进行声源定位。
图3为本发明实施例提供的声源定位方法的第二种流程示意图,包括:
s301:获取车载麦克风阵列采集的多路声音信号。
图3所示实施例可以应用于车载环境中,判断声源方向为主驾方向还是副驾方向。举例来说,执行本方案的电子设备可以为车载麦克风阵列,或者也可以为与车载麦克风阵列通信连接的其他设备。该麦克风阵列可以为圆形的阵列、或者线性的阵列等等,麦克风阵列的具体阵列形状不做限定。
s302:对该多路声音信号进行线性回声消除。
比如,可以采用自适应滤波方法,对麦克风阵列采集的每路声音信号进行线性回声消除。
s303:针对该多路声音信号中的其中一路声音信号,基于该一路声音信号对应的原始信号、参考回声信号以及经过线性回声消除后的信号之间的互相关性,计算该一路声音信号对应的回声抑制参数。
该“其中一路声音信号”可以为s301中获取的多路声音信号中的任意一路声音信号。原始信号为麦克风阵列采集到的原始信号,s301中获取到的声音信号即可以为理解为原始信号。参考回声信号为用来作为参考的回声信号,比如,在用户与智能音箱进行交互的过程中,智能音箱中的麦克风采集用户发出的语音信号的情况下,可以将智能音箱自身发出的声音信号作为参考回声信号。经过线性回声消除后的信号即为对原始信号进行线性回声消除后得到的信号。
本实施方式中,可以采用如下算式,计算一路声音信号对应的回声抑制参数:
αes=min(c1,1-c2)
其中,c1表示该一路声音信号对应的原始信号与经过线性回声消除后的信号之间的互相关谱,c2表示该一路声音信号对应的原始信号与参考回声信号之间的互相关谱。
s304:利用该回声抑制参数,对经过线性回声消除后的信号后的各路声音信号进行回声抑制。
本实施方式中,该一路声音信号对应的回声抑制参数适用于其他各路声音信号,利用该回声抑制参数对各路声音信号进行回声抑制。举例来说,可以并行对各路声音信号进行回声抑制,或者,也可以按照预设顺序对各路声音信号进行回声抑制,具体顺序不做限定。
s305:利用维纳滤波算法,解析得到回声抑制后的其中一路声音信号对应的维纳滤波降噪参数,并基于该维纳滤波降噪参数对回声抑制后的各路声音信号进行噪声抑制。
s305中的“其中一路声音信号”与s303中的“其中一路声音信号”可以为同一路声音信号,也可以为不同路的声音信号。
以解析得到第n路声音信号对应的维纳滤波降噪参数为例进行说明,可以对第n路经过残余回声抑制的声音信号进行噪声频谱估计,比如,可以将频谱划分为多个子带谱,跟踪声音信号在每个子带谱中的最小值,将该最小值作为噪声谱,利用维纳滤波算法和该噪声谱,可以对声音信号进行噪声抑制。
本实施方式中,该一路声音信号对应的降噪参数适用于其他各路声音信号,利用该降噪参数对各路声音信号进行噪声抑制。举例来说,可以并行对各路声音信号进行噪声抑制,或者,也可以按照预设顺序对各路声音信号进行噪声抑制,具体顺序不做限定。
s306:根据维纳滤波降噪参数中的噪声估计值,计算其中一路声音信号的信噪比。
上述内容中,对经过残余回声抑制的声音信号进行噪声频谱估计,这样可以得到噪声估计值,噪声估计值也可以理解为属于降噪参数,一种情况下,可以根据该噪声估计值,计算其中一路声音信号的信噪比。
s306中的“其中一路声音信号”与s305中的“其中一路声音信号”、以及s303中的“其中一路声音信号”可以为同一路声音信号,也可以为不同路的声音信号。s306-s307可以理解为对声音信号进行语音端点检测。
延续上述例子,可以仍选择第n路声音信号进行语音端点检测,或者,也可以选择另外一路声音信号进行语音端点检测。以对第n路声音信号进行语音端点检测为例进行说明,根据上述噪声估计值可以得到第n路声音信号中每帧信号的信噪比。一种情况下,可以仅利用部分频带内的数据计算信噪比,比如仅利用200hz-2500hz频带内的数据计算信噪比,一般来说,语音数据在这部分频带内能量较强,仅针对这部分频带内的数据计算信噪比,运算更合理,减少了运算量。
s307:根据该信噪比,在噪声抑制后的各路声音信号中截取语音数据。
计算得到第n路声音信号的信噪比后,该信噪比可以适用于其他各路声音信号。比如,可以判断一帧信号的信噪比是否大于预设阈值,如果大于,则表示该帧信号为语音数据,该帧信号可以用于声源定位,如果不大于,则表示该帧信号不为语音数据,该帧信号可以不用于声源定位。一种情况下,该预设阈值可以为16,或者也可以为其他数值,具体不做限定。
车载场景中,声源定位可以确定声源方向为主驾方向还是副驾方向,这种场景中,仅截取声音信号中的语音数据,基于语音数据进行声源定位,定位效果较佳。
s308:利用定向波束形成算法,计算噪声抑制后的各路声音信号在波束形成后指向主驾方向的第一信号能量和指向副驾方向的第二信号能量。
假设指向主驾方向的波束形成后的信号的第i帧第j个频点处的频谱为si,jdriver,指向副驾方向的波束形成后的信号的第i帧第j个频点处的频谱为si,jcodriver,假设第一信号能量为pidriver,第二信号能量为picodriver,
其中,λ2和λ3表示平滑系数,λ2和λ3可以为预先设定的经验值,λ2和λ3可以为相同的数值,也可以为不同的数值,pi-1driver表示第i-1帧时多路声音信号在波束形成后指向主驾方向的信号能量,pi-1codriver表示第i-1帧时多路声音信号在波束形成后指向副驾方向的信号能量。
s308与s306-s307的执行顺序不做限定。
s309:基于所截取的语音数据、以及第一信号能量和第二信号能量,确定声源的位置指向主驾方向还是副驾方向。
可以先基于所截取的语音数据,计算声源角度θs:
可以采用互相关法确定声源的位置,以两路语音数据为例来说:假设这两路语音数据在第i帧第j个频点处的频谱分别表示为si,j1和si,j2,第i帧第j个频点处这两路语音数据的互相关谱ri,j可表示为:
其中,λ1表示平滑系数,λ1可以为预先设定的经验值,ri-1,j表示第i-1帧第j个频点处这两路语音数据的互相关谱,conj表示复数的共轭。
一般来说,声源定位与麦克风阵列中各种麦克风接收声音信号的相位差相关,在得到互相关谱后,可以取互相关谱的相位信息
相位信息转换到时域上即为麦克风接收信号的时延差τ。对
在得到时延差之后,可以根据麦克风之间的间距d以及声波传播速度c确定声源角度:
可以采用doa(directionofarrival,声源方向到达)估计的方式计算得到θs。
举例来说,在车载环境中,可以将麦克风阵列设置于主驾和副驾中间,可以预先设定角度坐标系,该角度坐标系可以以麦克风阵列的中心为原点,在该角度坐标系中,分别确定主驾和副驾所在方向对应的角度范围,这样,便可以根据θs判断声源来自主驾方向还是副驾方向。比如,参考图2所示,将与车辆行驶方向垂直的方向作为90度和-90度,主驾所在方向对应的角度范围为0—-90度,副驾所在方向对应的角度范围为0—90度。
然后结合θs、第一信号能量和第二信号能量,确定声源的位置指向主驾方向还是副驾方向。延续图2所示例子,可以按照如下算式,确定声源的位置指向主驾方向还是副驾方向:
上式中的“driverdirection”表示主驾方向,“codriverdirection”表示副驾方向,“doesnotchange”表示仅基于语音增强处理后的各路声音信号,不借助第一信号能量和第二信号能量,确定声源方向,或者说“doesnotchange”表示仅基于θs确定声源方向。
一种实施方式中,可以每隔预设数量帧声音信号,进行一次声源定位,该预设数量不做限定。
下面参考图4以两路麦克风为例介绍一种具体的实施方式:
本电子设备(执行主体)中可以包括回声消除及抑制模块、噪声抑制模块、语音端点检测模块、波束成形模块和声源定位模块。
将这两路麦克风采集的两路声音信号输入至回声消除及抑制模块,回声消除及抑制模块分别对这两路声音信号进行线性回声消除,然后针对线性回声消除后的其中一路声音信号,基于这一路声音信号对应的原始信号、参考回声信号以及经过线性回声消除后的信号之间的互相关性,计算这一路声音信号对应的回声抑制参数;该回声抑制参数可以复用至另一路声音信号,或者说,利用该回声抑制参数,对这两路线性回声消除后的声音信号进行残余回声抑制。
然后将残余回声抑制后的两路声音信号输入至噪声抑制模块,噪声抑制模块针对残余回声抑制后的其中一路声音信号,利用维纳滤波算法,解析得到这一路声音信号对应的维纳滤波降噪参数;该维纳滤波降噪参数可以复用至另一路声音信号,或者说,利用该维纳滤波降噪参数,对这两路残余回声抑制后的声音信号进行噪声抑制。
然后将噪声抑制后的两路声音信号输入至语音端点检测模块和波束成形模块。
语音端点检测模块针对噪声抑制后的其中一路声音信号,对其进行语音端点检测。比如,可以根据噪声抑制过程中得到的噪声估计值,计算得到每帧信号的信噪比。一种情况下,可以仅利用部分频带内的数据计算信噪比,比如仅利用200hz-2500hz频带内的数据计算信噪比,一般来说,语音数据在这部分频带内能量较强,仅针对这部分频带内的数据计算信噪比,运算更合理,减少了运算量。计算得到的信噪比可以复用至另一路声音信号,或者说,利用该信噪比,对这两路噪声抑制后的声音信号进行语音截取,然后将截取的两路语音数据输入至声源定位模块。
波束成形模块利用定向波束形成算法,计算噪声抑制后的两路声音信号在波束形成后指向第一预设方向的第一信号能量和指向第二预设方向的第二信号能量,将计算结果输入至声源定位模块。
声源定位模块结合语音端点检测模块输入的两路语音数据和波束成形模块输入的定向波束形成的计算结果,对声源进行定位。
图4所示实施方式中仅以两路声音信号为例进行说明,对于多路声音信号的处理情况类似,不再赘述。
应用本发明实施例,第一方面,先对各路声音信号进行线性回声消除、残余回声抑制、噪声抑制、语音端点检测等语音增强处理,再基于语音增强处理后的各路声音信号确定声源的位置,语音增强处理减少了环境噪声的影响,提高了声源定位的准确性。第二方面,获取一路声音信号对应的语音增强参数(比如残余回声抑制参数、噪声抑制参数、信噪比等),利用该语音增强参数,对其他路声音信号进行语音增强处理(将该语音增强参数复用至其他路声音信号),也就是说,只针对一路声音信号计算语音增强参数,这样降低了计算复杂度,降低了电子设备的内存占用率,如果电子设备为车载设备,可以提高车载设备整体的使用性能;而且将语音增强参数复用至其他路声音信号不会影响各路信号之间的相位差,进而也就不会降低声源定位结果的准确性。第三方面,借助主驾方向和副驾方向在波束形成后的信号能量作为辅助因子,结合语音增强处理后的各路声音信号,能够更准确地进行声源定位。
与上述方法实施例相对应,本发明实施例还提供了一种声源定位装置,参考图5,图5为本发明实施例提供的一种声源定位装置的结构示意图,包括:
获取模块501,用于获取多路声音信号;
语音增强模块502,用于解析得到其中一路声音信号对应的语音增强参数,并利用所述语音增强参数对所述多路声音信号进行语音增强处理;
声源定位模块503,用于基于语音增强处理后的各路声音信号,确定声源的位置。
作为一种实施方式,语音增强模块502包括:回声抑制子模块和噪声抑制子模块(图中未示出),其中,
回声抑制子模块,用于解析得到其中一路声音信号对应的回声抑制参数,并利用所述回声抑制参数对所述多路声音信号进行回声抑制;
噪声抑制子模块,用于解析得到回声抑制后的其中一路声音信号对应的降噪参数,并利用所述降噪参数对回声抑制后的各路声音信号进行噪声抑制。
作为一种实施方式,所述装置还包括:
线性回声消除模块(图中未示出),用于对所述多路声音信号进行线性回声消除;
所述回声抑制子模块,还用于针对所述多路声音信号中的其中一路声音信号,基于所针对的一路声音信号对应的原始信号、参考回声信号以及经过线性回声消除后的信号之间的互相关性,计算所针对的一路声音信号对应的回声抑制参数。
作为一种实施方式,所述噪声抑制子模块,具体用于:
利用维纳滤波算法,解析得到回声抑制后的其中一路声音信号对应的维纳滤波降噪参数,并基于所述维纳滤波降噪参数对回声抑制后的各路声音信号进行噪声抑制。
作为一种实施方式,所述装置还包括:
计算模块(图中未示出),用于根据所述降噪参数中的噪声估计值,计算其中一路声音信号的信噪比;
声源定位模块503,具体用于:
根据所述信噪比,在噪声抑制后的各路声音信号中截取语音数据;基于所截取的语音数据,确定声源的位置。
作为一种实施方式,所述装置还包括:
波束成形模块(图中未示出),用于利用定向波束形成算法,计算所述多路声音信号在波束形成后指向第一预设方向的第一信号能量、以及所述多路声音信号在波束形成后指向第二预设方向的第二信号能量;
声源定位模块503,具体用于:
基于语音增强处理后的各路声音信号、以及所述第一信号能量和所述第二信号能量,确定声源的位置指向第一预设方向还是第二预设方向。
作为一种实施方式,获取模块501,具体用于:获取车载麦克风阵列采集的多路声音信号;
所述第一预设方向为主驾驶位置所在的方向,所述第二预设方向为副驾驶位置所在的方向。
本实施例中的线性回声消除模块和回声抑制子模块对应于图4中的回声消除及抑制模块,本实施例中的噪声抑制子模块对应于图4中的噪声抑制模块,本实施例中的计算模块对应于图4中的语音端点检测模块,本实施例中的声源定位模块对应于图4中的声源定位模块,本实施例中的波束成形模块对应于图4中的波束成形模块。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本发明实施例还提供一种电子设备,如图6所示,包括存储器602、处理器601及存储在存储器602上并可在处理器上运行的计算机程序,处理器601执行所述程序时实现上述任一种声源定位方法。
本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任一种声源定位方法。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除