首页 > 乐器声学 专利正文
基于波束形成的长短时记忆网络语音分离算法的制作方法

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

基于波束形成的长短时记忆网络语音分离算法的制作方法

1.本发明涉及利用深度学习方式进行语音分离的领域,特别涉及波束形成算法和lstm网络的语音分离算法。


背景技术:

2.语音信号分离问题最早起源于鸡尾酒会问题,该问题致力于解决在嘈杂环境中分离出重点关注的语音信号,经过学者不断努力,解决该问题的方法不断被创新,语音信号分离速度和分离质量都有所提高。随着社会进步和智能家居的发展,语音信号处理知识被广泛应用于日常生活之中,对信号处理速度和质量又提出了更高要求。语音分离问题的解决方法主要可以归结为两个大类,分别为基于信号变换的传统方式和近年来流行的深度学习方式,传统分离方法主要是通过数字信号处理方式,对混合语音信号矩阵进行数学变化,使分离后语音信号彼此之间达到最大独立性完成信号分离。该方法为语音信号分离领域做出了一定贡献,但是其往往需要对混合语音信号施加限制条件,如ica施加的是弱正交约束,最终得到一个具有分布式的信号表征从而实现数据降维目的,矢量量化模型对观测信号施加一种强约束,将数据拟合成两种彼此相互排斥模型,最终达到语音数据聚类目的。但是在实际生活中,这些限制条件并不容易满足,因而在实际应用过程中,使用该方法分离效果还有待提高。
3.随着计算机技术的不断发展,计算机运算速度提高,运算成本下降,基于深度学习的语音信号处理方式被众多学者提出并加以研究,在语音信号处理领域取得了一定成果。深度学习网络结构(deep neural network,dnn)是较早用于语音分离的网络,并且取得了一定进展。wang等人最先提出将dnn应用于语音分离领域,并结合理想软模板和理想二值模板完成了语音分离任务,并对两种模板的分离结果做出了具体阐述分析。dnn具有多层次结构,可以从训练数据中抽取出更加抽象特征并具有非常强大的处理非线性数据能力,但是其训练过程中存在大量参数计算,从而导致了其模型收敛所需要时间更长的问题。随后,有学者利用卷积神经网络模型(convolution neural network,cnn)探究了语音信号分离问题。huang等人将dnn和rnn模型结合起来应用于该问题,并在模型中加入了模板计算方法,该方法在模型中被称之为确定层,通过确定层实现了对误差函数最小化操作,通过对误差函数优化和网络模型优化得到基比dnn更好的语音分离结果。cai等人提出一种基于cmnn网络结构,该结构结合理想幅值掩蔽(ideal ratio mask,irm)和maxout激活函数,实现对语音分离问题的建模,实验结果表明相对于传统的cnn网络语音分离效果具有较大提升。pritish等人通过构建一种深度卷积网络模型,成功分离离单通道低延迟的混合语音信号,其分离语音信号中包含鼓声、贝斯和随歌曲变化的其他种类乐器,在实验中研究人员还对该提出模型和多层感知器模型进行了对比实验,实验结果表明该提出模型无论从信号分离效果还是分离速度上都优于多层感知器。2014年,有学者提出了深度堆叠网络(deep stacking network,dsn)进行语音信号分离任务,该网络是由多个神经网络堆叠而成,并且后一层网络输入包含上一层网络输出和原始输入。nie等人给出了一种层级堆叠神经网络,
并通过该网络对语音短时动态信息进行分析,此类网络提高了原始信号的估计精确度,但是其对于语音信号每一个频带估计过程中相互间是独立操作,没有考虑到频带相关性。其后有学者将循环神经网络(recurrent neural network,rnn)应用于语音分离实践中,相较于卷积神经网络只关心数据局部信息特征,而忽略了语音信号前后联系的情况,rnn是一种时序模型,其在某一时刻的输出可以在下一个时刻作用其自身,因其结构具有循环链接特性,所以常用于时序信号的短时动态信息建模,并且其更加适用于语音信号这种与数据出现次序有关的信息处理,在语音分离领域取得了巨大成功。单层rnn网络因只有单个隐层,层级结构的缺乏令其在学习语音信号深层结构信息时具有缺陷性。随后有学者针对该问题提出了基于深层循环神经网络(deep recurrent neural network,drnn)的语音信号分离方法,但是drnn中还存在梯度消失问题有待解决。
4.综上所述,深度学习方式解决语音分离问题主要依靠频域特征,没有对语音信号空间特征进行有效利用,并且在深度学习中还存在rnn梯度消失问题。当前深度学习模型都是对语音信号频域特征提取,之后对该特征进行训练得到输入特征和关注语音信号频谱特征间非线性映射关系,从而解决语音分离问题,但是该方法不足处在于其分离依据是目标语音于干扰语音间频谱结构差异,若二者结构相似其分离结果较差。


