首页 > 乐器声学 专利正文
一种应用于麦克风阵列的多通道语音信号增强方法与流程

时间:2022-02-18 阅读: 作者:专利查询

一种应用于麦克风阵列的多通道语音信号增强方法与流程

1.本发明涉及语音降噪领域,尤其涉及一种应用于麦克风阵列的多通道语音信号增强方法。


背景技术:

2.传统的多通道语音增强方法主要是基于集中式的麦克风阵列,对于分布式麦克风阵列的多通道语音增强方法研究较少。集中式麦克风阵列的算法多是基于信号处理方法,比如常见的波束成形算法。按照算法参数,波束成形方法可分为固定波束形成方法和自适应波束形成方法。固定波束形成方法基于固定结构的麦克阵列,算法设置好麦克阵列的每个方向上的滤波系数,使得阵列对特定需求方向上的声源进行增强,指向性是固定的,常见的是多通道的延迟求和法;自适应波束形成算法可以不依赖麦克风的结构位置,其滤波系数可以自适应调整,适应新环境能力比较强,常见的是多通道维纳滤波法。
3.基于信号处理方法的多通道语音增强具有计算实时性好的优点,但是算法设计往往基于一定假设条件,比如假设信号是平面波传播,声场均匀绝热,噪声是平稳的等等,算法在推导过程中也有一些数学上的近似,但这与实际真实场景是不相符的,并没有考虑到降噪空间的空间特性。所以这些方法在实际应用场景中,降噪性能较难提升。


技术实现要素:

4.为了解决现有技术的问题,本发明提供了一种应用于麦克风阵列的多通道语音信号增强方法,具体技术方案如下:
5.本发明提供了一种应用于麦克风阵列的多通道语音信号增强方法,包括以下步骤:
6.s1、生成训练数据,包括:将预采集的语音数据输入模拟麦克风阵列场景以生成多通道的模拟语音数据,并将其与预采集或预处理的噪声数据相加,得到带噪语音数据;
7.s2、对所述训练数据进行预处理,包括:对带噪语音数据进行分帧处理,得到多个第一分帧语音数据,并对所述第一分帧语音数据添加上文语音窗口和/或下文语音窗口,得到多个第二分帧语音数据;
8.s3、对预处理结果进行通道间特征提取,包括:对所述第一分帧语音数据进行处理得到在各个帧处的第一语音特征向量;对所述第二分帧语音数据进行处理得到在各个帧处的第二语音特征向量;
9.s4、设计多通道滤波器,包括:将所述第一语音特征向量与第二语音特征向量联合,通过对联合后的向量进行维度调整、卷积、分块的操作后,将操作结果输入bi

