APP下载

基于矢量量化算法的语音转换关键技术研究

2016-12-27马一男李沛东陈群严秋万永菁

中国科技纵横 2016年15期

马一男 李沛东 陈群 严秋 万永菁

【摘 要】基于矢量量化的码本映射方法是语音转换的常用算法,其优势是转换算法实现快捷、效率高。在语音转换过程中,矢量码本映射的关键参数选择决定了转换算法的运行速度和目标语音的实现效果。本文研究矢量量化码本映射方法的关键参数的选择问题,研究了矢量量化中码书大小及LPC系数个数的选择方法,并通过仿真结果验明参数选择的有效性。

【关键词】语音转换 矢量量化 码本映射 参数选择

1 引言

语音转换属语音信号处理新兴研究方向。语音转换在提取源说话人和目标说话人的语音特征的基础上,通过语音转换技术使目标说话人的语音酷似源说话人语音。语音转换在电影配音、保密通信、文语转换系统应用乃至医学等方面都具有广泛的应用。

语音转换常用算法有矢量量化算法(VQ)[1-3]、线性多变量回归算法(LMR)、动态频率调整算法(DFW)[4],统计映射法[5],人工神经网络(ANN)[6],以及基于高斯混合模型(GMM)的语音转换算法。其中,矢量码本映射方法(VQ)是语音转换常用的一种方法,该算法对源说话人和目标说话人的特征参数进行划分,分别产生源码本和目标码本,采用动态时间规整(DTW)技术对齐源说话人和目标说话人的码本,并得到矢量码本的映射矩阵,利用码本映射矩阵实现语音转换。

本文研究基于矢量量化算法的语音转换技术的关键参数的选择方法,在综合考虑转换效果及转换效率的基础上研究算法参数的选择方法,并通过ABX及MOS测试方法对语音转换结果进行评测分析。仿真实验结果表明了参数选择的有效性及正确性。

2 基于矢量量化的语音转换算法

2.1 语音信号特征参数的提取方法

语音信号在短时间范围内可以认为是稳态信号,通常对语音信号的处理是先经过交叠分帧处理后,再对短时语音信号进行分析,获取源说话人及目标说话人的语音特征。设语音信号的时间序列为x(n),加窗分帧处理后得到的语音信号为xi(m),其中i表示第i帧信号,设每帧信号长度为N,则0≤m≤N-1。

正常语音都含有有话帧和无话帧,语音特征提取只针对有话帧,本文采用谱熵法实现语音端点检测,分离语音信号中的有话帧和无话帧。对第i帧语音信号做快速傅里叶变换,并求出其频率分量的能量谱,设为Ei(k),定义归一化谱概率密度函数,如式(1)所示。

2.2 矢量码本映射及动态时间规整[7]方法

基于VQ的语音转换技术将源语音的LPC系数和目标语音的LPC系数进行矢量量化,然后利用动态时间规整技术将特征向量对齐,寻找码本映射矩阵,完成源语音到目标语音的特征参数转换。

本文采用LBG算法[8]进行码书提取。LBG算法是一种递推算法,从一个事先选定的初始码本开始迭代。首先,把训练序列按照码本中的元素根据最邻近准则分组,然后,对每一分组找质心,得到新的码本并作为初始码本,接着,再进行分组,重复上述过程,直到描述系统性能的总失真度满足要求或者不再有明显的改进为止。

为防止拖音或呼吸音造成单词的端点检测不准,识别率的降低,在语音转换时,要对语音信号进行时间规整,将时间规整和距离测度计算结合起来。假设源语音特征矢量有I 帧矢量,而目标特征有J帧矢量,且I≠J,则需要寻找一个时间规整函数,其中、,该时间规整函数将源语音特征矢量的时间轴非线性地映射到目标特征的时间轴上。第帧测试矢量和第帧模板矢量之间的距离测度用表示,这里,采用矢量欧式距离即2范数形式计算得到,距离测度如式(6)所示。

2.3 语音合成方法

对于测试的源语音信号,提取其基音信息和LPC特征参数,利用相应的基音转换方法和特征参数映射矩阵获得目标语音的基音参数及LPC特征参数,并通过语音合成方法生成转换后的语音信号。

语音合成过程利用白噪声在无话段通过对应的线性预测得到的滤波器合成清音帧,在有话段利用连续脉冲串通过时变滤波器合成人的浊音帧,并采用采用线性比例重叠相加法,把分帧时产生的重叠部分用一个线性比例加权后再相加,实现语音信号的平滑操作。

3 矢量量化语音转换算法关键参数的选择