技术实现要素:

5.本发明的目的在于提出了一种波束形成lstm算法,该算法可有效分离语音信号,在噪声环境下具有较好的语音分离效果,可以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:
7.波束形成lstm算法的语音分离效果算法,包括如下步骤:
8.步骤1:提出了一种基于理想二值掩码的lstm神经网络;
9.步骤2:对波束形成基本原理进行叙述,提出本发明中使用的超指向波束形成算法;
10.步骤3:利用麦克风阵列,提出一种超指向波束形成算法和lstm网络结合模型,通过波束形成算法得到3个不同方向语音波束信号,而后该算法提取的特征是每一个波束中的频谱幅度特征,通过本文构建的lstm网络预测掩蔽值,通过掩蔽值得到待分离语音信号频谱并重构出时域信号,完成语音分离问题。
11.进一步地,步骤1中如图1所示,一个标准lstm网络记忆块具有1个记忆单元和3个门控单元,网络利用图1中3个门控单元来控制记忆单元状态,门控单元分别表示输入门,输出门和遗忘门。某一时刻t,lstm记忆块利用门状态的改变来对记忆块状态进行更新,更新过程由遗忘门状态更新,记忆单元状态更新和输出更新组成。
12.如图1中

所示,遗忘门在t时刻输出m
t
由前一个时刻输出l
t
‑1和当前时刻输入x
t
决定,m
t
可以表示为式
13.m
t
=σ(w
f
×
[l
t
‑1,x
t
]+b
f
) (1)
[0014]
其中,w
f
代表遗忘门权重;b
f
代表遗忘门偏置;σ代表sigmod激活函数。遗忘门通过l
t
‑1,x
t
状态来确定一个0~1之间的值,通过这个值来确定上一时刻学习到的信息k
t
‑1作用于下一时刻比例。
[0015]
如图1中

所示,其功能是对记忆单元状态进行更新。更新内容包含两部分内容,
第一部分是通过式(2)决定哪些值需要更新,另一部分为通过式(3)生成新候选值。最后通过式(4)完成记忆单元输出,运算过程为:
[0016]
i
t
=σ(w
i
×
[l
t
‑1,x
t
]+b
i
) (2)
[0017]
式中:i
t
代表输入门输出结果,通过sigmod函数来决定哪些值用来进行更新;w
i
代表输入门权重;b
i
代表输入门偏置。
[0018][0019]
其中,表示通过tanh函数生成的新候选值,w
k
代表记忆单元权重,b
k
代表记忆单元偏置。
[0020][0021]
通过式(4)完成记忆单元输出,其主要由式(2)、(3)两部分构成,其中m
t
*k
t
‑1代表遗忘门对上一时刻信息的遗忘,代表新加入状态信息,将两部分作和,最终得到了k
t
,即当前时刻记忆单元状态,也是当前时刻t的输出。
[0022]
如图1中

所示,该过程代表输出门控制的输出信息,需要输出的记忆单元状态信息通过sigmoid函数来进行控制,可表示为
[0023]
ot=σ(w
o
*[l
t
‑1,x
t
]+b
o
) (5)
[0024]
其中,o
t
代表输出门输出结果;w
o
代表输出门权重;b
o
代表输出门偏置。通过tanh函数来对当前时刻记忆单元状态进行,最后输出结果l
t
是两部分乘积,可表示为
[0025]
l
t
=o
t
*tanh(k
t
) (6)
[0026]
利用二值掩码结合lstm网络来进行语音信号分离训练有望达到比rnn网络更加好的分离效果,ibm