lstm层和/或linear层,得到层输出数据;并对所述层输出数据进行维度调整和分块合并操作,生成各个通道的滤波器;
10.s5、利用所述各个通道的滤波器对对应通道的第一分帧语音数据或第二分帧语音数据或带噪语音数据进行滤波操作,得到经过滤波后的增强语音信号;
11.s6、对各个通道的增强语音信号进行加权求和、取平均操作,以得到目标输出语音。
12.进一步地,步骤s3中,所述对所述第一分帧语音数据进行处理得到在各个帧处的第一语音特征向量包括:对每个第一分帧语音数据进行卷积操作及groupnorm操作,得到在该帧处的第一语音特征向量;
13.所述对所述第二分帧语音数据进行处理得到在各个帧处的第二语音特征向量包括以下步骤:
14.s31、对所述第二分帧语音数据在帧长维度上进行平均值池化操作;
15.s32、将平均值池化结果输入到一组全连接层中进行数据处理;
16.s33、将所述全连接层输出的处理结果输入到softmax函数,得到在各个帧处的权重向量;
17.s34、根据所述各个帧处的权重值,得到该帧处的第二语音特征向量。
18.优选地,步骤s31中的平均值池化操作包括:
[0019][0020]
其中,是第i麦克风在帧数t处的平均值,n为麦克风阵列中麦克风的数量;
[0021]
步骤s32中的数据处理包括:
[0022][0023]
其中,g
t
是在帧数为t的麦克风阵列特征,p(*)为一组带有参数修正线性单元激活函数的全连接层,s(*)是一个带有sigmoid激活函数的全连接层。
[0024]
进一步地,步骤s4中所述设计多通道滤波器的步骤包括:
[0025]
s41、将步骤s3中得到的第一语音特征向量与第二语音特征向量进行联合:xb
t
=concat([out
t
,y
t
]),其中,out
t
为第二语音特征向量,y
t
为第一语音特征向量,xb
t
表示在帧数t处的联合语音向量,xb表示联合后的语音向量;
[0026]
s42、将步骤s41中联合后的语音向量进行维度调整,再输入到一维卷积中:其中c为卷积输出结果,其向量维度为n
×
m
×
z,其中,n为麦克风阵列中麦克风的数量,m为分帧处理的帧长采样点数量,z为各个通道内分帧处理的帧数;
[0027]
s43、对步骤s42中的卷积输出结果进行分块操作,设置块长为s、总块数为u,得到分块后的向量o,其向量维度为n
×
m
×
s
×
u;
[0028]
s44、对步骤s43中分块后的向量o进行调整维度:out=reshape(o),调整后的向量out的向量维度为(s
×
n)
×
u
×
m;
[0029]
s45、将out依次输入到bi

lstm、linear层,并进行groupnorm正则化操作如下:out1=groupnorm(linear(bilstm(out)));
[0030]
s46、对out1进行维度调整:out2=reshape(out1),调整后的向量out2的向量维度为n
×
m
×
s
×
u;
[0031]
s47、对分块进行合并:out8=od(out2),其中,od(
·
)是合并操作,out8为得到的合
并向量,其向量维度为m
×
n
×
z;
[0032]
s48、将步骤s47中得到的合并向量分别输入到带有tanh激活函数的一维卷积中:h=tanh(conv1d(out8)),其中,h的向量维度为n
×
c
×
z,其中c为一维卷积的输出通道数;
[0033]
s49、将h变换形状:filter=reshape(h),其中,filter为生成的多通道滤波器,其向量维度为n
×
z
×
c。
[0034]
优选地,在步骤s46与s47之间,还包括对步骤s47中的向量out2执行以下步骤以生成新的合并操作的对象:
[0035]
s46
‑1‑
47、网络使用跳跃连接,将out2与o进行相加:out3=out2+o;
[0036]
s46
‑2‑
47、对out3进行维度调整:out4=reshape(out3),其中out4的向量维度为(u
×
n)
×
s
×
m;
[0037]
s46
‑3‑
47、将out4依次输入到第二阶bi

lstm层、linear层,并进行groupnorm正则化操作:out5=groupnorm(linear(bilstm(out4)));
[0038]
s46
‑4‑
47、对out5进行维度调整:out6=reshape(out5),其中out6的向量维度为n
×
m
×
s
×
u;
[0039]
s46
‑5‑
47、网络再次使用跳跃连接,将out6与out3进行相加:out7=out6+out3;
[0040]
s46
‑6‑
47、对out7调整维度,将调整维度的结果reshape(out7)作为步骤s47中的合并操作的对象,使步骤s47执行out8=od(reshape(out7))。
[0041]
优选地,所述多通道语音信号增强方法还包括对步骤s47得到的合并向量out8进行二维卷积操作:out9=conv2d(out8),其中,out9的向量维度为m
×
n
×
s
×
u,二维卷积操作的输出通道数为n;
[0042]
将out9作为步骤s48中输入到带有激活函数的一维卷积中的操作对象,且步骤s48中输入到带有tanh激活函数的一维卷积的同时,还输入到带有sigmoid激活函数的一维卷积中,并对两个输出结果进行相乘操作:h=tanh(conv1d(out9))

