崔 潇, 夏秀渝
(四川大学 电子信息学院, 成都 610065)
近年来,说话人识别的研究获得了迅速发展,在军事、信息安全和通信等领域都有广泛应用[1]。 在现实环境中,由于噪声的存在,导致说话人系统的识别率显著下降。 因此如何提高系统在噪声环境下的识别性能成为研究热点。
在特征提取方面,常用的说话人识别特征有梅尔频率倒谱系数(Mel Frequency Cepstral Coefficient,MFCC)[2]、线性预测倒谱系数(Linear Prediction Cepstral,LPCC)[3]等。 通过对Gammatone 滤波器的研究,Chen 等人[4]提出多分辨率耳蜗图(Multiresolution cochleagram,MRCG),相较于MFCC 和LPCC 特征,则具有更好的抗噪性能。
随着机器学习算法的发展,神经网络被用于说话人识别中,杨瑶等人[5]使用误差反向传播(Back Propagation,BP)网络进行文本无关的说话人识别研究。 盖晁旭[6]利用稀疏(Sparse Autoencoder,SA)提取说话人特征进行说话人识别,循环神经网络(Recurrent Neural Networks,RNN)具有记忆功能,处理时序数据的能力较强。 目前, Hochreiter 和Schmidhuber 提出的长短时记忆网络[7](Long Short Term Memory,LSTM)是应用最广泛的RNN 网络之一。 LSTM 网络在处理时间范围较大的信息时具有更好的性能,被用于语种识别[8]、语音识别[9]、音素分类[10]、唇语识别[11]等多个领域中。
本文构建了基于MRACC 特征的说话人识别系统。 在噪声环境下,首先使用文中提出的改进型谱减法完成语音的预降噪处理,接着提取基于多分辨率耳蜗图的MRACC 特征,最后将特征参数输入到LSTM 网络中实现模型的训练与匹配,通过实验验证了本文提出的说话人识别方法的有效性。
本文的说话人识别系统框图如图1 所示。 主要包含预处理、特征提取、模型训练、模型匹配和决策判决五个模块。 在训练过程中,首先对训练集语音进行特征参数提取,然后利用训练集的特征参数通过模型训练得到说话人模型库。 在测试过程中,则对测试集语音信号进行预处理操作,同样提取说话人的特征参数,再通过比对输出概率进行判决,输出概率最高者即为识别的说话人。
图1 说话人识别系统框图Fig.1 Block diagram of speaker recognition system
针对复杂噪声环境,对语音信号进行的预处理包括预加重、前端降噪处理等。
1.1.1 预加重
预加重的目的是提升语音的高频分量。 通常使用一阶高通滤波器实现预加重技术, 其传递函数可表示为:
其中,a为预加重系数。 通常,0.9<a <1.0,实验中a取0.97。
1.1.2 前端降噪处理
为了解决噪声较大时,说话人系统的识别准确率较低的问题,本文先对含噪语音信号采用前端降噪处理提高识别率。 谱减法是最常用的降噪方法,发展较为成熟,简单容易实现。 谱减法的基本原理是在假设噪声是统计平稳的前提下估计噪声的频谱值,与含噪语音的频谱值相减,得到纯净语音的频谱估计值。 但实际噪声往往是随机非平稳的,语音降噪后常产生“音乐噪声”,针对上述问题,本文提出了一种根据信噪比动态调整参数的改进型谱减法。算法主要步骤如下:
(1)能熵比算法端点检测。 在噪声环境下,能熵比法具有较好的端点检测效果,在其计算过程中和谱减法有共用的部分,组合使用运算量小。 能熵比的数学定义如下:
其中,AM Pi表示第i帧语音的能量,Hi表示第i帧语音的谱熵。
(2)噪声谱实时更新。 实际噪声往往是非平稳的,文中采用滑动平均的方法对非语音段内的噪声谱进行实时更新。 在静音段,为了得到较小的谱估计方差,对第i帧频谱进行如下平滑处理:
其中,Yi(k) 表示第i帧第k条谱线的谱值。 本文中M =1,即在计算3 帧的平均值。
(3)动态调整参数。 根据带噪语音的信噪比动态调整改进谱减法的一组参数,实现抑制噪声和语音失真的折中。 改进型谱减法定义如式(4)所示:
其中,α为过减因子,β为增益补偿因子。 同时这里引入了参数λ。
参数α和λ值的大小会影响去噪程度,α和λ的值越大,噪声去除得越多,音乐噪声越小,但语音失真也越厉害;增益补偿因子β值过大会带来噪声残留,过小会产生“音乐噪声”。
为取得噪声抑制和语音失真之间的平衡,采取根据信噪比动态调整参数α、β、λ的方法:
其中,σ是一个控制曲线陡峭程度的参数,τ是偏差参数。 通过实验选取最优参数值为:σ =0.9,τ =15。SNR为每帧语音的短时信噪比,是一种后验信噪比,计算如下:
特征提取是说话人识别系统中重要的部分,常用的语音特征包括MFCC、LPCC 和MRCG 等。 其中,MFCC 利用基于听觉模型的Mel 滤波器组进行提取,是一种最常用的语音特征参数,而LPCC 参数是基于声道模型理论,通过线性预测分析得到的一种语音特征参数。 说话人识别应用中,LPCC 在纯净语音环境下识别效果较好;相较于LPCC,MFCC对噪声环境有一定的鲁棒性,但在低信噪比环境下的识别率仍然较低。 MRCG 特征采用Gammatone 滤波器组模拟人耳听觉模型,有效提取了多分辨率的cochleagram。 该特征既关注了细节性的高分辨率特征,又可把握全局性的低分辨率特征,具有一定的鲁棒性。 但都是通过采用对数函数对语音能量进行压缩来模拟人耳对语音强度感知的非线性特性,对数压缩在高音段可以很好地模拟人耳听觉特性,却在低音段会产生较大误差。 尤其是在含噪情况下,当噪声较小时,对数压缩会扩大小信号的影响,不利于进行说话人识别。 另一方面,MRCG 特征维数较大,计算复杂度高。 基于前文分析,本次研究对MRCG特征进行了改进,提取一种改进的语音特征参数-多分辨率听觉倒谱系数MRACC 特征。 MRACC 特征提取过程如图2 所示。
图2 MRACC 特征提取过程图Fig.2 MRACC feature extraction process diagram
MRACC 特征参数提取步骤如下:
(1)时频分解。 输入信号x(t) 经过Gammatone滤波器后分解为64 个子带信号G(t,fc),对应公式为:
其中,U(t) 表示单位阶跃函数,g(t,fc) 为Gammatone 滤波器的频率响应。
对子带信号G(t,fc) 进行加窗分帧,得到时频分解表达式yi(t,fc),对应公式为:
其中,w(t) 为窗函数,本文选择汉明窗;inc为帧移,设置为10 ms;帧长设置为20 ms。
对时频单元提取听觉能量(cochlea gram),得到第i帧中心频率为fc的时频单元的听觉能量。 计算公式为:
其中,yi(t,fc) 表示第i帧中心频率为fc的子带信号。
(2)幂函数压缩。 原始MRCG 特征使用对数函数对听觉能量进行非线性压缩处理,对数压缩会扩大语音中小信号的影响。 当噪声较小时,同样也对噪声进行了放大,所以针对存在噪声的情形,考虑改进非线性压缩方式。 通过研究发现,基于强度-响度感知的幂函数可以代替对数函数更好地模拟人耳对各个音强段的感知特性。 听觉能量GF1经过幂函数处理,得到耳蜗图(CG1),如式(12)所示:
实验表明,n =15 可以很好地模拟人耳感知音强的非线性特性。
对数函数压缩的函数曲线与幂函数压缩的函数曲线如图3 所示。 由图3 可以看出,对数函数与幂函数相比,对小信号放大更多,抑制噪声的性能会更差一些。 因此本文提取特征时,选择了幂函数代替对数函数对听觉能量进行非线性压缩。
图3 非线性压缩函数图Fig.3 Non-linear compression function graph
(3)多分辨率耳蜗图特征提取。 文中,将帧长改为200 ms,计算时频单元2 的听觉能量GF2,并进行幂函数压缩得到耳蜗图CG2,表达式为:
取长为11 帧,宽为11 个子带的方形窗对CG1进行平滑,得到耳蜗图(CG3),计算公式为:
和CG3计算相似,使用长为23 帧,宽为23 个子带的方形窗对CG1进行平滑,得到耳蜗图(CG4),计算公式为:
将CG1、CG2、CG3和CG4合并得到64*4 维的特征向量,其表达式为:
(4)离散余弦变换(DCT)。 对得到的MRCG 特征进行离散余弦变换的目的是去除相关性,其表达式为:
其中,c表示频率通道,c的范围为[0,64];M为总通道数,本文中M取64。 当c >32 时,MRACC(i,fc) 的值基本接近于0,因此选取前32 维特征,即32*4 维的特征向量。
机器学习在语音识别领域取得了可观的研究成果,所以越来越多地将神经网络用于说话人识别中。BP 网络简单实用,但存在网络训练容易陷于局部最优解、无法调整到网络低层参数等问题。 近年来提出了各种基于深度学习的深度神经网络,如稀疏编码网络(SA)、卷积神经网络(CNN)等。 这些网络拥有更强大的建模和表征能力, 能够实现复杂函数的逼近,不过这些网络属于前馈网络,表征时序信号的能力有限。 而语音具有时序性,循环神经网络适合处理前后文有明显关系的数据,因此本文的神经网络模型选择RNN 网络。 LSTM 是一种特殊的RNN类型,是在RNN 的基础上增加了输入门、遗忘门和输出门。 可以改善RNN 网络存在的梯度消失、梯度爆炸等问题。 网络结构如图4 所示。
图4 LSTM 细胞结构图Fig.4 LSTM cell structure diagram
在图4 中,输入门it决定送入记忆单元的信息以及更新;遗忘门ft根据上一时刻的输出ht-1以及此时的输入xt进行信息选择,保留重要信息,遗忘非重要信息;输出门ot控制当前细胞单元的输出,确定哪些信息可作为下一时刻的输入。 计算公式如下所示:
其中,Wf、Wi、Wo为权重参数;bf、bi、bo为偏置参数; 激活函数均为sigmoid。
当前时刻的候选记忆细胞c~t、记忆细胞ct和隐藏单元ht可用式(21)~(23)进行计算:
其中,“ *”为Hadamard 积。
本文采用LSTM 神经网络构建说话人识别模型,利用LSTM 神经网络学习一个由语音特征参数到说话人识别结果的非线性映射。 LSTM 网络模型结构如图5 所示。 网络的输入序列层节点数为语音特征的维度;设置2 层LSTM 隐藏层,用来传递信息;为了防止过拟合现象,设置Dropout 层;最后依次为全连接层、Softmax 层和分类层,输出节点数为说话人的数目。 训练阶段,将特征序列输入到LSTM 网络,LSTM 网络将根据序列数据的时间步进行训练,多次训练保存最优模型,由此得到说话人模型。 识别阶段,将测试语音的特征序列输入训练好的说话人模型中,得到预测结果,将其进行比对,概率最大的即为预测的说话人身份。
图5 LSTM 网络模型结构图Fig.5 LSTM network model structure diagram
实际应用环境复杂,多数情况下都存在环境噪声,针对噪声环境下说话人识别系统的识别率显著下降问题,本文分别从鲁棒性特征参数和语音预降噪处理角度对识别系统进行了改进。
2.1.1 实验数据集
本文使用语音来自TIMIT 库语音集[12],语音信号采样率是16 kHz,量化位数为16 bit,单通道录音。 此语音集由8 种美国英语方言组成,包含630个说话人的录音。 每个人共10 个种类丰富的句子,其中包含方言、紧凑句子以及音素发散句子。 实验噪声选取的是来自noisex-92 噪声库的write 噪声、pink 噪声以及非平稳factory 噪声。 原始纯净语音分别加入不同信噪比的上述噪声模拟含噪语音。 信噪比大小设置为0 dB、5 dB、10 dB、30 dB。
2.1.2 实验设置
从数据集中选取50 个说话人(男30 人,女20人),按照4 ∶1 的比例分成训练样本集和测试样本集。 每个人的训练模型使用8 句语音,测试使用2句语音。 对语音进行预处理后,按帧长320、帧移160,逐帧提取语音特征参数。
本文使用的特征包括MRACC、MRCG、MFCC、LPCC 特征。 特征维度设置如下:MACC 特征参数为128 维;MRCG 特征参数为256 维;MFCC 参数包含12 维MFCC、以及12 维一阶差分参数和12 维二阶差分参数,共36 维;LPCC 参数12 维。
说话人识别模型采用神经网络模型,分别为BP网络、SA 稀疏编码网络、LSTM 网络。 网络模型的具体设置如下:LSTM、BP、SA 网络的输入层节点数均为输入特征的维度,输出层节点数为说话人数目;隐藏层设置分别为LSTM 网络设置2 层隐藏层,每层节点数均为400;BP 神经网络隐藏层设置2 层,每层节点数也都为400;SA 网络设置2 层隐藏层,每层节点数也都为400。
为了验证本文提出的降噪方法的必要性以及有效性。 进行了以下对比试验,本组实验特征参数选择MRACC,网络模型为LSTM 网络。 实验结果见表1。
表1 说话人识别系统是否进行降噪处理的识别率Tab.1 The recognition rate of whether the speaker recognition system carries out noise reduction %
从表1 可以看出,在以上噪声环境下,进行前端降噪处理相较于未进行前端降噪处理识别率高,如在factory 噪声0 dB 环境下,本文方法和常规谱减法对比未进行降噪处理的识别率分别提高了14%和6%,因此进行前端降噪处理是有必要的,分析后可知对比常规谱减法,本文提出的降噪方法更有效。
为了 验 证 MRACC 特 征 的 有 效 性, 选 取MRACC、MRCG、MFCC、LPCC 四种特征参数进行了以下2 组实验。 网络模型选择LSTM 网络。 实验一是验证MRACC 特征的抗噪性能进行的对比试验,实验结果见表2。 实验二为验证经过前端降噪处理后MRACC 性能的对比实验,实验结果见表3。
表2 未进行前端降噪处理的不同特征参数的识别率Tab.2 The recognition rate of different feature parameters without front-end noise reduction %
表3 进行前端降噪处理的不同特征参数的识别率Tab.3 The recognition rate of different feature parameters for the front-end noise reduction %
由表2 得到,在factory 噪声信噪比0 dB 时,MRACC 识别率比MRCG 高出8%,比传统特征MFCC 和LPCC 均 高出 约10%。 在10 dB 时,MRACC 识别率比MRCG、传统特征MFCC 和LPCC分别高出约10%、15%和20%。 因此MRACC 特征相较于MRCG、MFCC、LPCC 特征在噪声环境下的识别率更好,该特征的抗噪性能较好。
针对复杂的噪声情况,研究中对语音先降噪处理,再提取特征。 由表3 可以看出,在write 噪声环境下,当信噪比为30 dB 时,MRACC 识别率比MRCG 高出约10%,比传统特征MFCC 和LPCC 均高出约20%。 综上, MRACC 特征具有一定的鲁棒性,并且经过前端降噪处理后,MRACC 特征依旧稳定。
为了验证LSTM 网络处理时序信号的性能,选取LSTM 网络、BP 网络、以及SA 稀疏自编码网络进行说话人识别对比试验。 特征参数选择MRACC 特征,实验结果见表4。
表4 在不同网络模型下MRACC 特征的识别率Tab.4 Recognition rate of MRACC features under different network models %
可以看出,BP 网络模型对输入特征进行深层抽取的能力不如SA 和LSTM 网络,识别效果较差一些;SA 网络属于深层网络,识别效果比BP 网络好。在pink 噪声5 dB 环境下,LSTM 网络较SA 网络的识别率高出4%,较BP 网络高出6%。 综上,无论是在噪声环境下、还是非噪声环境下,LSTM 网络对时序语音信号的处理能力优于BP 以及SA 网络。
针对目前噪声环境下说话人识别系统识别率较低的情况,本文提出一种基于MRACC 特征的说话人识别系统。 利用改进型谱减法对语音进行预降噪处理,接着使用幂函数代替对数函数对听觉能量进行非线性压缩,提取语音的MRACC 特征,最后通过LSTM 网络完成模型训练与说话人识别。 经过实验验证,使用改进型谱减法对语音进行预降噪处理,使说话人系统在低信噪比时的识别效果得到了明显改善。 无论是在纯净环境下、还是在噪声环境下,MRACC 特征相比较传统特征MFCC 和LPCC 能够得到更好的识别效果。