一种基于长短时记忆网络LSTM的双耳语音分离方法转让专利

申请号 : CN201910930176.X

文献号 : CN110728989B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周琳陆思源钟秋月庄琰

申请人 : 东南大学

摘要 :

本发明公开了一种基于长短时记忆网络LSTM的双耳语音分离方法。本发明提取训练双耳语音信号每个时频单元的耳间时间差、耳间强度差以及耳间互相关函数作为分离的空间特征,将相同子带内,当前帧以及前后5帧时频单元的空间特征作为双向LSTM网络的输入参数进行训练,得到基于LSTM的分离模型。测试阶段,将测试双耳语音信号的当前帧以及前后5帧时频单元的空间特征作为训练得到的双向LSTM网络的输入参数,用于估计当前时频单元目标语音的掩蔽值,从而根据掩蔽值进行语音分离。分离结果表明,本发明提出的基于LSTM网络的双耳分离方法相比于基于深层神经网络的方法在主观评价指标上有较为明显提升,且算法泛化性能好。

权利要求 :

1.一种基于长短时记忆网络LSTM的双耳语音分离方法,其特征在于,该方法包括以下步骤:(1)将两个不同的训练单声道语音信号与不同方位角的与头相关脉冲响应函数HRIR相卷积,生成两个不同方位角的训练单声源双耳语音信号;

(2)将所述两个不同方位角的训练单声源双耳语音信号进行混合,得到包含两个声源的混合训练双耳语音信号,同时加入不同信噪比的噪声,得到不同声学环境下,包含两个不同方位角声源的含噪混合训练双耳语音信号;

(3)对步骤(2)得到的含噪混合训练双耳语音信号进行子带滤波、分帧和加窗,得到各个子带分帧后的训练双耳语音信号,即训练双耳语音信号的每个时频单元;

(4)对步骤(3)得到的训练双耳语音信号的每个时频单元,计算耳间互相关函数CCF、耳间时间差ITD和耳间强度差ILD,作为训练双耳语音信号各个时频单元的空间特征;

(5)将步骤(4)得到的每个时频单元的空间特征,与本子带内前、后5帧对应时频单元的空间特征一起作为长短时记忆网络LSTM网络的输入,将本时频单元的理想掩蔽比值IRM作为LSTM网络的目标值,训练LSTM网络;其中,LSTM网络的训练过程具体包括:(5-1)构建LSTM网络,其中,LSTM网络由输入层、LSTM网络层和输出层组成,输入层包括各时刻的输入,输出层包括各时刻的输出,LSTM网络层包括各时刻的LSTM单元,LSTM的时间步长设置为11,即当前帧以及前后5帧,LSTM网络层中的每个LSTM单元与前后时刻LSTM单元分别双向连接;

(5-2)随机初始化LSTM网络层的权值;

(5-3)计算当前时频单元的理想掩蔽比值IRM,作为LSTM网络的目标值;其中,所述理想掩蔽比值IRM计算公式如下:以左声道为分离声道,将当前时频单元对应的方位角1的单声源左耳语音信号s1,L(n)经过子带滤波、分帧、加窗后得到第i个子带、第k帧的左耳语音信号sL(i,k,m),根据sL(i,k,m)计算IRM:(5-4)将每一时频单元的空间特征,与同一子带内前、后5帧时频单元的空间特征一起输入LSTM网络的输入层,即[F(i,k-5),F(i,k-4),…,F(i,k),…,F(i,k+4),F(i,k+5)];

(5-5)根据前向传播算法,得到LSTM网络的输出,即估计的掩蔽比值ERM,根据ERM和理想掩蔽值IRM的差值计算损失函数:其中E[·]表示期望运算,‖·‖2表示L2范数;

(5-6)使用反向传播算法,计算损失函数J对网络权值的偏导,并修正网络的权值;

(5-7)若当前迭代次数小于预设总迭代次数,则返回至(5-4),继续输入下一批时频单元的空间特征进行计算,直至得到达到预设迭代次数,迭代结束,LSTM网络训练结束;

(6)对不同声学环境下,包含两个不同方位角声源的混合测试双耳语音信号,按照步骤(3)和步骤(4)处理得到测试双耳语音信号各个时频单元的空间特征;