sigmoid(conv1d(out9)),其中,

为哈达玛积。
[0043]
进一步地,步骤s1中生成训练数据的步骤包括:
[0044]
s11、从预采集的语音数据集中随机选取一个语音音频,从预采集的噪声数据集中随机选取一个噪声音频;
[0045]
s12、将选取的语音音频和噪声音频按照预设时长进行切分,分别得到多个语音切分音频和多个噪声切分音频;
[0046]
s13、根据预设的降噪空间尺寸和麦克风、语音音频声源、噪声源在所述降噪空间内的位置,使用gpurir工具包,对所述多个语音切分音频进行模拟声音回响,得到模拟语音数据;并在预设的信噪比范围内,将所述噪声切分音频按照不同的信噪比与所述模拟语音数据进行相加,得到多个带噪语音。
[0047]
进一步地,步骤s2中对所述训练数据进行预处理的步骤包括:
[0048]
s21、对带噪语音数据的前后进行补零;
[0049]
s22、对补零后的带噪语音数据进行分帧处理,设置帧长m和帧移k,以确定采样点,得到相应的语音向量,作为第一分帧语音数据,
[0050]
[0051]
其中,t是帧索引值,i是麦克风的索引,表示第i麦克风在帧t处的语音向量,其向量维度为1
×
m,z为帧数;
[0052]
s23、对分帧后的带噪语音数据添加上下文语音窗口,得到相应的语音向量,作为第二分帧语音数据,
[0053][0054]
其中,w为上下文窗口大小,是第i麦克风在t帧处包含上下文的语音向量,其向量维度为2w+m。
[0055]
优选地,在步骤s5中所述各个通道的滤波器对对应通道第二分帧语音数据进行滤波操作后,还需要去掉先前所补的零,使得经过滤波后的增强语音信号恢复到原来的语音长度。
[0056]
优选地,步骤s34中通过以下公式得到语音特征序列,作为该帧处的第二语音特征向量,
[0057][0058]
其中,是第i麦克风在帧数t处的语音特征序列,是在帧数t处的权重向量。
[0059]
本发明提供的技术方案带来的有益效果如下:
[0060]
a.对空间的声场传输特性表达更准确;
[0061]
b.可以更好的利用空间特征,提升降噪性能;
[0062]
c.提高了降噪的效率。
附图说明
[0063]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0064]
图1是本发明实施例提供的多通道语音信号增强方法的整体流程图;
[0065]
图2是本发明实施例提供的多通道语音信号增强方法中多通道滤波器设计处理流程图;
[0066]
图3是本发明实施例提供的多通道语音信号增强方法中通道间特征提取模块处理流程图;
[0067]
图4是本发明实施例提供的四麦克风分布式阵列示意图;
[0068]
图5是本发明实施例提供的多通道语音信号增强方法中bi

lstm block框架图;
[0069]
图6是本发明实施例提供的多通道语音信号增强方法中bi