lstm网络结果如图2所示。
[0027]
图2中,在训练阶段,网络输入是混合语音信号时频谱,通过与纯净语音信号时频谱进行非线性映射,形成一个通过lstm网络训练得到的二值掩码模型;在分离阶段通过该模型估计出对应语音信号的二值掩码,而后通过短时傅里叶逆变换得到原始语音信号,完成语音分离任务。
[0028]
进一步地,步骤2中,提出超指向波束形成算法,该算法相对于其它波束形成算法,对来自非导向方向语音信号抑制作用更强,更适用于本发明所提出语音分离模型。
[0029]
波束形成过程如图3所示,其中包含两个过程,分别代表滤波和信号叠加。波束形成器由不同通道所对应的滤波器共同组成,其大多数是在频域进行设计,通过短时傅里叶变换方式实现。
[0030]
波束形成过程将给定时刻和频带上的阵列观测信号叠加变成一个向量,该向量可以表示为
[0031]
y(ω)=[y1(ω),y2(ω),...,y
m
(ω)]
t (7)
[0032]
其中,m代表麦克风阵列中包含麦克风数量;ω代表频率。
[0033]
经过上述过程后,波束形成算法输出表示为:
[0034][0035]
其中,*代表共轭;h代表矩阵的共轭转置;h(ω)=[h1(ω),h2(ω),....,h
m
(ω)]
t
代表当前阵列的波束形成滤波器,并且其是一个与y(ω)具有相同维度的复向量,在h(ω)
确定的前提下,麦克风阵列空域响应可以表示为式(9)所示
[0036]
α(ω,θ)=h
h
(ω)d(ω,θ)
ꢀꢀꢀꢀꢀ
(9)
[0037]
其中,θ代表方向,其由方位角和俯仰角共同决定,d(ω,θ)代表阵列导向矢量,其与阵列几何结构、方向等有关。式(9)显示了波束形成算法对不同方向信号响应特性,空域响应在期望语音信号方向具有最大幅度值,并且会对其他方向信号产生一定程度衰减。
[0038]
空域响应幅度随方向变化的曲线被称为波束图,如果设置0
°
方向为主瓣,其他方向为旁瓣,在此种情况下,波束形成器性能可以通过指向性因子进行衡量,形成器主瓣窄旁瓣低时性能较好,指向性因子可表达为:
[0039][0040]
其中,θ0代表所期望的导向方向;γ(ω)带表各向同性噪声协方差矩阵。
[0041]
为实现对非导向方向语音信号最大抑制效果,需要使波束形成器指向性越高越好,实现该目标最简单方式是极大化指向性因子,通过这种方式设计出来的波束形成器称为超指向波束形成器,超指向波束形成算法在期望声源方向无失真约束条件下,可以将问题简化为
[0042][0043]
在满足h
h
(ω)d(ω,θ0)=1条件下求出上式的最小值。此条件下通过推导可得到当前阵列的超指向波束形成滤波器h
sd
(ω),表示为
[0044][0045]
超指向波束形成实质是在保证期望声源信号不失真前提下,尽量对来自其它方向语音信号进行抑制的过程,因此将其和上文中提到过的lstm神经网络相结合,可以在神经网络基础上引入语音信号方向信息,有望进一步提高神经网络模型语音信号分离效果。
[0046]
进一步地,在步骤3中本发明利用麦克风阵列,提出一种超指向波束形成算法和lstm网络结合模型,通过波束形成算法得到3个不同方向语音波束信号,而后该算法提取的特征是每一个波束中的频谱幅度特征,通过本发明构建的lstm网络预测掩蔽值,通过掩蔽值得到待分离语音信号频谱并重构出时域信号,完成语音分离问题。
[0047]
由图4可见,利用合适的麦克风阵列对3路语音信号进行采集,通过超指向波束形成算法,得到三个不同方向的指向性波束。对3个波束信号进行频谱幅度特征提取进而得到联合特征,根据数据每个维度上特征值的平均值和标准差对联合特征进行标准化操作。当前联合特征作为lstm网络输入,根据目标语音信号频谱幅度特征,通过网络训练得到掩蔽值,根据掩蔽值得到目标语音频谱,进行语音信号重构得到原始时域目标语音信号,完成语音信号分离工作。
[0048]
本发明的特征及优点将通过实施例结合附图进行详细说明。
附图说明
[0049]
图1为本发明的典型lstm网络记忆块;
[0050]
图2为本发明的波束形成频域求和结构示意图;
[0051]
图3为本发明的波束形成频域求和结构示意图;
[0052]
图4为本发明的分离算法流程图;
[0053]
图5为本发明的阵列布放及声源位置;
[0054]
图6为本发明的lstm神经网络结构;
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
实验过程中,通过timit语音库随机选择3名说话者语音信号,并且说话人年龄和性别均保持随机抽取,在进行语音录制前将3段语音信号裁剪成相同时间长度并进行幅度归一化操作,阵列布放及声源位置如图5所示,本文通过图5的布放方式进行语音信号录制。
[0057]
如图5所示,采用3个麦克风组成麦克风阵列,阵列中每个麦克风距离圆形中心距离为50mm,并且保持在同一水平面上,图中所示箭头方向作为0方向,将圆形按照逆时针方向均匀划分成6个区域,每个区域60
°
,3个说话人保持和麦克风在同一水平面上,距离圆中心位置2.5m,方向分别为60
°
,120
°
,240
°
方向,同时播放3段语音信号,通过麦克风录制实验所需要的训练数据,本文共录制了接近7000条语音数据用于神经网络训练过程。
[0058]
本发明所用神经网络结构如图6所示,神经网络结构由1层掩蔽层,3层lstm层和1层全连接层构成。其中全连接层中包含600个节点,训练中用到的损失函数为mean_squared_error函数,即最小均方误差函数(mean squared error,mse),在训练过程中,损失函数值越小,说明神经网络和训练集拟合性越好,匹配度越高。
[0059]
实验中使用语音信号采样频率统一为16khz,帧长设置为512点,采用3层lstm网络结构,每层由600个神经元组成。在60
°
,120
°
,240
°
方向进行超指向波束形成,得到不同方向的语音波束信号,进而得到不同波束频谱幅度特征,将特征拼接起来得到联合特征,将联合特征作为网络输入,结合纯净语音信号频谱幅度特征,得到一个二值掩蔽训练模型。分离阶段通过模型得到混合语音信号对应的二值掩蔽,将其作用于混合语音信号幅度谱得到待分离语音信号幅度谱,重构原始语音信号,达到语音信号分离的目的。由上文理论分析可知,相对于传统lstm网络,该方法不仅利用了观测信号频谱信息,还通过波束形成算法利用了观测信号空间信息,有望得到较好的分离结果。
[0060]
为量化实验结果,本文通过客观语音质量评估(perceptual evaluation of speech quality,pesq),短时客观可懂(short

time objective intelligibility,stoi),信噪比(signal to noise ratio,sdr)指标对分离结果进行评价,对提出的波束形成lstm网络分离效果进行测试,并将实验结果同ibm

