一种应用于说话人识别的噪声消除方法与流程

文档序号:12368792阅读:257来源:国知局

本发明涉及语音处理领域,特别涉及一种应用于说话人识别的噪声消除方法。



背景技术:

随着现代社会信息的全球化,说话人识别成为语音识别技术研究热点之一。随着互联网的普及,网上用户登录、网上支付等也面临着一定的风险,声纹密码可以在原有密码基础上增加账户的安全性。声纹识别即说话人识别系统,目前在实验环境下达到了很高的识别效果,但在实际应用中却表现不佳。导致这一结果的原因主要是由于实际应用中噪声对语音的影响,这里的噪声主要包括环境噪声和信道噪声。当前,如何提高噪声条件下的声纹识别效果,已经成为了该领域的研究重点。

在参考文献[1](Sadjadi S O,Hasan T,Hansen J H L.Mean Hilbert Envelope Coefficients(MHEC)for Robust Speaker Recognition[C]//INTERSPEECH.2012)、参考文献[2](Shao Y,Wang D L.Robust speaker identification using auditory features and computational auditory scene analysis[C]//Acoustics,Speech and Signal Processing,2008.ICASSP 2008.IEEE International Conference on.IEEE,2008:1589-1592)和参考文献[3](Li Q,Huang Y.Robust speaker identification using an auditory-based feature[C]//Acoustics Speech and Signal Processing(ICASSP),2010IEEE International Conference on.IEEE,2010:4514-4517)中,作者尝试使用对噪声不敏感的特征来提高系统对噪声环境的鲁棒性。但这些特征主要试图提高特征的整体鲁棒性,没有对特定噪声进行针对性优化。

在参考文献[4](J.Pelecanos and S.Sridharan,“Feature warping for robust speaker verification,”in Proc.Odyssey:The Speaker and Language Recognition Workshop,Crete,Greece,Jun.2001,pp.213–218)中,作者通过一定的特征变换来提高特征对噪声的鲁棒性,但是该方法的实时计算量太大。在参考文献[5](Man-Wai M A K.SNR-Dependent Mixture of PLDA for Noise Robust Speaker Verification[J].in Interspeech.2014,pp.1855-1899)中,作者通过在训练数据中添加噪声来提高系统对噪声的鲁棒性。该方法对于已经在线应用的系统需要更换系统背景模型,且对于不同的应用场景需要重新训练背景模型,对于系统在实际应用中的部署带来很大不便。



技术实现要素:

本发明的目的在于克服已有的噪声消除方法所存在的缺陷,从而提供一种在特征层消除噪声的方法

为了实现上述目的,本发明提供了一种应用于说话人识别的噪声消除方法,包括:利用加噪后语音的声学谱特征时域上相邻的多帧特征来消除特征中噪声的影响。

上述技术方案中,该方法包括以下步骤:

步骤1)、判断测试集中的语音数据所包含的噪声类型,对所含噪声类型中的任意一种噪声类型,在较宽的信噪比范围内取若干个有代表性的信噪比,作为与该噪声类型相对应的信噪比;其中,所述测试集包括了用于做说话人识别的语音数据;

步骤2)、采用多个不含噪声的训练集语音数据作为噪声消除训练数据,为噪声消除训练数据按照步骤1)取定的若干个信噪比分别进行加噪,得到加噪后的噪声消除训练数据组;其中,所述训练集包括来自说话人识别系统中的通用背景模型的语音数据;

步骤3)、对未加噪前的噪声消除训练数据和步骤2)所得到的加噪后的噪声消除训练数据分别提取声学谱特征,得到对应的声学谱特征组;

步骤4)、根据步骤3)所得到的未加噪前的噪声消除训练数据的声学谱特征组,以及按照某一信噪比加噪后的噪声消除训练数据的声学谱特征组,利用梯度下降算法训练该信噪比对应的特征邻近帧补偿的模型参数;重复本步骤,直至得到步骤1)中所选择的所有信噪比所对应的特征邻近帧补偿的模型参数;

步骤5)、为测试集中的语音提取声学谱特征;

步骤6)、为测试集中的每句语音分别做噪声类型判断和信噪比估计;

步骤7)、根据步骤6)所得到的噪声类型与信噪比估计结果,从步骤1)中所确定的若干个有代表性的信噪比中寻找最为接近的信噪比,然后从步骤4)所得到的结果中选取与该最为接近的信噪比相关的特征邻近帧补偿的模型参数;利用该特征邻近帧补偿的模型参数为步骤5)得到的测试集语音的声学谱特征进行邻近帧补偿,得到恢复后的特征向量;

步骤8)、利用步骤7)所得到的特征向量做说话人识别。

上述技术方案中,所述提取声学谱特征包括:首先提取通用的美尔倒谱特征,然后求取差分倒谱特征。