(7)将步骤(6)得到的每个时频单元的空间特征,与本子带内前、后5帧对应时频单元的空间特征一起输入训练好的LSTM网络中,得到每个时频单元的估计掩蔽比值ERM;

(8)根据步骤(7)得到的估计掩蔽比值ERM,将所述混合测试双耳语音信号进行分离,得到单个声源对应的时域语音信号。

2.根据权利要求1所述的基于长短时记忆网络LSTM的双耳语音分离方法,其特征在于:步骤(1)中所述两个不同方位角的单声源双耳语音信号的计算公式为:其中,s1(n)、s2(n)为两个不同的单声源语音信号,s1,L(n)、s1,R(n)表示方位角1对应的单声源左、右耳语音信号,h1,L、h1,R表示方位角1的左耳HRIR、右耳HRIR,s2,L(n)、s2,R(n)表示方位角2对应的单声源左、右耳语音信号,h2,L、h2,R表示方位角2的左耳HRIR、右耳HRIR,*为卷积运算,n为采样序号。

3.根据权利要求1所述的基于长短时记忆网络LSTM的双耳语音分离方法,其特征在于:步骤(2)所述包含两个声源的混合训练双耳语音信号的计算方法为:sleft(n)=s1,L(n)+s2,L(n)

sright(n)=s1,R(n)+s2,R(n)

其中sleft(n)、sright(n)为包含两个不同方位声源的混合训练双耳语音信号的左、右耳信号,s1,L(n)、s1,R(n)表示方位角1对应的单声源左、右耳语音信号,s2,L(n)、s2,R(n)表示方位角2对应的单声源左、右耳语音信号;

所述含噪混合的训练双耳语音信号的计算方法为:

xleft(n)=sleft(n)+vL(n)

xright(n)=sright(n)+vR(n)

其中,xLeft(n)、xRight(n)分别表示包含两个不同方位角声源的含噪混合训练左、右耳语音信号,vL(n)、vR(n)表示不同信噪比下的左、右耳噪声信号,vL(n)、vR(n)不相关。

4.根据权利要求1所述的基于长短时记忆网络LSTM的双耳语音分离方法,其特征在于:步骤(3)所述子带滤波计算方法为:

xL(i,n)=xleft(n)*gi(n)

xR(i,n)=xright(n)*gi(n)

其中,xLeft(n)、xRight(n)分别表示包含两个不同方位角声源的含噪混合训练左、右耳语音信号,xL(i,n)、xR(i,n)表示经过子带滤波器后得到的第i个子带的时域信号,gi(n)为第i个子带滤波器的脉冲响应函数;

分帧方法为:采用预设分帧长度和帧移,将信号xL(i,n)、xR(i,n)划分为多个单帧信号xL(i,k·N/2+m)、xR(i,k·N/2+m),其中,k为帧序号,m表示一帧内采样序号,m=0,1,...,N-

1,N为帧长,帧移取其一半;

加窗方法为:

xL(i,k,m)=wH(m)xL(i,k·N/2+m)

xR(i,k,m)=wH(m)xR(i,k·N/2+m)

其中,wH(m)表示窗函数,xL(i,k,m)、xR(i,k,m)分别表示第i个子带、第k帧的左、右耳语音信号,作为训练双耳语音信号的时频单元。

5.根据权利要求1所述的基于长短时记忆网络LSTM的双耳语音分离方法,其特征在于:所述步骤(4)中互相关函数CCF的计算公式为:

其中,xL(i,k,m)、xR(i,k,m)表示训练双耳语音信号的第i个子带、第k帧的时频单元,CCF(i,k,d)表示第i个子带、第k帧的时频单元对应双耳语音信号的互相关函数,d为延迟采样点数,L为最大延迟采样点数,N为帧长;

耳间时间差ITD计算方法为:

耳间强度差ILD的计算为:

本时频单元空间特征F(i,k)由CCF、ITD、ILD组成:F(i,k)=[CCF(i,k,-L) CCF(i,k,-L+1)···CCF(i,k,L) ITD(i,k) ILD(i,k)]其中F(i,k)表示第i个子带、第k帧双耳语音信号时频单元对应的空间特征矢量。

说明书 :