3.1 参数选择的实验方法

矢量量化关键参数的选择包括码书参数的选择和LPC系数个数的选择。本文通过实验分析得到合理的参数选择方法。一般的口语汉句的平均汉字数是12个。本文利用SAPI5 TTSAPP语音合成软件生成频率为8KHz的2男2女的语音,挑选兼具元辅音成分的汉语词汇组成平均长度为12个汉字的汉句。

3.2 码书参数及LPC系数个数的选择

输入100个具有代表性的汉句进行仿真实验,通过比较不同码书及LPC系数个数值下平均D值的大小以及运算时间的长短得到码书参数的选择方法。表1所示为不同码书下的100个语音转换结果的平均D值的比较,表2所示为不同LPC系数个数下的100个语音转换结果的运行时间的比较。

矢量量化码书选择范围与语音的帧数有关,本文采用的语音信号为8KHz采样频率,分帧帧长为200,对于一个12个汉字组成的词语,分帧后的平均帧数在400左右。考虑到码书大小在小于帧长时才有意义,本文选取测试分析的码书范围在16~256之间。LPC系数个数通常的选择范围在7~16之间,本文选取测试的LPC系数个数也在此7~16之间。实验环境的PC机主要配置为IntelCore-i7-4700MQCPU,主频2.40GHz,算法仿真平台为MATLAB。

从表中数据可知,码书越小,执行时间越短;但平均D值在LPC系数为13处达到最佳,即此处的平均D值较小。实验表明,当转换长度约12个汉字时,选择码书大小为64、LPC系数为13最佳。

语音的帧长与码书的选取有很大关系,通过不同帧长下的语音转换实验得到,码书的选择应为帧长的1/6~1/7。而LPC系数个数则不论码书的选取是多少,均在13左右达到最小的平均D值,故LPC系数的个数选取13为最佳值。

4 语音转换效果评价

本文采用语音转换常用的ABX和MOS测试对语音转换结果进行评价。ABX测试用于评价目标语音与转换语音的近似程度,让听众从转换后的语音中选择更接近源语音还是目标语音,并将接近度以正确率以百分比的形式展现;MOS测试则让听众采用5分制依次为转换后的语音质量进行打分:1分表示非常差,2分表示较差,3分表示一般,4分表示较好,5分表示非常好。利用本文选取的码书大小及LPC系数个数,邀请20位听众对100个汉句的2位男声及2位女声的相互转换结果进行测评,平均测试结果如表3所示。

表中结果显示,当语音转换参数取最佳码书大小及LPC系数个数下,进行男声与女声的相互转换时,都能取得较好的转换评测结果,但男声到男声和女声到女声的转换结果还有待提高。其主要原因是基于VQ的语音转换算法每一类数据都是用该类类心的特征参数来代替,转换规则数量上的限制影响了转换效果。尽管如此,基于VQ的语音转换算法在程序效率上相对其他的语音转换算法还是有很大的优势的,且在合适的码书大小及LPC系数个数下仍可以取得男声与女声语音转换的较满意的结果,特别是在实时应用场合以及便携式设备中有其实用价值。

5 结语

本文针对矢量量化语音转换算法的参数选择问题进行研究,通过实验分析得出最佳码书与语音帧长的关系以及LPC系数个数的选取方法。通过语音转换实验验明了所选参数的有效性。本文研究的基于VQ的语音转换算法关键参数的选取方法对实时语音转换应用具有实际意义。

参考文献:

[1]ABE M,NAKAMURA S,SHIKANO K.Voice conversion through vector quantization[M].New York 1988.

[2]Gersho A,Gray R M.Vector quantization and signal compression[M].Boston MA:Kluwer 1990.

[3]侯建爱.基于矢量量化的说话人识别系统研究及实现[D].湖南师范大学,2014.

[4]Toda,H.Saruwatari,K..Shikano.Voice Conversion Algorithm based on Gaussian Mixture Model with Dynamic Frequency Warping of STRAIGHT spectrum[A].Salt Lake City,USA 2001.

[5]KUN Liu.High quality voice conversion through combining modified GMM and formant mapping for Mandarin[A].New York:IEEE Press 2007.

[6]Desai S,Raghavendra E V,Yegnanarayana B.Voice conversion using artificial neural networks[A].2009.

[7]宋知用.MATALAB在语音信号分析与合成中的应用[M].北京:背景航空航天大学出版社.

[8]Stephen So,Kuldip K Paliwal.Switched Split Vector Quanfisation of Line Spectral Frequencies for Wideband Speech Coding[A].Lisbon 2005.