上述技术方案中,所述特征邻近帧补偿的模型参数为Γ矩阵,所述Γ矩阵的表达式为: <mrow> <mi>&Gamma;</mi> <mo>=</mo> <msup> <mrow> <mo>[</mo> <msub> <mover> <mi>&gamma;</mi> <mo>&RightArrow;</mo> </mover> <mn>1</mn> </msub> <mo>,</mo> <msub> <mover> <mi>&gamma;</mi> <mo>&RightArrow;</mo> </mover> <mn>2</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>&gamma;</mi> <mo>&RightArrow;</mo> </mover> <mi>D</mi> </msub> <mo>]</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>D</mi> <mo>*</mo> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>*</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>*</mo> <mi>D</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msup> <mo>;</mo> </mrow>其中,

<mrow> <msub> <mover> <mi>&gamma;</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>[</mo> <msubsup> <mover> <mi>&alpha;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>n</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>T</mi> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mover> <mi>&alpha;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> </mrow> <mi>T</mi> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>&lambda;</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> <mi>T</mi> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>&beta;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> </mrow> <mi>T</mi> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mover> <mi>&beta;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>n</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>T</mi> </msubsup> <mo>,</mo> <msub> <mi>&chi;</mi> <mi>j</mi> </msub> <mo>]</mo> </mrow> <mi>T</mi> </msup> <mo>;</mo> </mrow>D表示声学谱特征的特征维数,T表示矩阵或向量的转置;RD*((2*k+1)*D+1)表示D行(2*k+1)*D+1列的实数矩阵的集合;χj是一个待估计系数;其中,

<mrow> <msub> <mover> <mi>&alpha;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>&alpha;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>&alpha;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>&alpha;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>D</mi> </msubsup> <mo>}</mo> <mo>;</mo> </mrow>

<mrow> <msub> <mover> <mi>&beta;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>&beta;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>&beta;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>&beta;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>D</mi> </msubsup> <mo>}</mo> <mo>;</mo> </mrow>

<mrow> <msub> <mover> <mi>&lambda;</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>&lambda;</mi> <mi>j</mi> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>&lambda;</mi> <mi>j</mi> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>&lambda;</mi> <mi>j</mi> <mi>D</mi> </msubsup> <mo>}</mo> <mo>;</mo> </mrow>

所述步骤4)进一步包括:

步骤4-1)、初始化矩阵Γ;

步骤4-2)、对所有训练用的特征,计算

<mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>&epsiv;</mi> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&Gamma;</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mn>1.0</mn> <mi>M</mi> </mfrac> <mo>*</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mrow> <mo>(</mo> <mi>&Gamma;</mi> <mo>*</mo> <msub> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>-</mo> <msub> <mover> <mi>x</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msubsup> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> <mi>T</mi> </msubsup> <mo>;</mo> </mrow>

其中,·表示向量内积;M表示语音声学谱特征的帧数;

<mrow> <msub> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>=</mo> <mo>[</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>+</mo> <mi>n</mi> </mrow> </msub> <mo>,</mo> <mn>1</mn> <mo>]</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>D</mi> </msubsup> <mo>}</mo> <mo>,</mo> </mrow> <mrow> <msub> <mover> <mi>x</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>D</mi> </msubsup> <mo>}</mo> <mo>;</mo> </mrow>i=1,2,...,M;

步骤4-3)、更新Γ:η为更新系数;

步骤4-4)、重复步骤4-2)和步骤4-3)直到ε收敛。

上述技术方案中,在步骤7)中,所述临近帧补偿包括:

其中,为加噪后的噪声消除训练数据的经过邻近帧补偿之后的特征, <mrow> <msub> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>=</mo> <mo>[</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>+</mo> <mi>n</mi> </mrow> </msub> <mo>,</mo> <mn>1</mn> <mo>]</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>D</mi> </msubsup> <mo>}</mo> <mo>,</mo> </mrow>D表示声学谱特征的特征维数。

本发明的优点在于:

1、本发明的方法实现了在特征层消除噪声影响;

2、本发明的方法不需要增加额外的训练数据;

3、本发明的方法在系统速度不会大幅降低的情况下可以明显提高系统在在噪声环境下的性能。

附图说明

图1是本发明的噪声消除方法的流程图。

具体实施方式

现结合附图对本发明作进一步的描述。

本发明提供一种在特征层消除噪声的方法,该方法利用加噪后语音的声学谱特征时域上相邻的多帧特征来消除特征中噪声的影响,从而达到提高噪声条件下说话人识别系统的性能。

本发明的噪声消除方法涉及到两种类型的语音数据集:测试集、训练集。所述的测试集包括了所有用于做说话人识别的语音数据,这些语音数据需要在本申请中先行消除噪声;所述的训练集包括了来自说话人识别系统中的通用背景模型的语音数据,这些语音数据是信噪比在25db以上的语音,可以认为不含有噪声。