一种基于长短时记忆网络LSTM的双耳语音分离方法

技术领域

[0001] 本发明涉及语音分离算法,尤其涉及一种基于长短时记忆网络LSTM的双耳语音分离方法。

背景技术

[0002] 语音分离算法是语音信号处理的重要研究方向,也有比较广泛的应用场合,如电话会议系统中,语音分离技术可实现从多个发言人从提取感兴趣的声源,可以提高电话会议的效率;应用于语音识别的前期处理过程可以改善语音的质量,帮助提高识别的正确率;应用于助听装置时,可为听力障碍者提供更加突出目标声源,并提供有效语音信息。
[0003] 语音分离技术所涉领域很广,包括但不限于声学、数字信号处理、信息通讯、听觉心理与生理学等。双耳语音分离利用双耳信号的差异进行分析从而估计声源方位,目前的分离算法根据其分离参数的区别可以分为两类:
[0004] 1、基于耳间差的分离
[0005] Lord Rayleigh于1907年在球形人头假设之上,首次提出基于耳间线索差的分离理论,即由于声源与人的双耳位置之间的位置差异,使得双耳接收到的语音信号存在时间和强度差异,即耳间时间差(Inter-aural Time Difference,ITD)和耳间强度差(Inter-aural Intensity Difference,IID),这两方面因素差异是双耳语音分离的基础。与ITD、IID相关双耳语音信号的互相关函数(Cross Correlation Function,CCF)也是耳间差异参数,但实际环境中由于混响和噪声的干扰,会导致分离效果的下降。
[0006] 2、基于头相关传递函数的分离
[0007] ITD信息可以判断左、右方位的声源,而不能判别声音是来自前方还是后方,也不能分离仰角位置。但是基于与头相关传递函数(Head-Related Transfer Function,HRTF)的方法对语音的分离就不再局限于水平面及前向语音,可以实现对三维空间声源的分离,该方法利用HRTF数据库设计逆滤波器,通过逆滤波之后的双耳信号计算互相关值,据此来分离语音。此类方法解决了三维空间语音分离问题,但是计算复杂度过大,并且与头相关传递函数的个体性较强,对不同个体,或者周围环境有所差异(即存在不同噪声或混响情况下)时,可能导致实际传递函数与分离模型中使用的函数不一致,进而影响分离的效果。
[0008] 3、基于深度神经网络DNN的分离
[0009] 该方法将理想掩蔽比值IRM应用到多说话人分离问题中,通过方位角进行建模,将前向19个方位角的声源以及环境噪声提取改进的IRM值,作为神经网络的训练目标。在训练阶段首先对双耳语音信号进行预处理,将混合语音信号通过Gammatone滤波器组并进行分帧加窗,得到各个时频单元,提取时频单元的空间特征输入到DNN神经网络中进行训练。测试阶段,将提取的混合语音的时频空间特征送入训练完成的DNN中,DNN的输出结果即为估计掩蔽比值ERM。该分离方法具有很高的鲁棒性,在各种语音评价指标上相比于传统算法均有明显提升,但该方法没有利用到语音信号特征参数的时序相关特性。

发明内容