lstm层的结构示意图;
[0070]
图7是本发明实施例提供的双麦克风线性阵列示意图;
[0071]
图8是本发明实施例提供的2线性双麦克风分布式阵列示意图;
[0072]
图9是本发明实施例提供的四麦克风线性阵列示意图。
具体实施方式
[0073]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0074]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0075]
在本发明的一个实施例中,提供了一种应用于麦克风阵列的多通道语音信号增强方法,参见图1,包括以下步骤:
[0076]
s1、生成训练数据,包括:将预采集的语音数据输入模拟麦克风阵列场景以生成多通道的模拟语音数据,并将其与预采集或预处理的噪声数据相加,得到带噪语音数据;
[0077]
具体地,生成训练数据的步骤包括:
[0078]
s11、从预采集的语音数据集中随机选取一个语音音频,从预采集的噪声数据集中随机选取一个噪声音频;
[0079]
s12、将选取的语音音频和噪声音频按照预设时长进行切分,分别得到多个语音切分音频和多个噪声切分音频;
[0080]
s13、根据预设的降噪空间尺寸和麦克风、语音音频声源、噪声源在所述降噪空间内的位置,使用gpurir工具包,对所述多个语音切分音频进行模拟声音回响,得到模拟语音数据;并在预设的信噪比范围内,将所述噪声切分音频按照不同的信噪比与所述模拟语音数据进行相加,得到多个带噪语音。
[0081]
s2、对所述训练数据进行预处理,包括:对带噪语音数据进行分帧处理,得到多个第一分帧语音数据,并对所述第一分帧语音数据添加上文语音窗口和/或下文语音窗口,得到多个第二分帧语音数据;
[0082]
具体地,对所述训练数据进行预处理的步骤包括:
[0083]
s21、对带噪语音数据的前后进行补零;
[0084]
s22、对补零后的带噪语音数据进行分帧处理,设置帧长m和帧移k,以确定采样点,得到相应的语音向量,作为第一分帧语音数据,
[0085][0086]
其中,t是帧索引值,i是麦克风的索引,表示第i麦克风在帧t处的语音向量,其向量维度为1
×
m,z为帧数;
[0087]
s23、对分帧后的带噪语音数据添加上下文语音窗口,得到相应的语音向量,作为第二分帧语音数据,
[0088][0089]
其中,w为上下文窗口大小,是第i麦克风在t帧处包含上下文的语音向量,其向量维度为2w+m。
[0090]
s3、对预处理结果进行通道间特征提取,包括:对所述第一分帧语音数据进行处理得到在各个帧处的第一语音特征向量;对所述第二分帧语音数据进行处理得到在各个帧处的第二语音特征向量;
[0091]
具体地,所述对所述第一分帧语音数据进行处理得到在各个帧处的第一语音特征向量包括:对每个第一分帧语音数据进行卷积操作及groupnorm操作,得到在该帧处的第一语音特征向量;
[0092]
参见图2,所述对所述第二分帧语音数据进行处理得到在各个帧处的第二语音特征向量包括以下步骤:
[0093]
s31、对所述第二分帧语音数据在帧长维度上进行平均值池化操作;
[0094]
s32、将平均值池化结果输入到一组全连接层中进行数据处理;
[0095]
s33、将所述全连接层输出的处理结果输入到softmax函数,得到在各个帧处的权重向量;
[0096]
s34、根据所述各个帧处的权重值,得到该帧处的第二语音特征向量。
[0097]
s4、设计多通道滤波器,包括:将所述第一语音特征向量与第二语音特征向量联合,通过对联合后的向量进行维度调整、卷积、分块的操作后,将操作结果输入bi

lstm层和/或linear层,得到层输出数据;并对所述层输出数据进行维度调整和分块合并操作,生成各个通道的滤波器;
[0098]
其中,参见图3,所述设计多通道滤波器的步骤包括:
[0099]
s41、将步骤s3中得到的第一语音特征向量与第二语音特征向量进行联合:xb
t
=concat([out
t
,y
t
]),其中,out
t
为第二语音特征向量,y
t
为第一语音特征向量,xb
t
表示在帧数t处的联合语音向量,xb表示联合后的语音向量;
[0100]
s42、将步骤s41中联合后的语音向量进行维度调整,再输入到一维卷积中:其中c为卷积输出结果,其向量维度为n
×
m
×
z,其中,n为麦克风阵列中麦克风的数量,m为分帧处理的帧长采样点数量,z为各个通道内分帧处理的帧数;
[0101]
s43、对步骤s42中的卷积输出结果进行分块操作,设置块长为s、总块数为u,得到分块后的向量o,其向量维度为n
×
m
×
s
×
u;
[0102]
s44、对步骤s43中分块后的向量o进行调整维度:out=reshape(o),调整后的向量out的向量维度为(s
×
n)
×
u
×
m;
[0103]
s45、将out依次输入到bi