参考图1,本发明的噪声消除方法包括以下步骤:

步骤1)、判断测试集中的语音数据所包含的噪声类型,对所含噪声类型中的任意一种噪声类型,在较宽的信噪比范围(如-20dB~25dB)内取若干个有代表性的信噪比,作为与该噪声类型相对应的信噪比;

在图1中,所选取的若干个有代表性的信噪比用SNR_1、SNR_2、…、SNR_N表示。

步骤2)、采用m个不含噪声的训练集语音数据作为噪声消除训练数据,为噪声消除训练数据按照步骤1)取定的若干个信噪比分别进行加噪,得到加噪后的噪声消除训练数据组;

在图1中,加噪后的噪声消除训练数据组用W_1、W_2、…、W_N表示,其中W_i(i=1,2,…,N)表示对m个不含噪声的训练集语音数据按照信噪比SNR_i(i=1,2,…,N)加噪后的m个含噪声的语音。

步骤3)、对未加噪前的噪声消除训练数据(也称为原始干净语音)和步骤2)所得到的加噪后的噪声消除训练数据分别提取声学谱特征,得到对应的声学谱特征 组;其中,

所述提取声学谱特征包括:首先提取通用的美尔倒谱特征(MFCC),然后求取差分倒谱特征(MFCC-Delta)。声学谱特征提取后,训练数据的每一帧得到36维特征向量,在图1中将训练语音数据的声学谱特征组记为“F_0”、“F_1”、…、“F_N”。其中,F_0表示未加噪的m个原始干净语音的声学谱特征,F_i(i=1,2,…,N)是W_i(i=1,2,…,N)的声学谱特征组。

步骤4)、根据步骤3)所得到的原始干净语音的声学谱特征组F_0和按照信噪比SNR_i(i=1,2,…,N)加噪后语音的声学谱特征组F_i(i=1,2,…,N),利用梯度下降算法训练该信噪比SNR_i对应的特征邻近帧补偿的模型参数Γ矩阵;重复本步骤,直至得到步骤1)中所选择的所有信噪比所对应的特征邻近帧补偿的模型参数;

在本步骤中,将原始干净语音数据的声学谱特征组F_0记为采用信噪比SNR_i加噪后的噪声消除训练数据的声学谱特征组F_i记为 <mrow> <mi>Y</mi> <mo>=</mo> <mo>{</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mn>1</mn> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mn>2</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mi>M</mi> </msub> <mo>}</mo> <mo>;</mo> </mrow>其中, <mrow> <msub> <mover> <mi>x</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mi>D</mi> </msubsup> <mo>}</mo> <mo>,</mo> </mrow>j=1,2,...,M,D表示声学谱特征的特征维数,M表示语音声学谱特征的帧数。

对于采用某一信噪比加噪后的噪声消除训练数据的第i帧特征,在本申请中采用与它相邻的左右各n帧来进行补偿,补偿过程如公式(1)所示:

其中,表示补偿后的结果,i=1,2,...,M,j=1,2,...,D;χj是一个待估计系数,模型矩阵T中的一部分。令

<mrow> <msub> <mover> <mi>&lambda;</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>&lambda;</mi> <mi>j</mi> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>&lambda;</mi> <mi>j</mi> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>&lambda;</mi> <mi>j</mi> <mi>D</mi> </msubsup> <mo>}</mo> </mrow>

<mrow> <msub> <mover> <mi>&alpha;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>&alpha;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>&alpha;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>&alpha;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>D</mi> </msubsup> <mo>}</mo> </mrow>

<mrow> <msub> <mover> <mi>&beta;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mo>{</mo> <msubsup> <mi>&beta;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>&beta;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>&beta;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>D</mi> </msubsup> <mo>}</mo> </mrow>

则(1)可以写成为:

其中,·表示向量内积,i=1,2,...,M,j=1,2,...,D。令

<mrow> <msub> <mover> <mi>&gamma;</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>[</mo> <msubsup> <mover> <mi>&alpha;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>n</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>T</mi> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mover> <mi>&alpha;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> </mrow> <mi>T</mi> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>&lambda;</mi> <mo>&RightArrow;</mo> </mover> <mi>j</mi> <mi>T</mi> </msubsup> <mo>,</mo> <msubsup> <mover> <mi>&beta;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mn>1</mn> <mo>,</mo> <mi>j</mi> </mrow> <mi>T</mi> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mover> <mi>&beta;</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>n</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>T</mi> </msubsup> <mo>,</mo> <msub> <mi>&chi;</mi> <mi>j</mi> </msub> <mo>]</mo> </mrow> <mi>T</mi> </msup> </mrow>

<mrow> <msub> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>=</mo> <mo>[</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&RightArrow;</mo> </mover> <mrow> <mi>i</mi> <mo>+</mo> <mi>n</mi> </mrow> </msub> <mo>,</mo> <mn>1</mn> <mo>]</mo> </mrow>