lstm方法进行对比,并将本实验结果同rnn网络分离结果对比,本实验以60
°
,120
°
及240
°
方向语音信号的分离结果为例,不同网络分离结果如表1所示。
[0061]
表1不同网络结构分离人声信号结果
[0062][0063]
由表1可知,结合波束形成算法的lstm网络,综合利用了语音信号的频谱信息和空间信息,相较于仅仅应用频谱信息的神经网络在语音分离效果上有所提高,在60
°
方向时,波束形成lstm网络与ibm

lstm网络相比,pesq提高了0.59,stoi指标提高了0.06,sdr提高了1.13
db
。与rnn网络相比,pesq提高了0.76,stoi指标提高了0.09,sdr提高了2.16db。在120
°
方向时,波束形成lstm网络与ibm

lstm网络相比,pesq提高了0.56,stoi指标提高了0.05,sdr提高了1.13db。与rnn网络相比,pesq提高了0.76,stoi指标提高了0.09,sdr提高了2.18db。在240
°
方向时,由表1可得到与上述两种角度相同的结论,即波束形成lstm网络相较于另外两种算法在语音分离评价指标上均有所提高。实验结果表明,结合超指向波束形成的lstm网络相较于ibm

lstm、rnn网络在语音分离领域取得了更好分离效果,证明了本发明所提出算法的有效性。