基于进化算法低信噪比环境的基音频率检测
张小恒++李勇明++谢文宾
摘 要: 构造频域空间的检测模型,将基音频率作为特征值进行提取,然后为检测模型引入模型参数即优化因子,通过进化算法对该因子进行全局优化,从而获取基音频率的全局最优值,在优化精度和时间代价上取得了较好的平衡。采用两种具有代表性的进化算法进行算法设计,包括遗传算法(GA算法)和粒子群算法(PSO算法)。将所提算法与相关有代表性的算法进行比较,结果表明,所提算法在不同类型不同程度的噪声环境下,能显著提升检测识别率,尤其是在极低信噪比下,优势更为明显。
关键词: 极低信噪比环境; 基音频率; 进化算法; 遗传算法; 粒子群算法
中图分类号: TN912.3?34 文献标识码: A 文章编号: 1004?373X(2017)11?0046?07
Evolutionary algorithm based fundamental tone frequency
detection in low SNR environment
ZHANG Xiaoheng1, 2, LI Yongming2, XIE Wenbin2
(1. Chongqing Radio & TV University, Chongqing 400052, China; 2. College of Communication Engineering, Chongqing University, Chongqing 400030, China)
Abstract: A frequency?domain detection model was constructed. The fundamental tone frequency is extracted as characteristic value. The model parameter (optimization factor) is introduced into the detection model, for which the global optimization is carried out with evolutionary algorithm (EA) to get the global optimum of the fundamental tone frequency, and obtain a better balance in optimization accuracy and time cost. Two representative EAs (genetic algorithm (GA) and particle swarm optimization (PSO) algorithm) are used to perform the algorithm design. The proposed algorithm is compared with the other representative algorithms. The comparison results show that the proposed algorithm can improve the detection recognition rate greatly in the noise environments of different types and different degrees, especially in the very?low SNR environment.
Keywords: very?low SNR environment; fundamental tone frequency; evolutionary algorithm; genetic algorithm; PSO
0 引 言
基音频率是语音信号最为重要的参数之一。准确有效地检测基音频率对很多语音技术起着极为关键的作用,如说话人检测、跟踪、语音分离及识别等。尽管基音频率检测已经研究多年,并取得了一系列成果,但相关算法大都适用于高信噪比环境,而实际应用中,大多数语音都处于复杂恶劣的噪声环境中。因此,针对低信噪比环境,特别是-5 dB以下的基音频率检测算法的研究,对实现性能优良、实用的语音处理技术,取得实效应用有着重要的现实意义[1?4]。
基音频率检测的有效性依赖于语音信号谐波结构的完整性,噪声叠加造成谐波结构被破坏,而随着信噪比的下降最终难以分辨一个完整的谐波周期。因此低信噪比下实现优良的检测性能具有较大难度[5?9]。
由于语音信号参数随时间变化缓慢,相邻多个语音帧信号参数会保持一定连续性,因此典型的基音频率检测算法可以分为两个阶段[10]:第一个阶段找出基音频率的多个可能候选值,或者计算基音频率值落在不同频率区间的概率。第二阶段一般依赖DP[11]或HMM[12]算法,从多个候选值选出最终的基音频率值。这些算法大都利用了相邻语音帧数据之间的相关性找出最优的基音频率序列值,从而使得整体的后验误差概率最低。但这类利用数据间强相关性的算法本身也会导致一定错误。此外,该类算法对相关性的过高要求在现实中常常难以得到较好满足。
为了抑制噪声,目前研究的方法一般分为参数化方法和非参数化方法两类[13]:参数化算法采用统计方法对谐波结构进行建模,其典型的代表算法有GMM[14]算法;非参数化算法一般从频域的谐波结构或者时域的周期特性入手,通过对频域或时域峰值的检测得到基音频率,其典型的代表算法有RAPT[15]算法和YIN[16]算法,但这类方法在信噪较高时比较有效,而当信噪比较低时其峰值特性很容易湮没在噪声之中从而使得难以检测出基音频率。
近年在该领域有一些研究成果出现,如HSAC?SAMSF[17]算法对谐波进行自相关运算,然后作对称性相加求和来寻找基音周期,该算法充分利用语音的谐波特性,并通过DCT相关运算及对称累加运算抑制噪声;TAPS?CA[18]算法对频域信号进行相关运算,并利用稀疏矩阵对其进行重建,该算法利用短时谱的自相关运算抑制噪声,在高信噪比环境利用最小均方误差法求取稀疏矩阵,在低信噪比环境下利用GMM法对误差信号进行建模,从而得到最优稀疏矩阵。PEFAC[13]算法是最近提出的性能优良的基音频率检测算法,其通过对信号的对数谱进行压缩以求取峰值信号,充分利用噪声统计特性及幅度谱的压缩抑制噪声,具有极低信噪比环境下较好的抗噪声干扰能力,且在-20~20 dB信噪比下均性能良好。基于人工神经网络的基音频率检测算法[10]也利用了PEFAC算法的特征提取优势,并进一步采用深度神经网络进行建模,但相比PEFAC算法仅在-10 dB信噪比以上得出性能优良的结论。
总的来说以上算法都是在经典的参数化及非参数化方法上做了一定程度的改进,但仍然很难改变无法精确有效描述复杂噪声环境中语音信号的缺陷。由于语音信号具有多次谐波特性,基音频率这一重要参数可通过特征波形的峰值表达。因此,本文针对参数化方法与非参数化方法的各自不足,充分利用PEFAC对语音信号进行基音频率特征提取,构造基音频率特征波形,通过对特征波形的峰值求取实现基音频率的提取。但是当语音信号被噪声污染时,信号的谐波特征被破坏,特征波形的峰值与基音频率就存在一定的误差。当信噪比恶化时,该误差就会明显增大,严重影响了峰值对基音频率的表达。基于此,本文引入优化因子对特征波形进行校正以抵消噪声带来的畸变。该优化因子的精确取值能最大程度地抑制噪声带来的畸变影响,从而消除特征波形峰值与基音频率的误差。
本文将优化因子最佳取值问题转换为最优化问题,尝试利用进化算法来获取其全局最优解。进化算法的优势在于其可解决复杂的非线性及多维空间寻优问题,通过构造含有优化因子的适应度函数,从而能动态寻找出最佳基音频率值所对应的优化因子的值。
1 基于进化算法面向极低信噪比环境的基音频
率检测方法(LSNR_PFD_EA)
本文提出的基音频率估计算法,即低信噪比下基于进化算法的基音频率估计(LSNR_PFD_EA)主要包括特征提取模块、基于进化算法的优化因子搜索模块及基音频率提取模块三部分。图1为该算法主要流程。
如图1所示,首先提取语音幀的频域特征,此频域特征称为基音特征波形,其峰值用来表达基音频率值,然后设计一个多维变量称为优化因子,对基音频率特征波形的峰值进行有效调整,使得调整后的峰值能够表达的基音频率是真实基音频率值的最佳逼近。本文的特征提取方式基于PEFAC,包括短时傅里叶变换,频域对数化,规整化,再进行频域卷积得到基音特征波形即图中的特征值。接着,通过优化因子搜索模块,利用基音特征波形与优化因子共同构造适应度函数,利用进化算法结合训练语音搜索到最佳优化因子。最后,对测试集语音提取其特征值,基于搜索得到的最佳优化因子对该特征值进行优化,优化完成后再通过动态规划(DP)得到语音的基音频率。
1.1 特征提取模块
特征提取模块主要包括如下步骤:
(1) 语音帧信号首先通过短时傅里叶变换映射到频域。代表第帧的功率谱密度,对数频域的功率谱密度采用表示,其中规整化后的功率谱密度为:
(1)
式中:代表长程平均语音谱;而代表平滑后平均语音谱。
(2) 规整化的频谱通过如下扩展峰值的滤波器增强其谐波特性。其中滤波器定义如下:
(2)
其中的选取满足而设置为1.8且设置为10。
(3) 通过对规整化的功率谱密度进行卷积得基音特征波形接下来的基音检测方法一般可先从中选取较大的几个峰值对应的频率值作为候选基音频率值。
(4) 然后通过DP等规划算法得到基音频率值的最佳估计值。
当信噪比恶化时,特征波形的峰值被严重破坏,使得候选值均极大地偏离真实值,也就无法得到准确的估计值。为减小候选值与真实值的误差,本文提出了优化因子策略,即使用优化因子计算优化后的基音特征波形从中选取新的峰值对应的候选基音频率值,使得最终的基音频率估计值与真实值的误差最小。
1.2 优化因子搜索模块
1.2.1 优化函数分析
图2表示了优化因子在基音频率检测中的作用。其中图2(a)为不含噪声的语音帧经过特征提取之后的输出;图2(b)为SNR=-10 dB下语音帧经过特征提取之后的输出;图2(c)为图2(b)经过优化因子处理后的波形,若选取幅值最大的3个峰值作为基音频率候选值,通常最大峰值对应的基音频率值成为估计值的概率是最大的,如果后续不作DP规划,则最大峰值对应的基音频率值就是基音频率估计值,如果要作DP规划,最终的估计值要在候选值,三个值之中选取。从图中发现,图2(a)中基音频率候选值与图2(b)中基音频率候选值的误差很大,特别是最大峰值对应的频率值误差极大,这是低信噪比环境下噪声干扰的结果。
若要提升基音频率估计精度,减小估计误差,可通过优化因子处理,如图2(c)所示。通过将区间segment的幅度做一定程度的提升,则该区间峰值对应的频率就会成为候选基音频率,而免遭错误遗漏。优化因子取值的不同可以使波形在不同区间的幅度进行放缩。通过进化算法来搜索最优因子,从而使图2(a)与图2(c)的基音频率候选值误差最小。图2是某一类语音帧的情况,由于不同语音帧的基音频率候选值有所不同,而受到噪声污染后基音特征波形的畸变也明显有所不同,因此每个语音帧的理想优化因子也不尽相同,事实上针对每一帧语音数据找出其对应的理想优化因子是没有意义的,因为优化因子数量十分庞大而无法使用,其次优化因子与语音帧的关联性也无法得到有效建立。但肯定能找出一个合理的优化因子,相对于每一帧语音数据来说虽不一定最优,但相对于所有帧语音数据来说,总体误差最小。基于以上分析,优化因子的取值就被转化为一个求解最佳优化因子的最优化问题。由于优化因子是高维向量,加上不同维的取值都有一定精度,优化因子的可能取值是海量的,即候选解空间较大。此外,优化因子和峰值与基音频率间误差的关系并非线性相关,因此候选解空间将存在多个局部极值点。鉴于进化算法全局寻优的特性,本文基于GA[19]和PSO[20]算法分别求解该优化问题。
GA和PSO算法都涉及确定适应度函数的问题,用于基音频率检测的优化因子的适应度函数分为如下两种情况:
(1) 不使用DP动态规划
由于不使用DP动态规划,优化后的基音特征波形最大峰值对应的频率值为基音频率估计值,其与真实基音频率值的误差。
因此适应度函数即小于5%的概率。
(2) 使用DP动态规划
表示时刻语音帧基音特征波形的峰值幅度,表示与之相关联的频率,则选择较小峰值的代价其中为最大峰值幅度;基音频率候选值的选择率其中为相邻语音帧的时间偏移量,则跃迁到的代价为其中为在训练语音库中的均值;时刻语音帧基音频率候选值与基音频率中值的相对误差为,其中可通过时刻最大峰值幅度对应的基音频率候选值及相邻帧的值估计得到,若相邻帧不是浊音帧则跳过。综上,时刻语音帧的第个基音频率候选值跃迁到时刻语音帧的第个基音频率候选值的总代价为三者之和:其中为限制的最大值,而表示各参数相关权重。
将总代价最小时选择的峰值频率作为基音频率估计值,因此适应度函数为:
即小于5%的概率。
1.2.2 优化算法?进化算法
(1) GA算法
本文采用二进制遗传算法,其主要流程如下:
步骤1: 二进制编码;
步骤2: 随机产生二进制种群;
步骤3:计算其对应的适应度函数值
步骤4: 计算种群适应度之和
步骤5: 计算每个的选择概率
步骤6: 计算每个的累加概率
步骤7: 竞争法进行选择操作;
步骤8: 对新一代种群进行单点随机交叉运算;
步骤9: 单点随机变异操作;
步骤10: 第一代计算完毕,返回继续计算步骤3,直到达到满意的结果为止。
(2) PSO算法
本文采用粒子群算法的主要流程如下:
步驟1:根据优化因子的维度与取值范围确定粒子群的参数;
步骤2:初始化粒子群,其中粒子的信息可用两个维向量表示,第个粒子的位置(即优化因子)可表示为:
,
其中与为每一维的取值上下限,速度可表示为其中与均为取值范围在0~1之间的随机数;
步骤3:计算每个粒子的适应度;
步骤4:根据进化方程更新及粒子位置速度:
步骤5:是否满足终止条件,否则返回继续计算步骤3,直到达到满意的结果为止。
2 实验结果与分析
2.1 实验条件
2.1.1 数据说明
本文采用TIMIT标准数据库测试算法性能。训练集包含20男20女,每人3句话。噪声训练集为NOISE?92,包含white,babble,car三种噪声。纯净语音与噪声相混合,信噪比SNR分为9个不同的等级:-20 dB,-15 dB,
-10 dB,-5 dB,0 dB,5 dB,10 dB,15 dB,20 dB。测试集包含10男10女,每人3句话。标准基音频率使用Praat工具从纯净语音中提取。
以两种标准方式测试估计结果:基音频率识别率(DR)。DR是针对浊音而言,计算误差不超过5%的概率,为浊音帧数,为其中计算误差不超过5%的帧数,计算式如下:
2.1.2 参数设置
优化因子的维度为10,每一维的取值范围均在0.5~1.5之间。当使用GA算法时,基因总数为100,搜索下限为0.5,上限为1.5,交叉概率为0.8,变异概率为0.1,迭代次数为30;当使用PSO算法时,种群大小为20,粒子初始速度为0.01,最大速度为1,粒子群维度为10,取值范围在0.5~1.5,认知加速度为2,社会加速度为2,惯性权重为1,退化因子为1,迭代次数为60。
2.2 两种进化算法的效果对比
图3为不同迭代次数下,两种进化算法的检测效果。两种算法共同的规律是随着信噪比的提高,收敛速度会加快。随着迭代次数的增加,检测率变化越来越缓慢或者根本不发生变化。这说明信噪比越低优化的空间越大,因此信噪比越低,特征波形的结构受噪声影响越大。再对比GA与PSO算法,GA算法仅在信噪比为-20 dB下的识别率有较为明显的变化,其他信噪比下几乎没有变化。从最终的识别率来看,相同信噪比下PSO的识别率要高于GA,因此说明PSO算法在搜索最佳优化因子上更加有效。因此,后续实验中,主要采用基于PSO的基音检测算法进行效果对比。为了便于说明,基于GA的基音检测算法记为LSNR_PFD_GA,基于PSO的基音检测算法记为LSNR_PFD_PSO。
2.3 不同类型噪声环境下的检测效果对比
图4为三种类型的噪声环境下,本文LSNR_PFD_ PSO算法与三种主流算法J&W,YIN,RAPT的识别效果对比。
由图4可见,对于不同类型的噪声(白噪声,babble噪声,car噪声),本文算法均优于其他算法。此外,信噪比越低,本文算法的改进效果越明显。例如,-5 dB以下,本文算法的识别率提高了10%~20%,而在-20 dB时,其提升程度可以达到20%~50%。这说明本文算法非常适合低信噪比环境下的基音频率检测。
2.4 DP对基音频率检测的影响分析
图5为本文算法与PEFAC算法针对采用DP与否进行的效果对比。比较采用DP与不采用DP计算的三种噪声(白噪声,babble噪声,car噪声)在不同信噪比下的平均识别率,采用DP算法并用PSO优化后的识别率是最好的,不采用DP而使用PSO优化的识别率并不如使用了DP的PEFAC效果好,但比未采用DP和PSO优化的效果好很多。这说明DP对基音频率检测算法具有明显的正面作用,本文算法也不例外。为了最大限度地发挥本文算法效率,建议采用DP。
图4 基音频率识别率比较
2.5 进化算法参数影响分析
图6为基于不同参数设置,在不同信噪比下(白噪声,babble噪声,car噪声) LSNR_PFD_PSO算法的平均识别率。图6(a)为种群规模设置不同带来的影响。图6(b)为粒子飞行初始速度设置不同带来的影响。
由图6(a)可见,随着种群规模的增大,识别率有所增加但不明显,当种群规模由20增加至200,-5 dB以下识别率平均提升了2%左右。鉴于种群规模与计算复杂度的关系,因此需要结合具体情况,通过统计实验设定合适的种群规模。此外,还发现种群规模对识别率的正面作用在低信噪比下更明显。由图6(a)可见,在信噪比为-20 dB,200的种群规模较20的种群规模提高效果为25%左右。由图6(b)可见,粒子初始速度与识别率为负相关关系,当其较大时,识别率会变差。具体来说,当粒子速度由0.01增至0.05时,-5 dB以下识别率平均下降3%。这个结果的可能原因是初始速度太大将影响搜索的精细程度,较容易错过最优解。由于初始速度过小将增加计算代价,因此也需要结合具体情况,通过统计实验来设定合适的初始速度。
2.6 相关算法的时间代价对比
表1为不同算法基于同一运算平台的平均时间代价。计算机平台为Intel CPU 2.6 GHz,算法分别为PSO,GA,PEFAC,RAPT,YIN,“算法时间代价”是指当前算法在装有Matlab软件的计算机平台上处理1 s语音数据运行的平均时间代价。
由表1可见,LSNR_PFD_PSO,LSNR_PFD_GA和PEFAC算法的时间代价一致,均为0.175 s。这个时间代价并不包含进化算法的训练时间,这是由于一旦训练完成后,几种算法的实时检测过程所需时间代价几乎无差别。本文算法与YIN算法的时间代价也相当,比PART算法明显降低。根据多次实测表明,本文算法工作所需时间代价完全满足实时性要求,现实可行。
3 结 论
极低噪声环境下的基音频率检测是一个非常有用但具有较大难度的科研问题,迄今为止,一直没有得到很好的解决。针对目前新提出的抗噪性能较好的基音检测算法的不足,本文引入最佳优化因子来消除噪声带来的畸变影响。通过把最佳优化因子取值问题转化为最优化问题,引入进化算法加以求解,显著提升了低信噪比环境下基音频率检测性能。实验结果表明,面对不同类型不同信噪比的噪声环境,本文算法均取得了较为显著的改进效果,且信噪比越低,改进效果越明显。针对下一步工作,本文拟考虑进行更大噪声环境的实验及对进化算法的改进以提高最佳优化因子的搜索效率和基音频率检测的泛化性能。
参考文献
[1] RAMAKRISHNAN A G, ABHIRAM B, PRASANNA S R M. Voice source characterization using pitch synchronous discrete cosine transform for speaker identification [J]. Journal of the acoustical society of America, 2015, 137(6): 469?475.
[2] WOHLMAYR M, PERNKOPF F. Model?based multiple pitch tracking using factorial HMMs: model adaptation and inference [J]. IEEE transactions on audio, speech and language processing, 2013, 21(8): 1742?1754.
[3] HAN K, WANG D L. A classification based approach to speech segregation [J]. Journal of the acoustical society America, 2012, 132(5): 3475?3483.
[4] RAO K S, MAITY S, REDDY V R. Pitch synchronous and glottal closure based speech analysis for language recognition [J]. International journal of speech technology, 2013, 16(4): 413?430.
[5] SHARMA D, NAYLOR P A. Evaluation of pitch estimation in noisy speech for application in non?intrusive speech quality assessment [C]// Proceedings of 2009 European Signal Processing Conference. Glasgow: IEEE, 2009: 2514?2518.
[6] SHIMAMURA T, KOBAYASHI H. Weighted autocorrelation for pitch extraction of noisy speech [J]. IEEE transactions on speech and audio processing, 2001, 9(7): 727?730.
[7] SHAHNAZ C, ZHU W P, AHMAD M O. Robust pitch estimation at very low SNR exploiting time and frequency domain cues [C]// Proceedings of 2005 IEEE International Conference on Acoustics, Speech, Signal Processing. Philadelphia: IEEE, 2005: 389?392.
[8] SHAHNAZ C, ZHU W P, AHMAD M O. A robust pitch estimation algorithm in noise [C]// Proceedings of 2007 IEEE International Conference on Acoustics, Speech, and Signal Proces?sing. Honolulu: IEEE, 2007: 1073?1076.
[9] WU M, WANG D L, BROWN G J. A multipitch tracking algorithm for noisy speech [J]. IEEE transactions on speech and audio processing, 2003, 11(3): 229?241.
[10] HAN Kun, WANG Deliang. Neural network based pitch tracking in very noisy speech [J]. IEEE transactions on audio, speech and language processing, 2014, 22(12): 2158?2168.
[11] GOSAIN A, SHARMA G. A survey of dynamic program analysis techniques and tools [J]. Advances in intelligent systems and computing, 2014, 327: 113?122.
[12] JIN Z, WANG D L. HMM?based multipitch tracing for noisy and reverberant speech [J]. IEEE/ACM transactions on audio, speech and language processing, 2011, 19(5): 1091?1102.
[13] GONZALEZ S, BROOKES M. PEFAC: a pitch estimation algorithm robust to high levels of noise [J]. IEEE/ACM transactions on audio, speech and language processing, 2014, 22(2): 518?530.
[14] MCLACHLAN G, PEEL D. Finite mixture models [M]. New York: Wiley?Blackwell, 2000.
[15] TALKIN D. A robust algorithm for pitch tracking (RAPT) [R]. Amsterdam: Elsevier, 1995: 495?518.
[16] DE CHEVEGNE A, KAWAHARA H. YIN, a fundamental frequency estimator for speech and music [J]. Journal of the acoustical society America, 2002, 111(4): 1917?1930.
[17] SHAHNAZ C, ZHU W P, AHMAD M O. Pitch estimation based on a harmonic sinusoidal autocorrelation model and a time?domain matching scheme [J]. IEEE transactions on audio, speech and language processing, 2012, 20(1): 322?335.
[18] FENG Huang, TAN Lee. Pitch estimation in noisy speech using accumulated peak spectrum and sparse estimation technique [J]. IEEE transactions on audio, speech and language processing, 2013, 21(1): 99?109.
[19] HE Yaohua, HUI Chiwai. A binary coding genetic algorithm for multi?purpose process scheduling: a case study [J]. Chemical engineering science, 2010, 65(16): 4816?4828.
[20] PARSOPOULOS K E, VRAHAT IM N. On the computation of all global minimizers through particle swarm optimization [J]. IEEE transactions on evolutionary computation, 2004, 8(3): 211?224.
摘 要: 构造频域空间的检测模型,将基音频率作为特征值进行提取,然后为检测模型引入模型参数即优化因子,通过进化算法对该因子进行全局优化,从而获取基音频率的全局最优值,在优化精度和时间代价上取得了较好的平衡。采用两种具有代表性的进化算法进行算法设计,包括遗传算法(GA算法)和粒子群算法(PSO算法)。将所提算法与相关有代表性的算法进行比较,结果表明,所提算法在不同类型不同程度的噪声环境下,能显著提升检测识别率,尤其是在极低信噪比下,优势更为明显。
关键词: 极低信噪比环境; 基音频率; 进化算法; 遗传算法; 粒子群算法
中图分类号: TN912.3?34 文献标识码: A 文章编号: 1004?373X(2017)11?0046?07
Evolutionary algorithm based fundamental tone frequency
detection in low SNR environment
ZHANG Xiaoheng1, 2, LI Yongming2, XIE Wenbin2
(1. Chongqing Radio & TV University, Chongqing 400052, China; 2. College of Communication Engineering, Chongqing University, Chongqing 400030, China)
Abstract: A frequency?domain detection model was constructed. The fundamental tone frequency is extracted as characteristic value. The model parameter (optimization factor) is introduced into the detection model, for which the global optimization is carried out with evolutionary algorithm (EA) to get the global optimum of the fundamental tone frequency, and obtain a better balance in optimization accuracy and time cost. Two representative EAs (genetic algorithm (GA) and particle swarm optimization (PSO) algorithm) are used to perform the algorithm design. The proposed algorithm is compared with the other representative algorithms. The comparison results show that the proposed algorithm can improve the detection recognition rate greatly in the noise environments of different types and different degrees, especially in the very?low SNR environment.
Keywords: very?low SNR environment; fundamental tone frequency; evolutionary algorithm; genetic algorithm; PSO
0 引 言
基音频率是语音信号最为重要的参数之一。准确有效地检测基音频率对很多语音技术起着极为关键的作用,如说话人检测、跟踪、语音分离及识别等。尽管基音频率检测已经研究多年,并取得了一系列成果,但相关算法大都适用于高信噪比环境,而实际应用中,大多数语音都处于复杂恶劣的噪声环境中。因此,针对低信噪比环境,特别是-5 dB以下的基音频率检测算法的研究,对实现性能优良、实用的语音处理技术,取得实效应用有着重要的现实意义[1?4]。
基音频率检测的有效性依赖于语音信号谐波结构的完整性,噪声叠加造成谐波结构被破坏,而随着信噪比的下降最终难以分辨一个完整的谐波周期。因此低信噪比下实现优良的检测性能具有较大难度[5?9]。
由于语音信号参数随时间变化缓慢,相邻多个语音帧信号参数会保持一定连续性,因此典型的基音频率检测算法可以分为两个阶段[10]:第一个阶段找出基音频率的多个可能候选值,或者计算基音频率值落在不同频率区间的概率。第二阶段一般依赖DP[11]或HMM[12]算法,从多个候选值选出最终的基音频率值。这些算法大都利用了相邻语音帧数据之间的相关性找出最优的基音频率序列值,从而使得整体的后验误差概率最低。但这类利用数据间强相关性的算法本身也会导致一定错误。此外,该类算法对相关性的过高要求在现实中常常难以得到较好满足。
为了抑制噪声,目前研究的方法一般分为参数化方法和非参数化方法两类[13]:参数化算法采用统计方法对谐波结构进行建模,其典型的代表算法有GMM[14]算法;非参数化算法一般从频域的谐波结构或者时域的周期特性入手,通过对频域或时域峰值的检测得到基音频率,其典型的代表算法有RAPT[15]算法和YIN[16]算法,但这类方法在信噪较高时比较有效,而当信噪比较低时其峰值特性很容易湮没在噪声之中从而使得难以检测出基音频率。
近年在该领域有一些研究成果出现,如HSAC?SAMSF[17]算法对谐波进行自相关运算,然后作对称性相加求和来寻找基音周期,该算法充分利用语音的谐波特性,并通过DCT相关运算及对称累加运算抑制噪声;TAPS?CA[18]算法对频域信号进行相关运算,并利用稀疏矩阵对其进行重建,该算法利用短时谱的自相关运算抑制噪声,在高信噪比环境利用最小均方误差法求取稀疏矩阵,在低信噪比环境下利用GMM法对误差信号进行建模,从而得到最优稀疏矩阵。PEFAC[13]算法是最近提出的性能优良的基音频率检测算法,其通过对信号的对数谱进行压缩以求取峰值信号,充分利用噪声统计特性及幅度谱的压缩抑制噪声,具有极低信噪比环境下较好的抗噪声干扰能力,且在-20~20 dB信噪比下均性能良好。基于人工神经网络的基音频率检测算法[10]也利用了PEFAC算法的特征提取优势,并进一步采用深度神经网络进行建模,但相比PEFAC算法仅在-10 dB信噪比以上得出性能优良的结论。
总的来说以上算法都是在经典的参数化及非参数化方法上做了一定程度的改进,但仍然很难改变无法精确有效描述复杂噪声环境中语音信号的缺陷。由于语音信号具有多次谐波特性,基音频率这一重要参数可通过特征波形的峰值表达。因此,本文针对参数化方法与非参数化方法的各自不足,充分利用PEFAC对语音信号进行基音频率特征提取,构造基音频率特征波形,通过对特征波形的峰值求取实现基音频率的提取。但是当语音信号被噪声污染时,信号的谐波特征被破坏,特征波形的峰值与基音频率就存在一定的误差。当信噪比恶化时,该误差就会明显增大,严重影响了峰值对基音频率的表达。基于此,本文引入优化因子对特征波形进行校正以抵消噪声带来的畸变。该优化因子的精确取值能最大程度地抑制噪声带来的畸变影响,从而消除特征波形峰值与基音频率的误差。
本文将优化因子最佳取值问题转换为最优化问题,尝试利用进化算法来获取其全局最优解。进化算法的优势在于其可解决复杂的非线性及多维空间寻优问题,通过构造含有优化因子的适应度函数,从而能动态寻找出最佳基音频率值所对应的优化因子的值。
1 基于进化算法面向极低信噪比环境的基音频
率检测方法(LSNR_PFD_EA)
本文提出的基音频率估计算法,即低信噪比下基于进化算法的基音频率估计(LSNR_PFD_EA)主要包括特征提取模块、基于进化算法的优化因子搜索模块及基音频率提取模块三部分。图1为该算法主要流程。
如图1所示,首先提取语音幀的频域特征,此频域特征称为基音特征波形,其峰值用来表达基音频率值,然后设计一个多维变量称为优化因子,对基音频率特征波形的峰值进行有效调整,使得调整后的峰值能够表达的基音频率是真实基音频率值的最佳逼近。本文的特征提取方式基于PEFAC,包括短时傅里叶变换,频域对数化,规整化,再进行频域卷积得到基音特征波形即图中的特征值。接着,通过优化因子搜索模块,利用基音特征波形与优化因子共同构造适应度函数,利用进化算法结合训练语音搜索到最佳优化因子。最后,对测试集语音提取其特征值,基于搜索得到的最佳优化因子对该特征值进行优化,优化完成后再通过动态规划(DP)得到语音的基音频率。
1.1 特征提取模块
特征提取模块主要包括如下步骤:
(1) 语音帧信号首先通过短时傅里叶变换映射到频域。代表第帧的功率谱密度,对数频域的功率谱密度采用表示,其中规整化后的功率谱密度为:
(1)
式中:代表长程平均语音谱;而代表平滑后平均语音谱。
(2) 规整化的频谱通过如下扩展峰值的滤波器增强其谐波特性。其中滤波器定义如下:
(2)
其中的选取满足而设置为1.8且设置为10。
(3) 通过对规整化的功率谱密度进行卷积得基音特征波形接下来的基音检测方法一般可先从中选取较大的几个峰值对应的频率值作为候选基音频率值。
(4) 然后通过DP等规划算法得到基音频率值的最佳估计值。
当信噪比恶化时,特征波形的峰值被严重破坏,使得候选值均极大地偏离真实值,也就无法得到准确的估计值。为减小候选值与真实值的误差,本文提出了优化因子策略,即使用优化因子计算优化后的基音特征波形从中选取新的峰值对应的候选基音频率值,使得最终的基音频率估计值与真实值的误差最小。
1.2 优化因子搜索模块
1.2.1 优化函数分析
图2表示了优化因子在基音频率检测中的作用。其中图2(a)为不含噪声的语音帧经过特征提取之后的输出;图2(b)为SNR=-10 dB下语音帧经过特征提取之后的输出;图2(c)为图2(b)经过优化因子处理后的波形,若选取幅值最大的3个峰值作为基音频率候选值,通常最大峰值对应的基音频率值成为估计值的概率是最大的,如果后续不作DP规划,则最大峰值对应的基音频率值就是基音频率估计值,如果要作DP规划,最终的估计值要在候选值,三个值之中选取。从图中发现,图2(a)中基音频率候选值与图2(b)中基音频率候选值的误差很大,特别是最大峰值对应的频率值误差极大,这是低信噪比环境下噪声干扰的结果。
若要提升基音频率估计精度,减小估计误差,可通过优化因子处理,如图2(c)所示。通过将区间segment的幅度做一定程度的提升,则该区间峰值对应的频率就会成为候选基音频率,而免遭错误遗漏。优化因子取值的不同可以使波形在不同区间的幅度进行放缩。通过进化算法来搜索最优因子,从而使图2(a)与图2(c)的基音频率候选值误差最小。图2是某一类语音帧的情况,由于不同语音帧的基音频率候选值有所不同,而受到噪声污染后基音特征波形的畸变也明显有所不同,因此每个语音帧的理想优化因子也不尽相同,事实上针对每一帧语音数据找出其对应的理想优化因子是没有意义的,因为优化因子数量十分庞大而无法使用,其次优化因子与语音帧的关联性也无法得到有效建立。但肯定能找出一个合理的优化因子,相对于每一帧语音数据来说虽不一定最优,但相对于所有帧语音数据来说,总体误差最小。基于以上分析,优化因子的取值就被转化为一个求解最佳优化因子的最优化问题。由于优化因子是高维向量,加上不同维的取值都有一定精度,优化因子的可能取值是海量的,即候选解空间较大。此外,优化因子和峰值与基音频率间误差的关系并非线性相关,因此候选解空间将存在多个局部极值点。鉴于进化算法全局寻优的特性,本文基于GA[19]和PSO[20]算法分别求解该优化问题。
GA和PSO算法都涉及确定适应度函数的问题,用于基音频率检测的优化因子的适应度函数分为如下两种情况:
(1) 不使用DP动态规划
由于不使用DP动态规划,优化后的基音特征波形最大峰值对应的频率值为基音频率估计值,其与真实基音频率值的误差。
因此适应度函数即小于5%的概率。
(2) 使用DP动态规划
表示时刻语音帧基音特征波形的峰值幅度,表示与之相关联的频率,则选择较小峰值的代价其中为最大峰值幅度;基音频率候选值的选择率其中为相邻语音帧的时间偏移量,则跃迁到的代价为其中为在训练语音库中的均值;时刻语音帧基音频率候选值与基音频率中值的相对误差为,其中可通过时刻最大峰值幅度对应的基音频率候选值及相邻帧的值估计得到,若相邻帧不是浊音帧则跳过。综上,时刻语音帧的第个基音频率候选值跃迁到时刻语音帧的第个基音频率候选值的总代价为三者之和:其中为限制的最大值,而表示各参数相关权重。
将总代价最小时选择的峰值频率作为基音频率估计值,因此适应度函数为:
即小于5%的概率。
1.2.2 优化算法?进化算法
(1) GA算法
本文采用二进制遗传算法,其主要流程如下:
步骤1: 二进制编码;
步骤2: 随机产生二进制种群;
步骤3:计算其对应的适应度函数值
步骤4: 计算种群适应度之和
步骤5: 计算每个的选择概率
步骤6: 计算每个的累加概率
步骤7: 竞争法进行选择操作;
步骤8: 对新一代种群进行单点随机交叉运算;
步骤9: 单点随机变异操作;
步骤10: 第一代计算完毕,返回继续计算步骤3,直到达到满意的结果为止。
(2) PSO算法
本文采用粒子群算法的主要流程如下:
步驟1:根据优化因子的维度与取值范围确定粒子群的参数;
步骤2:初始化粒子群,其中粒子的信息可用两个维向量表示,第个粒子的位置(即优化因子)可表示为:
,
其中与为每一维的取值上下限,速度可表示为其中与均为取值范围在0~1之间的随机数;
步骤3:计算每个粒子的适应度;
步骤4:根据进化方程更新及粒子位置速度:
步骤5:是否满足终止条件,否则返回继续计算步骤3,直到达到满意的结果为止。
2 实验结果与分析
2.1 实验条件
2.1.1 数据说明
本文采用TIMIT标准数据库测试算法性能。训练集包含20男20女,每人3句话。噪声训练集为NOISE?92,包含white,babble,car三种噪声。纯净语音与噪声相混合,信噪比SNR分为9个不同的等级:-20 dB,-15 dB,
-10 dB,-5 dB,0 dB,5 dB,10 dB,15 dB,20 dB。测试集包含10男10女,每人3句话。标准基音频率使用Praat工具从纯净语音中提取。
以两种标准方式测试估计结果:基音频率识别率(DR)。DR是针对浊音而言,计算误差不超过5%的概率,为浊音帧数,为其中计算误差不超过5%的帧数,计算式如下:
2.1.2 参数设置
优化因子的维度为10,每一维的取值范围均在0.5~1.5之间。当使用GA算法时,基因总数为100,搜索下限为0.5,上限为1.5,交叉概率为0.8,变异概率为0.1,迭代次数为30;当使用PSO算法时,种群大小为20,粒子初始速度为0.01,最大速度为1,粒子群维度为10,取值范围在0.5~1.5,认知加速度为2,社会加速度为2,惯性权重为1,退化因子为1,迭代次数为60。
2.2 两种进化算法的效果对比
图3为不同迭代次数下,两种进化算法的检测效果。两种算法共同的规律是随着信噪比的提高,收敛速度会加快。随着迭代次数的增加,检测率变化越来越缓慢或者根本不发生变化。这说明信噪比越低优化的空间越大,因此信噪比越低,特征波形的结构受噪声影响越大。再对比GA与PSO算法,GA算法仅在信噪比为-20 dB下的识别率有较为明显的变化,其他信噪比下几乎没有变化。从最终的识别率来看,相同信噪比下PSO的识别率要高于GA,因此说明PSO算法在搜索最佳优化因子上更加有效。因此,后续实验中,主要采用基于PSO的基音检测算法进行效果对比。为了便于说明,基于GA的基音检测算法记为LSNR_PFD_GA,基于PSO的基音检测算法记为LSNR_PFD_PSO。
2.3 不同类型噪声环境下的检测效果对比
图4为三种类型的噪声环境下,本文LSNR_PFD_ PSO算法与三种主流算法J&W,YIN,RAPT的识别效果对比。
由图4可见,对于不同类型的噪声(白噪声,babble噪声,car噪声),本文算法均优于其他算法。此外,信噪比越低,本文算法的改进效果越明显。例如,-5 dB以下,本文算法的识别率提高了10%~20%,而在-20 dB时,其提升程度可以达到20%~50%。这说明本文算法非常适合低信噪比环境下的基音频率检测。
2.4 DP对基音频率检测的影响分析
图5为本文算法与PEFAC算法针对采用DP与否进行的效果对比。比较采用DP与不采用DP计算的三种噪声(白噪声,babble噪声,car噪声)在不同信噪比下的平均识别率,采用DP算法并用PSO优化后的识别率是最好的,不采用DP而使用PSO优化的识别率并不如使用了DP的PEFAC效果好,但比未采用DP和PSO优化的效果好很多。这说明DP对基音频率检测算法具有明显的正面作用,本文算法也不例外。为了最大限度地发挥本文算法效率,建议采用DP。
图4 基音频率识别率比较
2.5 进化算法参数影响分析
图6为基于不同参数设置,在不同信噪比下(白噪声,babble噪声,car噪声) LSNR_PFD_PSO算法的平均识别率。图6(a)为种群规模设置不同带来的影响。图6(b)为粒子飞行初始速度设置不同带来的影响。
由图6(a)可见,随着种群规模的增大,识别率有所增加但不明显,当种群规模由20增加至200,-5 dB以下识别率平均提升了2%左右。鉴于种群规模与计算复杂度的关系,因此需要结合具体情况,通过统计实验设定合适的种群规模。此外,还发现种群规模对识别率的正面作用在低信噪比下更明显。由图6(a)可见,在信噪比为-20 dB,200的种群规模较20的种群规模提高效果为25%左右。由图6(b)可见,粒子初始速度与识别率为负相关关系,当其较大时,识别率会变差。具体来说,当粒子速度由0.01增至0.05时,-5 dB以下识别率平均下降3%。这个结果的可能原因是初始速度太大将影响搜索的精细程度,较容易错过最优解。由于初始速度过小将增加计算代价,因此也需要结合具体情况,通过统计实验来设定合适的初始速度。
2.6 相关算法的时间代价对比
表1为不同算法基于同一运算平台的平均时间代价。计算机平台为Intel CPU 2.6 GHz,算法分别为PSO,GA,PEFAC,RAPT,YIN,“算法时间代价”是指当前算法在装有Matlab软件的计算机平台上处理1 s语音数据运行的平均时间代价。
由表1可见,LSNR_PFD_PSO,LSNR_PFD_GA和PEFAC算法的时间代价一致,均为0.175 s。这个时间代价并不包含进化算法的训练时间,这是由于一旦训练完成后,几种算法的实时检测过程所需时间代价几乎无差别。本文算法与YIN算法的时间代价也相当,比PART算法明显降低。根据多次实测表明,本文算法工作所需时间代价完全满足实时性要求,现实可行。
3 结 论
极低噪声环境下的基音频率检测是一个非常有用但具有较大难度的科研问题,迄今为止,一直没有得到很好的解决。针对目前新提出的抗噪性能较好的基音检测算法的不足,本文引入最佳优化因子来消除噪声带来的畸变影响。通过把最佳优化因子取值问题转化为最优化问题,引入进化算法加以求解,显著提升了低信噪比环境下基音频率检测性能。实验结果表明,面对不同类型不同信噪比的噪声环境,本文算法均取得了较为显著的改进效果,且信噪比越低,改进效果越明显。针对下一步工作,本文拟考虑进行更大噪声环境的实验及对进化算法的改进以提高最佳优化因子的搜索效率和基音频率检测的泛化性能。
参考文献
[1] RAMAKRISHNAN A G, ABHIRAM B, PRASANNA S R M. Voice source characterization using pitch synchronous discrete cosine transform for speaker identification [J]. Journal of the acoustical society of America, 2015, 137(6): 469?475.
[2] WOHLMAYR M, PERNKOPF F. Model?based multiple pitch tracking using factorial HMMs: model adaptation and inference [J]. IEEE transactions on audio, speech and language processing, 2013, 21(8): 1742?1754.
[3] HAN K, WANG D L. A classification based approach to speech segregation [J]. Journal of the acoustical society America, 2012, 132(5): 3475?3483.
[4] RAO K S, MAITY S, REDDY V R. Pitch synchronous and glottal closure based speech analysis for language recognition [J]. International journal of speech technology, 2013, 16(4): 413?430.
[5] SHARMA D, NAYLOR P A. Evaluation of pitch estimation in noisy speech for application in non?intrusive speech quality assessment [C]// Proceedings of 2009 European Signal Processing Conference. Glasgow: IEEE, 2009: 2514?2518.
[6] SHIMAMURA T, KOBAYASHI H. Weighted autocorrelation for pitch extraction of noisy speech [J]. IEEE transactions on speech and audio processing, 2001, 9(7): 727?730.
[7] SHAHNAZ C, ZHU W P, AHMAD M O. Robust pitch estimation at very low SNR exploiting time and frequency domain cues [C]// Proceedings of 2005 IEEE International Conference on Acoustics, Speech, Signal Processing. Philadelphia: IEEE, 2005: 389?392.
[8] SHAHNAZ C, ZHU W P, AHMAD M O. A robust pitch estimation algorithm in noise [C]// Proceedings of 2007 IEEE International Conference on Acoustics, Speech, and Signal Proces?sing. Honolulu: IEEE, 2007: 1073?1076.
[9] WU M, WANG D L, BROWN G J. A multipitch tracking algorithm for noisy speech [J]. IEEE transactions on speech and audio processing, 2003, 11(3): 229?241.
[10] HAN Kun, WANG Deliang. Neural network based pitch tracking in very noisy speech [J]. IEEE transactions on audio, speech and language processing, 2014, 22(12): 2158?2168.
[11] GOSAIN A, SHARMA G. A survey of dynamic program analysis techniques and tools [J]. Advances in intelligent systems and computing, 2014, 327: 113?122.
[12] JIN Z, WANG D L. HMM?based multipitch tracing for noisy and reverberant speech [J]. IEEE/ACM transactions on audio, speech and language processing, 2011, 19(5): 1091?1102.
[13] GONZALEZ S, BROOKES M. PEFAC: a pitch estimation algorithm robust to high levels of noise [J]. IEEE/ACM transactions on audio, speech and language processing, 2014, 22(2): 518?530.
[14] MCLACHLAN G, PEEL D. Finite mixture models [M]. New York: Wiley?Blackwell, 2000.
[15] TALKIN D. A robust algorithm for pitch tracking (RAPT) [R]. Amsterdam: Elsevier, 1995: 495?518.
[16] DE CHEVEGNE A, KAWAHARA H. YIN, a fundamental frequency estimator for speech and music [J]. Journal of the acoustical society America, 2002, 111(4): 1917?1930.
[17] SHAHNAZ C, ZHU W P, AHMAD M O. Pitch estimation based on a harmonic sinusoidal autocorrelation model and a time?domain matching scheme [J]. IEEE transactions on audio, speech and language processing, 2012, 20(1): 322?335.
[18] FENG Huang, TAN Lee. Pitch estimation in noisy speech using accumulated peak spectrum and sparse estimation technique [J]. IEEE transactions on audio, speech and language processing, 2013, 21(1): 99?109.
[19] HE Yaohua, HUI Chiwai. A binary coding genetic algorithm for multi?purpose process scheduling: a case study [J]. Chemical engineering science, 2010, 65(16): 4816?4828.
[20] PARSOPOULOS K E, VRAHAT IM N. On the computation of all global minimizers through particle swarm optimization [J]. IEEE transactions on evolutionary computation, 2004, 8(3): 211?224.