lstm、linear层,并进行groupnorm正则化操作如下:out1=groupnorm(linear(bilstm(out)));
[0104]
s46、对out1进行维度调整:out2=reshape(out1),调整后的向量out2的向量维度为n
×
m
×
s
×
u;
[0105]
s47、对分块进行合并:out8=od(out2),其中,od(
·
)是合并操作,out8为得到的合并向量,其向量维度为m
×
n
×
z;
[0106]
s48、将步骤s47中得到的合并向量分别输入到带有tanh激活函数的一维卷积中:h=tanh(conv1d(out8)),其中,h的向量维度为n
×
c
×
z,其中c为一维卷积的输出通道数;
[0107]
s49、将h变换形状:filter=reshape(h),其中,filter为生成的多通道滤波器,其向量维度为n
×
z
×
c。
[0108]
进一步地,在步骤s46与s47之间,还包括对步骤s47中的向量out2执行以下步骤以生成新的合并操作的对象:
[0109]
s46
‑1‑
47、网络使用跳跃连接,将out2与o进行相加:out3=out2+o;
[0110]
s46
‑2‑
47、对out3进行维度调整:out4=reshape(out3),其中out4的向量维度为(u
×
n)
×
s
×
m;
[0111]
s46
‑3‑
47、参见图4和图5,将out4依次输入到第二阶bi

lstm层、linear层,并进行groupnorm正则化操作:
[0112]
out5=groupnorm(linear(bilstm(out4)));
[0113]
s46
‑4‑
47、对out5进行维度调整:out6=reshape(out5),其中out6的向量维度为n
×
m
×
s
×
u;
[0114]
s46
‑5‑
47、网络再次使用跳跃连接,将out6与out3进行相加:out7=out6+out3;
[0115]
s46
‑6‑
47、对out7调整维度,将调整维度的结果reshape(out7)作为步骤s47中的合并操作的对象,使步骤s47执行out8=od(reshape(out7))。
[0116]
对步骤s47得到的合并向量out8进行二维卷积操作:out9=conv2d(out8),其中,out9的向量维度为m
×
n
×
s
×
u,二维卷积操作的输出通道数为n;
[0117]
将out9作为步骤s48中输入到带有激活函数的一维卷积中的操作对象,且步骤s48中输入到带有tanh激活函数的一维卷积的同时,还输入到带有sigmoid激活函数的一维卷积中,并对两个输出结果进行相乘操作:h=tanh(conv1d(out9))

sigmoid(conv1d(out9)),其中,

