宗 源,曾毓敏,张 梦,李鹏程
(南京师范大学 物理科学与技术学院,南京 210023)
基音作为语音信号处理的重要特征参数,指人在发浊音时气流通过声门使声带张弛振荡的振动频率(或周期),广泛用于语音编码、语音合成、语音增强及语音识别等。因此能准确检测基音意义极其重要。经典的基音检测算法有自相关函数法[1]、平均幅度差函数 法 (Average Magnitude Difference Function,AMDF)[2]、倒谱法[3]及小波变换法[4]等。尽管已有诸多算法及其改进算法,但准确、可信的基音检测算法研究仍为具有挑战性工作[5]。
AMDF算法以原理简单、计算复杂度低等优点得以广泛使用。由AMDF定义知,周期信号或准周期信号将在AMDF时延等于信号周期处会产生极小值(谷值点)。浊音语音信号因具有准周期性,因此可通过计算短时窗内语音信号的AMDF,并据AMDF除零点外的最低谷值点估计语音信号基音;但该最低谷值点的选择受共振峰效应、语音信号并不严格的准周期性、噪声等诸多因素干扰[6],使AMDF在检测过程中易发生倍频错误,即检测结果为实际基音的N倍。分析AMDF发现,随时延的增加计算AMDF语音帧的重叠部分会逐渐减少,导致AMDF波形呈均值下降趋势(falling trend)[7],且使AMDF非基音谷值点有时低于实际基音谷值点而发生检测错误。
为克服此下降趋势,文献[7]提出改进的AMDF函数,称为 Circular AMDF(CAMDF)。CAMDF通过改变传统的AMDF计算方法克服均值下降趋势,检测效果较好;文献[8]提出的 Extended AMDF(EAMDF)可补偿随时延增加而减少的语音帧重叠部分达到去除下降趋势效果。这些改进算法虽能克服均值下降趋势,但均通过改变AMDF定义或改变语音帧长达到目的,因此仍会带来无法预估的错误,并不能从根本上解决均值下降趋势所致AMDF算法出现倍频错误问题。
本文由时间序列分析角度对AMDF进行分析,提出基于去均值下降趋势的AMDF基音检测算法改进框架。该框架完全不同于以CAMDF与EAMDF为代表的两类AMDF改进算法,主要将AMDF视为一段时间序列,利用趋势分析方法提取AMDF序列的均值下降趋势;将均值下降趋势从AMDF中减去获得改进的AMDF用于检测基音。在该改进框架下提出以线性趋势表示AMDF的均值下降趋势,得到改进的AMDF(本文定义为LSAMDF)。仿真实验结果表明,LSAMDF能较好克服传统AMDF的倍频检测错误,且算法复杂度较低。
语音信号的短时平均幅度差函数定义为
式中:x(n)为加窗长为N的矩形窗浊音语音帧;τ为时延。
DAMDF(τ)拥有与浊音语音一致的周期特性,并在τ=Fs/Fp处出现最小谷值(除零点外)。其中Fp为基音频率;Fs为采样频率。通过计算DAMDF(τ)找出最小谷值点即能检测出浊音语音基音频率;但因为x(n)为加窗后的语音帧,窗外语音信号值均为零,故随时延τ的增加AMDF不能完全显示浊音语音帧的周期性本质,而均值变化呈下降趋势,(见图1(b),待检测语音信号见图1(a),采样频率 20 000 Hz,信号长度 512采样点),由此导致实际应用中会出现表示真正基音点并非最小谷值。由图1(b)看出,均值下降趋势会直接影响AMDF性能。
解决AMDF存在问题有两种方法:
(1)修正 AMDF定义:如 LVAMDF[9],CAMDF等。其中CAMDF因性能突出颇受关注,其定义为
由式(2)知,CAMDF关于 τ=N/2对称。因此CAMDF仅前半部分有效,对基音谷值点落在AMDF后半部分的浊音语音帧,CAMDF不能准确检测基音。由于CAMDF已改变AMDF的定义,因此会带来未知错误。图1(c)为图1(a)浊音语音帧的 CAMDF,便发生检测错误。
(2)改变用于计算AMDF的语音帧长度。EAMDF即为通过将语音帧前后各增加半帧长的语音信号,可补偿随延迟增加而引起重叠部分的减少、克服AMDF下降趋势。EAMDF定义为
由式(3)知,实际的EAMDF计算涉及三个语音帧,即待检测语音帧及其前后相邻的两个语音帧。因此尽管EAMDF能克服AMDF的下降趋势,但EAMDF并非严格意义的待检测语音帧的AMDF。而语音帧长度过长也易破坏语音帧的短时平稳性,使EAMDF会产生检测错误。由图1(d)看出,EAMDF亦发生检测错误。
图1 浊音语音信号AMDF、CAMDF、EAMDF,EMDAMDF与LSAMDF的比较Fig.1 Comparison between AMDF,CAMDF,EAMDF,EMDAMDF and LSAMDF on a voiced speech frame
由时间序列分析观点,AMDF存在的均值下降趋势即是为时间序列分析中的趋势问题。趋势项一直被视为时间序列长时间动向,尽管趋势项在数学上无准确定义,但一般认为趋势项为测试信号中周期远大于信号记录时间长度成分[10]。宗源等[11]利用经验分解模式(Empirical Mode Decomposition,EMD)对 AMDF进行分析,发现残余分量即为AMDF均值下降趋势,利用除残余分量外所有本征模式函数(Intrinsic Mode Functions,IMFs)重构获得不含均值下降趋势、改进的AMDF(定义为EMDAMDF),且检测性能较好。在此基础上及受文献[12-13]启发,本文提出改进框架克服AMDF均值下降趋势,能从根本上解决AMDF易发生倍频检测错误问题,见图2。该框架完全有别于以上两种常见的AMDF改进方法框架,主要分均值下降趋势提取及均值下降趋势去除两步。
由EMDAMDF原理知,EMDAMDF实际上亦可归于此改进框架内;但EMD提取AMDF均值下降趋势需进行多次三次样条拟合及去除上下包络均值操作,计算量较大。为改进AMDF,图2的改进框架并不需要非常精确获得AMDF的均值下降趋势。因此本文提出利用线性多项式表示AMDF的均值下降趋势。在此基础上即可通过最小二乘法拟合均值下降趋势,获得改进的 AMDFLSAMDF(Least squarebased AMDF)。图 1(f)即为图1(a)浊音语音帧的 LSAMDF。由图 1(f)看出,LSAMDF与 EMDAMDF(图1(e))相同,均能准确检测出该浊音语音帧的基音。由此本文给出基于最小二乘法的AMDF基音检测改进算法。
图2 基于去均值下降趋势的AMDF改进框架Fig.2 Framework for improving AMDF based on eliminating the falling trend
记一帧浊音语音信号的AMDF为γ,其中时延τ=t1,t2,…,tn(式(1)),令 AMDF对应各时延 τ值为D(τ)=γ1,γ2,…,γn。记 AMDF中所有样本点为(t1,γ1),(t2,γ2),…,(tn,γn)。以线性多项式表示 AMDF均值下降趋势为
最小二乘法估计参数α及β原理为最小化代价函数
求解式(5)方法有多种,此处仅给出线性代数解法。定理[14]为:若A为秩n的m×n矩阵,则正规方程组 ATAx=ATb有唯一解 x^=(ATA)-1ATb且 x^为方程组Ax=b唯一最小二乘解。将样本点(t1,γ1),(t2,γ2),…,(tn,γn)代入式(4)得
综合以上分析,基于最小二乘法的AMDF基音检测改进算法具体步骤为:① 计算待检测语音帧的AMDF:γ;② 利用最小二乘法计算AMDF的均值下降趋势=^+^t;③ 计算 LSAMDF:γLSAMDF=γ-λ^。
EMD与最小二乘法提取的AMDF(图1(b))的均值下降趋势(分别记为 EMDtrend及 LStrend)见图3。由图3看出,两种下降趋势基本相同,均能较好表示AMDF样本点的基本动向;但图3(c)EMD-trend与LS-trend在矩形框内部分差异较大,EMD-trend前端呈局部轻微上升趋势;而EMD可精确捕捉时间序列下降趋势的局部细节变化;但在图2改进框架中提取均值下降趋势无需十分精确。由于AMDF基音谷值候选点受其前端局部趋势影响不大;而EMD提取均值下降趋势需多次三次样条拟合及去包络均值计算,计算量明显大于最小二乘法拟合线性趋势。故认为LSAMDF综合性能优于EMDAMDF。
图3 LS与EMD提取的均值下降趋势Fig.3 Two falling trends extracted by LSand EMD respectively
实验用基尔基音检测参考数据库(the Keele Pitch Extraction Reference Database)[15]对各种算法的基音检测性能进行评价。该数据库中所有语音均以20 000 Hz采样,16 bits量化,并提供以512个采样点为帧长、200个采样点为帧移的所有浊音帧参考基音信息。实验用AMDF、CAMDF、EAMDF、EMDAMDF及 LSAMDF检测出基尔数据库中编号为M1的男性语音信号前50帧基音轨迹,见图 4。由图 4看出,LSAMDF与 CAMDF、EAMDF、EMDAMDF均能较好克服AMDF的不足,检测性能明显优于AMDF;LSAMDF与EMDAMDF能避免CAMDF与EAMDF的部分错误(如第15、40帧)。
图4 五种算法分别检测的语音信号基音轨迹Fig.4 Pitch contrails of a speech signal detected by five algorithms respectively
为进一步验证本文所提基于去均值下降趋势的AMDF算法改进框架及以线性多项式表示均值下降趋势假设的正确性及合理性,实验仍用AMDF、CAMDF、EAMDF、EMDAMDF及 LSAMDF五种算法对 Keele数据库中 5个样本(编号 F1,F2,F3,M2,M3)进行基音检测。检测结果与数据库中参考基音相对误差大于或等于1 ms(以基音周期计算)定义为基音粗差(Gross Pitch Error,GPE)[16],以%GPE作为指标比较各算法。需指出的是,由于基音频率一般为50~500 Hz,实验中所有待检测样本均进行50~500 Hz的带通滤波。此外无任何预处理(如半波整流、中心削波等)及后处理(基音平滑等)步骤。
各种算法对5个样本进行检测的%GPE见表1。由表 1看出,CAMDF、EAMDF、EMDAMDF及 LSAMDF的%GPE均明显低于传统AMDF,说明均值下降趋势对AMDF的性能影响较大,三类改进算法均能较好克服均值下降趋势对AMDF影响;EMDAMDF及LSAMDF的%GPE基本无差距,均低于CAMDF及EAMDF,说明本文所提改进框架(图2)的正确性。该框架与两类改进AMDF方法(修正定义如CAMDF及补帧长如EAMDF)不但具有较大优势,且以线性多项式近似表示均值下降趋势完全合理可行。
表1 五种算法检测结果(单位:%GPE)Tab.1 Detection results of the five algorithms in terms of%GPE
最后,实验中随机选取每组100帧共三组浊音语音信号分别用五种算法进行检测,统计执行时间。实验用 PC机为联想启天 M4300(CPU:i3-2120(3.30 GHz双核),内存:2G),软件平台为 MATLAB2009a。由表2看出,四种改进算法的平均执行时间分别为传统AMDF的4.78、1.48、23.29、1.23倍,LSAMDF不仅拥有EMDAMDF的高检测准确率,且算法复杂度明显低于 EMDAMDF、CAMDF及EAMDF。结合图4、表1、表2三组实验看出,LSAMDF的综合性能明显优于其它三种改进算法。由此表明本文算法改进框架正确;以线性趋势表示均值下降趋势的假设合理可行。
表2 五种算法执行时间(单位:s)Tab.2 Performing time of the five algorithms in terms of Seconds
(1)本文提出基于去均值下降趋势的AMDF基音检测算法改进框架;通过分析AMDF的EMD分解提出利用线性趋势表示AMDF的均值下降趋势假设;利用最小二乘法拟合线性趋势,从AMDF中减去近似下降趋势,获得改进的LSAMDF。
(2)仿真实验结果验证了去均值下降趋势改进AMDF框架的合理性及以线性趋势表示均值下降趋势假设的可行性。LSAMDF性能明显优于传统AMDF、EAMDF及CAMDF且不劣于EMDAMDF,算法复杂度明显低于EMDAMDF。
[1]Krubsack D A,Niederjohn R J.An autocerrelation pitch detector and voicing decision with confidence measures developed for noise corrupted speech[J].IEEE Transactions on Signal Processing,1991,39(2):319-329.
[2]Ross M,Shaffer H,Freudberg R,et al.Average magnitude difference function pitch extractor[J].IEEE Transactions on Acoustics,Speech and Signal Processing,1974,22(5):353-362.
[3]Ahmadi S,Spanias A S.Cepsrumbased pitch detection using a new statistical V/UV classification algorithm[J].IEEE Transactions on Speech and Audio Processing,1999,7(3):333-338.
[4]Kadame S,BroudreauxBartels G F.Application of the wavelet transform for pitch detection of speech signals[J].IEEE Transactions on Information Theory,1992,38(2):917-924.
[5]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.
[6]Amado G.Pitch detection algorithms based on zerocross rate and autocorrelation function for musical notes[C].//Proceedings of ICALIP.Shanghai:IEEE,2008:449-454.
[7]Zhang W,Xu G,Wang Y.Pitch estimation based on circular AMDF[C].//Proceedings of ICASSP. Beijing: IEEE,2002:341-344.
[8]Muhammad G.Noise robust pitch detection based on extended AMDF[C].//Proceedings of ISSPIT.Sarajevo:IEEE,2008:133-138.
[9]顾良,刘润生.高性能汉语语音基音周期估计[J].电子学报,1999,27(1):8-11.GU Liang,LIU Runsheng.Highperformance mandarin pitch estimation[J].Acta Electronica Sinica,1999,27(1):8-11.
[10]梁升,王新晴,王东,等.基于 MMEMD的改进 HHT及应用[J].振动与冲击,2012,31(20):23-26.LIANG Sheng, WANG Xinqing, WANG Dong, et al.Improved HHT based on MMEMD and its application[J].Journal of Vibration and Shock,2012,31(20):23-26.
[11]宗源,曾毓敏,孙永熙,等.基于EMD的AMDF基音检测改进算法[J].南京师范大学学报(工程技术版),2013,13(1):62-67.ZONG Yuan, ZENG Yumin, SUN Yongxi, et al. A modified AMDF Pitch detection algorithm based on EMD[J].Journal of Nanjing Normal University(Engineering and Technology Edition),2013,13(1):62-67.
[12]李秀坤,李婷婷,马涛.微弱信号强干扰分离方法研究[J].振动与冲击,2011,30(3):225-227.LI Xiukun,LI Tingting,MA Tao.The research on strong interference separation of week signal[J]. Journal of Vibration and Shock,2011,30(3):225-227.
[13]胡灿阳,陈清军.基于EMD和最小二乘法的基线飘移研究[J].振动与冲击,2010,29(3):162-167.HU Canyang,CHEN Qingjun.Research on baseline drift using leastsquare and EMD[J].Journal of Vibration and Shock,2010,29(3):162-167.
[14]Leon SJ.Linear algebra with applications[M].New York:Macmillan,1980.
[15] Meyer G,Plante F,Ainsworth W A.A pitch extraction reference database[C].//Proceedings of Eurospeech,Madrid:ISCA,1995:827-840.
[16]Rabiner L R,Cheng M J,McGonegal C A.A comparative performance study of several pitch detection algorithms[J].IEEE Transactions on Acoustics,Speech and Signal Processing,1976,24(5):399-417.