[0010] 发明目的:针对以往双耳语音分离算法在高噪声和强混响条件下,性能急剧下降的问题,本发明提出了一种长短时记忆网络LSTM的双耳语音分离方法,该方法采用LSTM网络对多环境下的特征参数进行训练。仿真测试结果表明,基于长短时记忆网络LSTM的双耳语音分离算法分离效果有显著提高。
[0011] 技术方案:本发明所述的基于长短时记忆网络LSTM的双耳语音分离方法包括以下步骤:
[0012] (1)将两个不同的训练单声道语音信号与不同方位角的与头相关脉冲响应函数HRIR相卷积,生成两个不同方位角的训练单声源双耳语音信号;
[0013] (2)将所述两个不同方位角的训练单声源双耳语音信号进行混合,得到包含两个声源的混合训练双耳语音信号,同时加入不同信噪比的噪声,得到不同声学环境下,包含两个不同方位角声源的含噪混合训练双耳语音信号;
[0014] (3)对步骤(2)得到的含噪混合训练双耳语音信号进行子带滤波、分帧和加窗,得到各个子带分帧后的训练双耳语音信号,即训练双耳语音信号的每个时频单元;
[0015] (4)对步骤(3)得到的训练双耳语音信号的每个时频单元,计算耳间互相关函数CCF、耳间时间差ITD和耳间强度差ILD,作为训练双耳语音信号各个时频单元的空间特征;
[0016] (5)将步骤(4)得到的每个时频单元的空间特征参数,与本子带内前、后5帧对应时频单元的空间特征一起作为长短时记忆网络LSTM网络的输入,将本时频单元的理想掩蔽比值IRM作为LSTM网络的目标值,训练LSTM网络;
[0017] (6)对不同声学环境下,包含两个不同方位角声源的混合测试双耳语音信号,按照步骤(3)和步骤(4)处理得到测试双耳语音信号各个时频单元的空间特征;
[0018] (7)将步骤(6)得到的每个时频单元的空间特征,与本子带内前、后5帧对应时频单元的空间特征一起输入训练好的LSTM网络中,得到每个时频单元的估计掩蔽比值ERM;
[0019] (8)根据步骤(7)得到的估计掩蔽比值ERM,将所述混合测试双耳语音信号进行分离,得到单个声源对应的时域语音信号。
[0020] 进一步的,步骤(1)中所述两个不同方位角的单声源双耳语音信号的计算公式为:
[0021] s1,L(n)=s1(n)*h1,Ls2,L(n)=s2(n)*h2,L
[0022] s1,R(n)=s1(n)*h1,R,s2,R(n)=s2(n)*h2,R
[0023] 其中,s1(n)、s2(n)为两个不同的单声源语音信号,s1,L(n)、s1,R(n)表示方位角1对应的单声源左、右耳语音信号,h1,L、h1,R表示方位角1的左耳HRIR、右耳HRIR,s2,L(n)、s2,R(n)表示方位角2对应的单声源左、右耳语音信号,h2,L、h2,R表示方位角2的左耳HRIR、右耳HRIR,*为卷积运算,n为采样序号。
[0024] 进一步的,步骤(2)所述包含两个声源的混合双耳语音信号的计算方法为:
[0025] sleft(n)=s1,L(n)+s2,L(n)
[0026] sright(n)=s1,R(n)+s2,R(n)
[0027] 其中sleft(n)、sright(n)为包含两个不同方位声源的混合训练双耳语音信号的左、右耳信号,s1,L(n)、s1,R(n)表示方位角1对应的单声源左、右耳语音信号,s2,L(n)、s2,R(n)表示方位角2对应的单声源左、右耳语音信号;
[0028] 所述含噪混合的训练双耳语音信号的计算方法为:
[0029] xleft(n)=sleft(n)+vL(n)
[0030] xright(n)=sright(n)+vR(n)
[0031] 其中,xLeft(n)、xRight(n)分别表示包含两个不同方位角声源的含噪混合训练左、右耳语音信号,vL(n)、vR(n)表示不同信噪比下的左、右耳噪声信号,vL(n)、vR(n)不相关。
[0032] 进一步的,步骤(3)所述子带滤波计算方法为:
[0033] xL(i,n)=xleft(n)*gi(n)
[0034] xR(i,n)=xright(n)*gi(n)
[0035] 其中,xLeft(n)、xRight(n)分别表示包含两个不同方位角声源的含噪混合训练左、右耳语音信号,,xL(i,n)、xR(i,n)表示经过子带滤波器后得到的第i个子带的时域信号,gi(n)为第i个子带滤波器的脉冲响应函数;
[0036] 分帧方法为:采用预设分帧长度和帧移,将信号xL(i,n)、xR(i,n)划分为多个单帧信号xL(i,k·N/2+m)、xR(i,k·N/2+m),其中,k为帧序号,m表示一帧内采样序号,m=0,1,...,N-1,N为帧长,帧移取其一半;
[0037] 加窗方法为:
[0038] xL(i,k,m)=wH(m)xL(i,k·N/2+m)
[0039] xR(i,k,m)=wH(m)xR(i,k·N/2+m)
[0040] 其中,wH(m)表示窗函数,xL(i,k,m)、xR(i,k,m)分别表示第i个子带、第k帧的左、右耳语音信号,作为训练双耳语音信号的时频单元。
[0041] 进一步的,所述步骤(4)中互相关函数CCF的计算公式为:
[0042]
[0043] 其中,xL(i,k,m)、xR(i,k,m)表示训练双耳语音信号的第i个子带、第k帧的时频单元,CCF(i,k,d)表示第i个子带、第k帧的时频单元对应双耳语音信号的互相关函数,d为延迟采样点数,L为最大延迟采样点数,N为帧长;
[0044] 耳间时间差ITD计算方法为:
[0045]
[0046] 耳间强度差ILD的计算为:
[0047]
[0048] 本时频单元空间特征F(i,k)由CCF、ITD、ILD组成:
[0049] F(i,k)=[CCF(i,k,-L) CCF(i,k,-L+1) ··· CCF(i,k,L) ITD(i,k) ILD(i,k)]
[0050] 其中F(i,k)表示第i个子带、第k帧双耳语音信号时频单元对应的空间特征矢量。
[0051] 进一步的,所述步骤(5)的LSTM网络的训练过程具体包括:
[0052] (5-1)构建LSTM网络,其中,LSTM网络由输入层、LSTM网络层和输出层组成,输入层包括各时刻的输入,输出层包括各时刻的输出,LSTM网络层包括各时刻的LSTM单元,LSTM的时间步长设置为11,即当前帧以及前后5帧,LSTM网络层中的每个LSTM单元与前后时刻LSTM单元分别双向连接;
[0053] (5-2)随机初始化LSTM网络层的权值;
[0054] (5-3)计算当前时频单元的理想掩蔽比值IRM,作为LSTM网络的目标值;其中,所述理想掩蔽比值IRM计算公式如下:
[0055] 以左声道为分离声道,将当前时频单元对应的方位角1的单声源左耳语音信号s1,L(n)经过子带滤波、分帧、加窗后得到第i个子带、第k帧的左耳语音信号sL(i,k,m),根据sL(i,k,m)计算IRM:
[0056]
[0057] (5-4)将每一时频单元的空间特征,与同一子带内前、后5帧时频单元的空间特征一起输入LSTM网络的输入层,即[F(i,k-5),F(i,k-4),…,F(i,k),…,F(i,k+4),F(i,k+5)];
[0058] (5-5)根据前向传播算法,得到LSTM网络的输出,即估计的掩蔽比值ERM,根据ERM和理想掩蔽值IRM的差值计算损失函数:
[0059]
[0060] 其中E[·]表示期望运算,‖·‖2表示L2范数;
[0061] (5-6)使用反向传播算法,计算损失函数J对网络权值的偏导,并修正网络的权值;
[0062] (5-7)若当前迭代次数小于预设总迭代次数,则返回至(5-4),继续输入下一批时频单元的空间特征进行计算,直至得到达到预设迭代次数,迭代结束,LSTM网络训练结束。
[0063] 有益效果:本发明与现有技术相比,其显著优点是本发明在每个时频单元内提取出训练双耳语音信号的互相关函数、耳间时间差、耳间强度差,组成空间特征作为训练样本,对LSTM网络进行训练,得到LSTM网络分离器。测试中提取测试双耳语音信号的多维特征参数,利用训练得到的LSTM网络分离器估计每帧双耳语音信号对应的估计掩蔽比值ERM。在不同声学环境下的实验结果表明,本发明提出的基于长短时间记忆网络LSTM的双耳语音分离方法,在高噪声和强混响情况下显著提升了分离效果,具有很好的鲁棒性。