为哈达玛积。
[0118]
s5、利用所述各个通道的滤波器对对应通道的第一分帧语音数据或第二分帧语音数据或带噪语音数据进行滤波操作,得到经过滤波后的增强语音信号;
[0119]
其中,所述各个通道的滤波器对对应通道第二分帧语音数据进行滤波操作后,还需要去掉先前所补的零,使得经过滤波后的增强语音信号恢复到原来的语音长度。
[0120]
s6、对各个通道的增强语音信号进行加权求和、取平均操作,以得到目标输出语音。
[0121]
下面以具体数值为例进行语音信号增强处理说明
[0122]
步骤1、生成训练数据
[0123]
从采样率均为16k hz的纯净语音数据集和噪声数据集各随机选取一个音频,将选取的纯净语音和噪声切分为长度4s的音频文件;设置信噪比,其范围是[

5db,0db],增加训练数据的覆盖范围,设置降噪空间尺寸和分布式麦克风、说话人、噪声源位置,使用gpurir工具包,模拟声音回响,得到模拟语音数据,分布式麦克风阵列如图6所示,图6中圆形是麦克风,正方形是纯净语音源,五角星是噪声源;将噪声按照不同信噪比与模拟语音数据进行相加,生成带噪语音。需要注意的是,所述带噪语音包括了噪声数据、纯净语音数据及其回声数据,通过不同的信噪比叠加,更贴近实际情景。
[0124]
步骤2、对训练数据进行预处理
[0125]
步骤2.1对带噪语音数据前后进行补零,前后各补32个零,以防止语音数据的首末特征丢失。
[0126]
步骤2.2对补零后的带噪语音数据进行分帧处理,设置帧长m为64个采样点,帧移k为32个采样点,
[0127][0128]
其中,t是帧索引值,i是麦克风的索引,z为帧数,表示麦克风i在帧t处的语音向量,其表示的向量维度为1
×
m,以下相似表达不再赘述。
[0129]
步骤2.3对分帧后的语音数据添加上下文语音窗口
[0130][0131]
其中,w为上下文窗口大小,其中,w为上下文窗口大小,是麦克风i在t帧处包含上下文的语音向量,以减少通道间的延时误差。
[0132]
步骤2.4将所有通道的分帧语音数据x添加到数组中,形状为[n,m,z],将所有通道的添加上下文语音数据添加到另一个数组中,形状为[n,2w+m,z],其中n为麦克风阵列中麦克风的数量,麦克风的数量与通道数量相同且对应。
[0133]
步骤3、基于权重分配的通道间的特征提取
[0134]
步骤3.1输入经过步骤2处理过的语音数据在帧长维度上,进行平均值池化操作
[0135][0136]
其中,其中,是麦克风i在帧数t处的平均值。
[0137]
步骤3.2将步骤3.1的结果输入到一组全连接层中
[0138][0139]
其中,g
t
是在帧数为t的麦克风阵列特征,参见图2,p(*)是一组带有参数修正线性单元prelu激活函数的全连接层,这组全连接层的输出维度分别为[128,64,128],s(*)是一个带有sigmoid激活函数的全连接层,输出维度为[n]。
[0140]
步骤3.3将步骤3.2的结果输入到softmax激活函数中
[0141][0142]
其中,其中,是在帧数t处的权重向量,其总和为1,取值范围是[0,1]。
[0143]
步骤3.4将步骤3.3的结果与做乘积后输出
[0144][0145]
其中,其中,表示麦克风i在帧数t处的语音特征序列。
[0146]
步骤4、对语音信号x进行一维卷积操作,并进行groupnorm操作后输出
[0147]
y
t
=groupnorm(conv1d(x
t
))
[0148]
其中,y
t
是帧数t处的语音特征向量,一维卷积的卷积核大小为1,其输出通道数为n。
[0149]
需要注意的是,步骤3和步骤4的处理不分先后,也可同时进行。
[0150]
步骤5、对多通道滤波器进行设计
[0151]
步骤5.1将步骤4的输出与步骤3.4的输出进行联合
[0152]
xb
t
=concat([out
t
,y
t
])
[0153]
其中,xb
t
表示在帧数t处的语音向量,xb表示联合后的语音向量。
[0154]
步骤5.2将步骤5.1联合后的向量变换形状,
[0155][0156]
再输入到一维卷积中后输出
[0157][0158]
其中一维卷积的卷积核大小为1,输出通道数为64。
[0159]
步骤5.3对c进行分块操作,设置块长s为50,块移动为25,总块数为u,划分后的向量设为o,
[0160]
步骤5.4对向量o调整维度
[0161]
out=reshape(o)
[0162]
其中,
[0163]
步骤5.5参见图4和图5,将out依次输入到bi

lstm、linear层,并进行groupnorm正则化操作,
[0164]
out1=groupnorm(linear(bilstm(out)))
[0165]
其中,参见图4,bi

lstm层的输出维度设置为256,linear层的输出维度设置为64,groupnorm层的输出维度设置为64,输入层的输出维度设置为64。
[0166]
步骤5.6对out1进行维度调整
[0167]
out2=reshape(out1)
[0168]
其中,
[0169]
步骤5.7网络使用跳跃连接,将out2与o进行相加
[0170]
out3=out2+o
[0171]
步骤5.8对out3进行维度调整
[0172]
out4=reshape(out3)
[0173]
其中,
[0174]
步骤5.9将out4依次输入到第二阶bi