则式(2)可进一步改写为:

其中,i=1,2,...,M,j=1,2,...,D;

用T表示矩阵或向量的转置,令 <mrow> <mi>&Gamma;</mi> <mo>=</mo> <msup> <mrow> <mo>[</mo> <msub> <mover> <mi>&gamma;</mi> <mo>&RightArrow;</mo> </mover> <mn>1</mn> </msub> <mo>,</mo> <msub> <mover> <mi>&gamma;</mi> <mo>&RightArrow;</mo> </mover> <mn>2</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mover> <mi>&gamma;</mi> <mo>&RightArrow;</mo> </mover> <mi>D</mi> </msub> <mo>]</mo> </mrow> <mi>T</mi> </msup> <mo>&Element;</mo> <msup> <mi>R</mi> <mrow> <mi>D</mi> <mo>*</mo> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>*</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>*</mo> <mi>D</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msup> <mo>;</mo> </mrow>其中,RD*((2*k+1)*D+1)表示D行(2*k+1)*D+1列的实数矩阵的集合;

则加噪后的噪声消除训练数据的经过邻近帧补偿之后的特征表示为:

其中,

在步骤4)中,D表示特征的维数。需要学习的参数就是Γ矩阵的元素,邻近帧补偿的目标是使加噪后的噪声消除训练数据的特征经过(4)式恢复后得到的与干净语音的特征最接近。所以,选取待优化函数

ε越小,表示恢复后的特征越接近干净语音的特征。所以,模型学习的过程就是选择最优的Γ矩阵使ε达到最小。学习过程采用如式(6)所示的梯度下降算法:

<mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>&epsiv;</mi> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&Gamma;</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mn>1.0</mn> <mi>M</mi> </mfrac> <mo>*</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mrow> <mo>(</mo> <mi>&Gamma;</mi> <mo>*</mo> <msub> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>-</mo> <msub> <mover> <mi>x</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>*</mo> <msubsup> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> <mi>T</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

具体训练过程如下:

步骤4-1)、初始化矩阵Γ;

步骤4-2)、对所有训练用的特征,计算

<mrow> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>&epsiv;</mi> </mrow> <mrow> <mo>&PartialD;</mo> <mi>&Gamma;</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mn>1.0</mn> <mi>M</mi> </mfrac> <mo>*</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mrow> <mo>(</mo> <mi>&Gamma;</mi> <mo>*</mo> <msub> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>-</mo> <msub> <mover> <mi>x</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>&CenterDot;</mo> <msubsup> <mover> <mi>z</mi> <mo>&RightArrow;</mo> </mover> <mi>i</mi> <mi>T</mi> </msubsup> <mo>;</mo> </mrow>

步骤4-3)、更新Γ:η为更新系数(一般固定取一个较小的正实数);

步骤4-4)、重复步骤4-2)和步骤4-3)直到ε收敛。

步骤5)、为测试集中的语音提取声学谱特征;

其中,所述提取声学谱特征包括:首先提取通用的美尔倒谱特征(MFCC),然后求取差分倒谱特征(MFCC-Delta)。特征提取后,测试数据的每一帧得到36维特征向量。

步骤6)、为测试集中的每句语音分别做噪声类型判断和信噪比估计;

步骤7)、根据步骤6)所得到的噪声类型与信噪比估计结果,从步骤1)中所确定的若干个有代表性的信噪比中寻找最为接近的信噪比,然后从步骤4)所得到的结果中选取与该最为接近的信噪比相关的特征邻近帧补偿的模型参数;利用该特征邻近帧补偿的模型参数为步骤5)得到的测试集语音的声学谱特征进行邻近帧补偿,得到恢复后的特征向量。

在本步骤中,测试集中的语音所提取的声学谱特征序列为对于第i帧特征,在确定邻近帧补偿模型Γ后,可根据前述的公式(4)计算从而得到新的特征序列

步骤8)、利用步骤7)所得到的特征向量做说话人识别。

以上是对本发明的噪声消除方法的步骤的描述。从上述描述可以看出,本发明的方法在为训练集中的语音数据训练模型参数时,依赖于由测试集中的语音数据所确定的噪声类型与信噪比。在一定的应用场景下,测试集中的语音数据所包含的噪声类型与所选取的信噪比可以认为是固定的,此时可重复使用之前训练得到的模型参数。但一旦应用场景发生变化,则测试集中的语音数据所含噪声类型与所选取的信噪比会发生变化,此时需要重新训练模型参数。

本申请人采用本发明的方法进行了大量实网数据的测试,在传统的说话人识别系统基础上,采用基于邻近帧补偿的噪声消除方法后系统在加噪的测试集上识别性能有相对10%-15%的提升。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

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