附图说明

[0064] 图1是本发明的一个实施例的流程示意图;
[0065] 图2是语音信号各子带的CCF函数图;
[0066] 图3是本发明中的LSTM网络结构示意图。

具体实施方式

[0067] 如图1所示,本实施例提供的基于LSTM网络的双耳语音分离方法包括以下步骤:
[0068] 步骤一、将训练语音中两个不同的单声道语音信号与不同方位角的与头相关脉冲响应函数HRIR相卷积,生成两个不同方位的训练单声源双耳语音信号,每个声源的计算公式为:
[0069] s1,L(n)=s1(n)*h1,Ls2,L(n)=s2(n)*h2,L
[0070] s1,R(n)=s1(n)*h1,R,s2,R(n)=s2(n)*h2,R
[0071] 其中,s1(n)、s2(n)为两个不同的单声源语音信号,s1,L(n)、s1,R(n)表示方位角1对应的单声源左、右耳语音信号,h1,L、h1,R表示方位角1对应的左耳HRIR、右耳HRIR,s2,L(n)、s2,R(n)表示方位角2对应的单声源左、右耳语音信号,h2,L、h2,R表示方位角2对应的左耳HRIR、右耳HRIR,*为卷积运算,n为采样序号。
[0072] 单声道源信号采用CHAINS Speech Corpus语音库SOLO中的单声道女声、男语音信号。与头相关脉冲响应函数HRIR(Head Related Impulse Response)对应的方位角θ范围为[-90°,90°],间隔5°取值,总计37个方位角。每个方位角θ对应一对与头相关脉冲响应函数HRIR,即左耳HRIR、右耳HRIR。
[0073] 步骤二、将步骤一得到的两个不同方位的训练单声源双耳语音信号进行混合,得到包含两个声源的混合训练双耳语音信号,同时加入不同信噪比的噪声,得到不同声学环境下,包含两个不同方位角声源的含噪混合训练双耳语音信号,计算方法如下:
[0074] 包含两个声源的混合训练双耳语音信号的计算方法为:
[0075] sleft(n)=s1,L(n)+s2,L(n)
[0076] sright(n)=s1,R(n)+s2,R(n)
[0077] 其中sleft(n)、sright(n)为包含两个不同方位声源的训练混合双耳语音信号的左、右耳信号。
[0078] 含噪混合训练双耳语音信号的计算方法为:
[0079] xleft(n)=sleft(n)+vL(n)
[0080] xright(n)=sright(n)+vR(n)
[0081] 其中,xLeft(n)、xRight(n)分别表示包含两个不同方位角声源的含噪混合训练左、右耳语音信号,vL(n)、vR(n)表示不同信噪比下的左、右耳噪声信号,vL(n)、vR(n)不相关。
[0082] 生成噪声环境下的双耳语音信号,是为了能让LSTM网络能够学习到噪声环境下双耳语音信号对应的空间特征参数的分布规律。信噪比设置为0、5、10、15、20dB,从而得到两个不同方位角在不同声学环境下的双耳语音信号。这样对应每个方位角,得到无混响时,信噪比为0、5、10、15、20dB的双耳语音信号。
[0083] 步骤三、对步骤二得到的含噪混合训练双耳语音信号进行子带滤波、分帧、加窗,得到各个子带分帧后的训练双耳语音信号。
[0084] 子带滤波可以采用Gammatone滤波器组,Gammatone滤波器的时域冲激响应函数为:
[0085] gi(n)=An3e-2πbincos(2πfi)u(n)
[0086] 其中,i表示滤波器的序号;A为滤波器增益;fi是滤波器的中心频率;bi是滤波器的衰减因子,决定了脉冲响应的衰减速度;u(n)代表阶跃函数。本实施例采用的Gammatone滤波器组中的滤波器个数为33,中心频率范围为[50Hz,8000Hz]。
[0087] 子带滤波的计算公式为:
[0088] xL(i,n)=xleft(n)*gi(n)
[0089] xR(i,n)=xright(n)*gi(n)
[0090] 其中,xL(i,n)、xR(i,n)分别为滤波后的第i个子带的左耳语音信号、右耳语音信号,其中1≤i≤33。每个声道的语音信号经子带滤波后将得到33个子带语音信号。
[0091] 实际上,本发明的子带滤波器不限制于此实施例的滤波器结构,只要是能实现语音信号的子带滤波功能,都可以采用。
[0092] 分帧:在语音采样频率为16kHz的情况下,预设帧长为512,帧移为256,将每个子带的左耳、右耳语音信号划分为多帧信号,分帧之后的左、右耳语音信号分别为xL(i,k·N/2+m)、xR(i,k·N/2+m)。
[0093] 加窗的公式为:
[0094] xL(i,k,m)=wH(m)xL(i,k·N/2+m)
[0095] xR(i,k,m)=wH(m)xR(i,k·N/2+m)
[0096] 式中,xL(i,k,m)、xR(i,k,m)分别表示第i个子带、第k帧的左、右耳语音信号,其中1≤i≤33,N为帧长,取值512。
[0097] 窗函数为汉明窗:
[0098]
[0099] 步骤四、对于步骤三得到的各个子带分帧后的训练双耳语音信号,提取每一帧双耳语音信号的空间特征,即互相关函数CCF、耳间时间差ITD和耳间强度差ILD。
[0100] 互相关函数CCF的计算公式为:
[0101]
[0102] 其中CCF(i,k,d)表示第i个子带、第k帧的双耳语音信号对应的互相关函数,d为延迟采样点数,L为最大延迟采样点数。
[0103] 结合声音的传播速度和人头部尺寸,互相关函数的长度一般取[-1ms,1ms]之间的值。本发明中语音信号的采样率为16kHz,因此本实施例取L=16,这样每一帧训练双耳语音信号计算得到的CCF点数为33点。
[0104] 耳间时间差ITD的计算公式为:
[0105]
[0106] 耳间强度差ILD的计算公式为:
[0107]
[0108] 各个时频单元对应的空间特征为以上参数的组合形式:
[0109] F(i,k)=[CCF(i,k,-L)CCF(i,k,-L+1)···CCF(i,k,L)ITD(i,k)ILD(i,k)][0110] 其中,F(i,k)表示第i个子带、第k帧双耳语音信号时频单元对应的空间特征矢量。
[0111] 图2是一段语音信号时频单元的CCF函数,CCF在低频段与时延呈现相对简单关系,在高频段,会产生多个峰值。
[0112] 步骤五、对于步骤四得到的每一个时频单元的空间特征参数,连同本子带内前后5帧对应时频单元的空间特征作为长短时记忆网络LSTM网络的输入特征,将本时频单元的理想掩蔽比值IRM作为LSTM网络的目标值,基于前向传播和反向传播算法训练LSTM网络。输入特征格式为:[F(i,k-5),F(i,k-4),…,F(i,k),…,F(i,k+5)];
[0113] 下面给出本实施例的LSTM网络结构。实际上,本发明的LSTM网络的结构不限制于此实施例的网络结构。
[0114] 如图3所示,本实施例采用的LSTM网络,包含输入层、LSTM网络层和输出层。输入层包括各时刻的输入,输出层包括各时刻的输出,LSTM网络层包括各时刻的LSTM单元,LSTM网络层中的每个LSTM单元与前后时刻LSTM单元分别双向连接。输入层的输入为37×11维度的样本,其中37表示一个时频单元的空间特征数,11表示LSTM的时间步长设置为11(前后5帧以及当前帧)。LSTM网络层LSTM单元包含256个神经元,输出层包含20个神经元。训练阶段,将训练语音预处理过后提取每个时频单元的空间特征参数送入到LSTM网络中进行训练,将LSTM神经网络最后一个时刻的输出ERM和真实的IRM进行损失计算,损失函数采用均方误差损失函数,循环迭代得到训练好的网络。
[0115] 本实施例在仿真实验基础上,将学习率设置为0.0001,总迭代次数设置为400次,学习率设为0.0001可以避免误差函数和误分率振荡过大,同时迭代次数为400时,网络模型接近收敛。
[0116] 基于设定的参数,步骤五具体包括以下步骤:
[0117] (5-1)随机初始化LSTM网络层的权值;
[0118] (5-2)计算当前时频单元的理想掩蔽比值IRM,作为LSTM网络的目标值;其中,所述理想掩蔽比值IRM计算公式如下:
[0119] 以左声道为分离声道,将当前时频单元对应的方位角1的单声源左耳语音信号s1,L(n)经过子带滤波、分帧、加窗后得到第i个子带、第k帧的左耳语音信号sL(i,k,m),根据sL(i,k,m)计算IRM:
[0120]
[0121] (5-3)将每一时频单元的空间特征,与同一子带内前、后5帧时频单元的空间特征一起输入LSTM网络的输入层,即[F(i,k-5),F(i,k-4),…,F(i,k),…,F(i,k+4),F(i,k+5)];
[0122] (5-4)根据前向传播算法,得到LSTM网络的输出,即估计的掩蔽比值ERM,根据ERM和理想掩蔽值IRM的差值计算损失函数:
[0123]
[0124] 其中E[·]表示期望运算,‖·‖2表示L2范数。
[0125] (5-5)使用反向传播算法,计算损失函数J对网络权值的偏导,并修正网络的权值;
[0126] (5-6)若当前迭代次数小于预设总迭代次数,则返回至(5-3),继续输入下一批时频单元的空间特征进行计算,直至得到达到预设迭代次数,迭代结束,LSTM网络训练结束。
[0127] 步骤六、对不同声学环境下,包含两个不同方位角声源的混合测试双耳语音信号,按照步骤三和步骤四处理得到测试双耳语音信号各个时频单元的空间特征。
[0128] 步骤七、将步骤六得到的每个时频单元的空间特征,与本子带内前、后5帧对应时频单元的空间特征一起输入训练好的LSTM网络中,得到每个时频单元的估计掩蔽比值ERM。
[0129] 步骤八、根据步骤七得到的估计掩蔽比值ERM,将所述混合测试双耳语音信号进行分离,得到单个声源对应的时域语音信号。
[0130] 对以上方法进行仿真验证,性能评估采用分离语音质量PESQ(Perceptual Evaluation of Speech Quality)进行比较。参与比较的其他三种分离算法分别是:基于退化分离估算技术DUET的语音分离算法、基于理想二值掩膜IBM的DNN网络语音分离算法和基于理想比值掩膜IRM的DNN网络语音分离算法,本专利对应IRM-LSTM方法,前两种属于传统分离方法。
[0131] 四种方法的PESQ值如表1所示:
[0132] 表1四种方法PESQ值比较
[0133] SNR(dB) DUET IBM-DNN IRM-DNN IRM-LSTM0 1.403 1.467 1.946 1.874
5 1.57 1.656 2.121 2.140
10 1.754 1.834 2.258 2.355
15 1.923 1.982 2.386 2.528
20 2.102 2.119 2.510 2.654
无噪声 2.628 2.355 2.765 2.795
[0134] 根据表1的结果,基于LSTM网络的算法的PESQ值远高于传统算法,并且在除了0dB信噪比情况下,均比使用DNN网络的算法的PESQ值高。说明本专利算法分离的语音信号在主观评价指标上要明显优于DNN方法,有利于提升语音饱和度和语音主观听觉。
[0135] 同时将本专利算法在信噪比为-3,3,6,9,12dB环境进行测试,指标如表2所示。
[0136] 表2所有信噪比评价指标
[0137]SNR(dB) PESQ
-3 1.867
0 1.874
3 2.161
5 2.140
6 2.322
9 2.452
10 2.355
12 2.552
15 2.528
20 2.654
[0138] 从表中可以看出,针对训练没有的信噪比情况,PESQ指标均表现良好,与相邻的信噪比情况相似,因此基于LSTM网络的算法对于噪声信噪比情况的泛化性较好,具有很好的鲁棒性。
[0139] 同时对混响情况下的PESQ指标进行测试,分别采用200ms混响和600ms混响,结果如表3和表4所示:
[0140] 表3 200ms混响环境下四种方法PESQ值比较
[0141]SNR(dB) DUET IBM-DNN IRM-DNN IRM-LSTM
0 1.335 1.413 1.717 1.710
5 1.468 1.593 1.971 2.004
10 1.597 1.758 2.139 2.151
15 1.678 1.865 2.262 2.359
20 1.734 1.932 2.345 2.380
[0142] 表4 600ms混响环境下四种方法PESQ值比较
[0143] SNR(dB) DUET IBM-DNN IRM-DNN IRM-LSTM0 1.322 1.410 1.664 1.645
5 1.429 1.570 1.913 2.024
10 1.524 1.713 2.069 2.120
15 1.579 1.800 2.180 2.253
20 1.617 1.857 2.252 2.298
[0144] 根据表3、表4,基于LSTM网络的双耳语音分离算法在混响环境下的PESQ值高于基于DNN的算法,且显著高于其他两种传统算法,故该算法对于混响环境的泛化性能较好,具有很好的鲁棒性。
[0145] 以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。