lstm层、linear层,并进行groupnorm正则化操作
[0175]
out5=groupnorm(linear(bilstm(out4)))
[0176]
其中,bi

lstm的输出维度设置为256,linear层的输出维度设置为64。
[0177]
步骤5.10对out5进行维度调整
[0178]
out6=reshape(out5)
[0179]
其中,
[0180]
步骤5.11网络再次使用跳跃连接,将out6与out3进行相加
[0181]
out7=out6+out3[0182]
步骤5.12对out7调整维度,然后对分块进行合并
[0183]
out8=od(reshape(out7))
[0184]
其中,od(
·
)是合并操作
[0185]
步骤5.13对out8进行二维卷积操作
[0186]
out9=conv2d(out8)
[0187]
其中,二维卷积操作的卷积核大小为1,其输出通道数为n。
[0188]
步骤5.14将out9分别输入到带有sigmoid和tanh激活函数的一维卷积中,并将其进行相乘
[0189]
h=tanh(conv1d(out9))

sigmoid(conv1d(out9))
[0190]
其中,

为哈达玛积,一维卷积的卷积核大小为1,其输出通道数为c。
[0191]
步骤5.15将h变换形状
[0192]
filter=reshape(h)
[0193]
其中,filter为生成的多通道滤波器。
[0194]
步骤6使用步骤5.15生成的多通道滤波器,对语音进行卷积操作
[0195][0196]
其中,其中,表示第i麦克风经过滤波后的语音信号。
[0197]
步骤7对增强语音信号进行维度变化,然后去掉先前所补的零,恢复原来语音长度
[0198][0199]
其中,其中,表示第i麦克风恢复原始长度的语音增强信号。
[0200]
步骤8对各个通道的增强语音信号加权求和,再取平均,以得到最终输出增强后的语音
[0201][0202]
其中,a
i
表示麦克风i的权重值,y是最终输出增强后的语音。
[0203]
本实施例提供的多通道语音信号增强方法适充分考虑降噪空间的空间特性,采用创新方法提取多通道间特征,并设计双阶段bi

lstm作为多通道滤波器,因为分布式麦克风结构对空间的声场传输特性表达更准确,该方法更适合分布式麦克风阵列结构,经过实验验证,对比了四种麦克风阵列结构的四种降噪评价指标sdr、si

snr、pesq、stor,四种麦克风阵列分别为四麦克风分布式阵列(记作4db)、双麦克风线性阵列(记作2linear)、2线性双麦克风分布式阵列(记作2x2db)、四麦克风线性阵列(记作4linear),参见图6至图9,图6至图9的图中圆形是指麦克风,正方形是指纯净语音源,五角星是指噪声源,四种阵列的对比结果参见表1,可明显发现基于该方法的多通道降噪取得了比基于传统麦克风阵列语音增强方法更佳的降噪性能,同时分布式四麦的指标表现优于其他结构的麦克风阵列。
[0204]
表1本发明方法在不同指标和不同信噪比上的表现
[0205][0206]
现有技术多针对集中式麦克风阵列进行多通道语音增强,且方法中对声场的传输特性做了严格假设,对于复杂的噪声场景,多通道麦克风没有将空间特征充分利用。而本发明提供的多通道语音信号增强方法相比于单通道语音增强可以更好的利用空间特征,提升降噪性能。本发明基于语音帧级别进行通道间特征提取,充分利用多个通道间的空间特征,采用双阶段双向bi

lstm网络训练多通道滤波器,最后形成增强后的语音信号,需要注意的是,步骤5.5和步骤5.9对应到双阶段双向bi

lstm块的两次处理,也可以增加更多阶段的双向bi

lstm块处理,采取与步骤5.5与步骤5.9之间相似的操作进行更多次阶段的处理,具体需要依据其他设置条件而定。
[0207]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0208]
以上所述仅是本技术的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。