基于Hilbert?Huang变换的语音合成基音标注搜索新算法
2018-06-12李娟张雪英黄丽霞孙慧霞陈建玲
李娟 张雪英 黄丽霞 孙慧霞 陈建玲
摘 要: 在TD?PSOLA语音合成系统中,基音标注的准确性是一个非常重要的因素。针对传统的短时自相关函数和小波算法准确性不高和没有自适应性的缺点,提出一种基于Hilbert?Huang变换的基音标注方法。该算法通过Hilbert?Huang变换分析语音,具有自适应性,根据自身情况选择基函数,分解过程满足条件自动停止。采用文中自适应算法对整段非平稳语音信号进行基音标注,其中浊音段、过渡段采用Hilbert?Huang变换进行标注,清音段、非语音段用相近基音周期插值。实验证明,相比自相关方法、小波方法,文中算法反映了一帧内准周期的细微变化,适应性较好。对于频率不同的男声和女声,准确度可达到90%以上。
关键词: 基音标注; 语音合成; Hilbert?Huang变换; 基音周期; 小波变换; 自相关函数; 自适应性
中图分类号: TN912.3?34 文献标识码: A 文章编号: 1004?373X(2018)12?0153?04
Abstract: The pitch annotation accuracy is a very important factor in the TD?PSOLA speech synthesis system. In allusion to the shortcomings of low accuracy and lack of adaptability of the traditional short?term auto?correlation function and wavelet algorithm, a pitch annotation method based on Hilbert?Huang transformation is proposed. The algorithm analyzes the speech by means of Hilbert?Huang transformation, has adaptability, and selects basis functions according to its own conditions. The decomposition process of the algorithm stops automatically when the conditions are satisfied. The adaptive algorithm is adopted in this paper to conduct pitch annotation for the whole segment of non?stationary speech signals, in which the voiced speech segment and transition segment are marked by means of Hilbert?Huang transformation, and the voiceless speech segment and non?voice segment are interpolated with the similar pitch period. The experiment shows that in comparison with the auto?correlation method and wavelet method, the algorithm in this paper reflects the subtle variation of the quasi?period in a frame, has good adaptability, and has over 90% of accuracy degree for male and female voices with different frequencies.
Keywords: pitch annotation; speech synthesis; Hilbert?Huang transformation; pitch period; wavelet transformation; auto?correlation function; adaptability
0 引 言
基音周期是语音信号处理中的一个重要的特征参数,它的准确性对语音压缩编码、语音合成、语音识别都具有至关重要的作用[1]。
基音标注是在检测出基音周期的基础上对一整段语音的基音周期点做出标记,包括有语音段(清音、浊音、过渡段)和非语音段,复杂度更高。在TD?PSOLA的语音合成系统中,基音标注的准确性很大程度上影响着合成语音的质量。目前基音标注方法分为基于非事件的方法和基于事件的方法[2],基于非事件的检测方法有传统的自相关函数法(ACF)[3?4]、幅度差法(AMDF)[[5]]、倒谱法[6],基于事件的检测方法有小波变换[7?9]和Hilbert?Huang变换(HHT)[10?13]。
文献[10?13]中的Hilbert?Huang变换相比文献[3?4]中自相关方法优点如下:第一、采用Hilbert?Huang变换方法时,语音分帧不用加窗,文中分帧是为了分段处理;第二、自相关算法只能求一帧信号的平均周期,而Hilbert?Huang变换可以计算一帧信号的每一个基音周期点[10]。
文献[7?9]中小波分解可以反映一帧内准周期的细微变化,但是没有自适应性。首先,对于不一样的信号,小波变换不能自适应地选择小波基,不能依据不同的需求构建不同的小波基函数;其次,对于一段信号,一旦决定了分解的尺度,分解后的信号就是某一固定频段。
相比小波变换的缺点,Hilbert?Huang变换的特点是直接和自适应。第一、因为EMD分解由信号自身直接产生基函数,根据自身特点不同的信号生成不同的基函数,具有自适应性[11?12];第二、不必根据频率考虑分解层数的问题,因为分解信号满足经验模态分解的两个条件时,自动停止分解,具有自适应的分解尺度[13]。
1 Hilbert?Huang变换理论
Hilbert?Huang变换包括有两部分:Huang变换和Hilbert变换。Huang变换,又称为经验模态分解EMD,是一次筛选磨光过程,由有限个IMF(本征模态函数)组成[10]。
2 文中自适应标注算法步骤
一段语音的特点是包含有浊音、清音、清浊音的过渡段、非语音段的复杂情况。进行基音标注时,对于每一种情况都有不同的处理方法。浊音帧采用文中Hilbert?Huang变换进行标注;清音帧或非语音帧采用相邻浊音帧的基音周期进行等间隔标注;过渡帧是较复杂的一种情况,因为该帧中一部分浊音有周期,一部分清音或非语音段没有周期,而且准确找出清浊音的过渡帧也比较困难[14]。
本文自适应标注算法步骤如下:
1) 对语音信号进行每帧220样点的无重叠分帧。
2) 端点检测,采用两级判别法。第一级用短时能量判别,第二级用短时平均过零率判别。
3) 清浊音检测,采用能量判别。根据判别准则,浊音帧标记为1,非语音帧、过渡帧、清音帧标记为0。
4) 对于每个浊音段,起点帧号数字记录到向量[p],结束帧号数字记录到向量[k]。
从结果可以看出,在浊音段使用本文算法准确率较高,漏判和错判都是出现在过渡帧。这是因为:
1) 过渡帧附近的声门脉冲能量过低,使用阈值对于过渡帧的判断本身就容易有误差;
2) 在过渡帧里,尤其语音段和非语音段的交界处,已经不具有准周期性。
如果进一步用端点检测提高清浊音边界的判断,调整选择更优的参数阈值,基音标注的准确率还可以再提高。
用文中自适应算法对8段男声女声分别进行基音标注,如表1所示。从表1可以看出:使用本文自适应算法的正确率都在90%以上;女声比男生的准确率低是因为女声的频率高,基音周期点多,情况更复杂。
另外在实际操作中还要考虑到运算的实时性,需要用运行时间来衡量。以样本1“中国科学院”为例,使用自相关标注的运行时间是2.6 s;使用小波方法标注的运行时间是2.7 s;使用本文自适应的方法标注的运行的时间是3.9 s;所以从这个角度来说,本文自适应方法的运行时间还需要进一步缩短。
4 结 语
本文方法应用于TD?PSOLA语音合成基音标注中,利用Hilbert?Huang自适应的特点对浊音、过渡段进行标注,拓展了Hilbert?Huang变换的应用范围。实验证明,相比自相关方法和小波算法,文中方法基本准确地检测出了一整段非平稳语音信号的所有基音峰值点。但是在过渡帧,容易出现漏判和误判,如果进一步提高清濁音边界的判断,基音标注的准确率还可再提高。
参考文献
[1] 潘峥嵘,戴芮,张宁.改进的基音周期检测算法研究[J].计算机工程与应用,2015,51(10):223?226.
PAN Zhengrong, DAI Rui, ZHANG Ning. Improved algorithm for pitch detection [J]. Computer engineering and applications, 2015, 51(10): 223?226.
[2] 刘志刚.Hilbert?Huang变换及其在电力系统中的应用[M].北京:科学出版社,2015:32?35.
LIU Zhigang. Hilbert?Huang transformation and its application in power system [M]. Beijing: Science Press, 2015: 32?35.
[3] 韩芳,王学春,靳宗信.基于ACF的基音检测改进算法[J].现代电子技术,2017,40(19):71?74.
HAN Fang, WANG Xuechun, JIN Zongxin. Improved pitch detection algorithm based on ACF [J]. Modern electronics technique, 2017, 40(19): 71?74.
[4] ZEREMDINI J, MESSAOUD M A B, BOUZID A. Multiple comb filters and autocorrelation of the multi?scale product for multi?pitch estimation [J]. Applied acoustics, 2017, 120: 45?53.
[5] 武良丹.基于小波变换与平均幅度差函数倒数的基音周期检测算法[J].科学技术创新,2017(31):114?115.
WU Liangdan. Pitch period detection algorithm based on wavelet transform and average amplitude difference function Reciprocal [J]. Scientific and technological innovation, 2017(31): 114?115.
[6] 陈盼弟,黄华,何凌.基于自相关和倒谱法的基音检测改进算法[J].计算机应用与软件,2015,32(1):163?166.
CHEN Pandi, HUANG Hua, HE Ling. Improved algorithm for pitch detection based on ACF and CEP [J]. Computer applications and software, 2015, 32(1): 163?166.
[7] 吴兴铨,周金治.基于改进小波变换的语音基音周期检测[J].自动化仪表,2017,38(6):67?70.
WU Xingquan, ZHOU Jinzhi. Speech pitch period detection based on improved wavelet transform [J]. Process automation instrumentation, 2017, 38(6): 67?70.
[8] 王晨,章小兵,刘美娟.提升小波加权自相关函数的基音检测算法[J].应用声学,2018(2):201?207.
WANG Chen, ZHANG Xiaobing, LIU Meijuan. Pitch detection based on lifting wavelet transform and weighted autocorrelation [J]. Applied acoustics, 2018(2): 201?207.
[9] 孙婷婷,章小兵.一种基于小波包变换加权自相关的基音检测算法[J].计算机工程与科学,2017,39(8):1525?1529.
SUN Tingting, ZHANG Xiaobing. A weighted autocorrelation method for pitch detection based on wavelet packet transform [J]. Computer engineering and science, 2017, 39(8): 1525?1529.
[10] 李德冲.基于改进型Hilbert?Huang变换的旋转机械故障诊断系统设计[D].天津:天津工业大学,2017.
LI Dechong. Design of fault diagnosis system for rotating machinery based on improved Hilbert?Huang transform [D]. Tianjin: Tianjin Polytechnic University, 2017.
[11] 杨振,邹男,付进.Hilbert?Huang变换在瞬态信号检测中的应用[J].声学技术,2015,34(2):167?171.
YANG Zhen, ZOU Nan, FU Jin. The application of Hilbert?Huang transform in transient signal detection [J]. Technicalacoustics, 2015, 34(2): 167?171.
[12] 周小龙,刘薇娜,姜振海,等.一种改进的Hilbert?Huang变换方法及其应用[J].工程科学与技术,2017,49(4):196?204.
ZHOU Xiaolong, LIU Weina, JIANG Zhenhai, et al. An improved Hilbert?Huang transform method and its application [J]. Advanced engineering sciences, 2017, 49(4): 196?204.
[13] 郭会芹.基于Hilbert?Huang的语音信号去噪算法研究[D].长春:长春理工大学,2016.
GUO Huiqin. Speech signal denoising algorithm research based on Hilbert?Huang [D]. Changchun: Changchun University of Science and Technology, 2016.
[14] 李乐,王玉英,李小霞.一种改进的小波能量熵语音端点检测算法[J].计算机工程,2017,43(5):268?274.
LI Le, WANG Yuying, LI Xiaoxia. An improved wavelet energy entropy algorithm for speech endpoint detection [J]. Computer engineering, 2017, 43(5): 268?274.