基于音素及其特征参数的维吾尔语音合成技术

时间:2022-10-13 06:52:24

基于音素及其特征参数的维吾尔语音合成技术

摘要:首先建立了由维吾尔语中的单音素、双音素所构成的小规模语音语料库,设计了相应的拼接单元挑选算法,利用参数调整算法对拼接单元语音信号的时长、基频和短时能量等特征参数进行调整,并利用时域平滑算法对拼接点处的语音参数进行调整,从而进一步提高了合成语音的自然度。用C Sharp编程语言实现了上述算法,试验结果表明研究思路和技术方案的可行性。该系统具有语料库小,合成语音的可懂度和自然度较高等优势。

关键词:计算机应用;中文信息处理;语料库;参数调整;语音合成;时域平滑

中图分类号:TP391 文献标识码:A

1 引言

在语音合成方面,合成语音的清晰度目前已不成问题,自然度是听众接受这项技术的主要障碍,因此进一步提高合成效果的自然度是语音合成一个急待解决的研究内容。由于在模型的精确度方面的原因,以前的合成器都难以有效地合成高自然度的语音,而基于原始语音库的波形拼接合成在实现高自然度的合成系统上,取得了很大的进展。波形拼接合成方法的基本原理就是根据输入文本分析得到的信息,从预先录制和标注好的语音库中挑选合适的单元,进行少量的调整(也可以不进行调整),然后拼接得到最终的合成语音,其中用来进行单元挑选的信息可以是前端分析得到的韵律文本,也可以是生成的声学参数(比如基频、时长和谱参数),或者两者兼有。由于最终合成语音中的单元都是直接从音库中复制过来的,其最大的优势就是在于保持了原始发音人的音质。文献[1,2]研究了基于大语音语料库的波形(最大的语音基元为句子,最小的语音基元则为音节)拼接式语音合成技术。虽然,大语料库合成系统的合成语音的音质和自然度都相当不错,尤其针对一些特定领域的应用,但是它也存在一些内在的缺陷和不足。由于语音库很大,使得语音库制作的工作量非常大,而且周期也很长,合成系统的合成语音比较单一。

为了在容量最小的语音语料库基础上,较高自然度地合成出所有维吾尔语文本,本系统采用了基于音素基元的小样本波形拼接合成技术,并有效地利用参数调整合成算法、时域平滑算法、波形单元挑选算法,提高了合成语音的自然度。本文所研究的基于音素波形拼接及特征参数调整的语音合成技术成功填补了维吾尔语音合成技术领域的空白。

本系统首先从维吾尔语常用的单词和句子里面切割出来的单音素和双音素的语音来建立语音语料库。系统收到维吾尔语文本后,分析收到的文本并利用单元挑选算法把它分割成相应的音素序列,并从语音语料库中选取适当的语音数据,并对拼接单元的语音信号的基频、时长等特征参数进行调整,生成包含与收到文本对应的语音数据声音文件,合成语音的同时利用时域平滑方法对拼接点的语音参数进行调整,输出自然连续的语声流。系统的总体流程如下:

2 语音语料库的建立

2.1 单音素语音语料库

维吾尔语语音的最小组成单位是音素,音素有元音和辅音两大类。在32个字母中有8个元音字母,24个辅音字母。单音素语音语料库是由32个维吾尔字母所对应的音素声音组成的。我们首先研究维吾尔语的特点,积累了维吾尔语常用的,用得最频繁的特定单词,然后考虑音素的拼接问题,并反复测试合成出来的结果,取出了适当的维吾尔音素。同时检测并收集了每个音素在不同上下文环境下的特征参数。

2.2 双音素语音语料库

由单音素语料库来合成语音时,因为元音和辅音拼接的地方不顺,很容易加噪声,严重影响合成语音的效果。通过实验结果,我们意识到应该考虑每一个元音跟前后辅音的连接情况,所以我们建立了双音素语音语料库。双音素语音语料库是8个元音字母(用N表示)前面有24个辅音字母(用M表

3 拼接单元的参数调整

在实际语流中,同一个音素单元在不同上下文环境下(比如前后音素类型,属性等)会产生不同的发音变体,因为每个音素所处语境和位置等不同,则它们的音高、音强和音长分布模式会发生不同程度的变化。如果收集各种语境下的音素来建立语料库并合成语音的话,语料库的容量会变得很大。而我们的目的是在不把语料库的容量变大的条件下,提高合成语音的自然度,所以我们选择利用参数调整算法。首先我们积累了语料库中的每一个音素在不同上下文环境中的基音频率、时长以及谱参数特征参数,并利用STRAIGHT参数合成器。STRAIGHT(Speech Transformation and Representatlon using Adaptive Interpolation of weiGHTed speetrum)(Kawahara 1997;Kawahara,Masuda-Katsuse etal01999)是一种针对语音信号的高性能的分析合成算法,它通过对语音短时谱进行时频域的自适应内插平滑来提取去除基频影响的语音信号精确的谱包络,并能在恢复语音的过程中进行时长、基频以及谱参数的灵活调整。我们设计了相对调整算法,在频谱到语音的合成过程中,参考收集的特征参数并对拼接单元的语音信号的特征参数进行调整,尽量使拼接单元的参数保持一致,合成语音协调发音。

4 分析文本并单元挑选

对输入的文本进行分解单元时,首先把输入的文本分解为单词,然后把每一个单词分成相应的音素单元序列。维吾尔语是一个复杂的声调系统,维吾尔语语音的最小组成单位是音素,最小发声单元是音节,一个音节是由元音和零至三个辅音构成的。在现代维吾尔语中音节有6种常用组合结构。如果我们用字母“V”来代替元音字母,“C”字母来代替辅音字母。那么音节形式是:

除了以上6种纯属维吾尔语标准音节格式以外还有一些从其他语言中引进的音节格式。有以下5种:

b)如果单词是多个音素组成的,分成双音素序列,在双音素语音语料库中取出相应的语音数据。分解音素单元的时候,首先尽量分解较大的单元,然后分解较小的单元。

c)如果双音素在语料库中不存在,判断这个双音素肯定不是一个元音和一个辅音组成的。比如分解ABB型,BABB型,BBA'型,BBAB型,BBABB型,BAA型和BAAB型音节的单词时,音节的前、后、中都有两个辅音BB或两个元音AA组成的双音素,所以语音语料库中找不到对应的语音数据,此时把这些双音素又分解成单音素,分别从单音素语音语料库中取出相应的语音数据。单元挑选算法流程图如下所示:

分解后的音素序列是:f,r,ro,on,n,t。

5 合成部分的实现

合成部分的主要工作包括:分析文本,单元挑选,语音波形选择,拼接单元参数调整,拼接点平滑,生成声音文件等部分。具体实现步骤如下:

(1)系统收到维吾尔语文本后,分析收到的文本,并利用单元挑选算法把收到的文本分割成相应的单音素和双音素序列。

(2)语音语料库中取出音素序列对应的拼接单元后,首先对拼接单元进行参数调整,然后创建一个新的声音文件,把调整后的语音数据按照收到的顺序写到声音文件里面,产生一个与输入的文本对应的、独立的声音文件。

(3)对拼接单元进行合成时,两个拼接单元连接的地方,尤其是拼接点处有元音(因为元音和辅音的音强差别比较大)的地方不一致,存在音高跳变的现象,从而产生噪声。为解决这些问题,本系统设计了相应的时域平滑算法,合成语音的同时,检测拼接点两边的语音信号并自动检测出样本值相同的采样点,去掉存在跳变的地方,从而减小噪声,尽量使拼接点两边保持一致,进一步改善合成语音的音质。进行平滑前和进行平滑后的拼接点的语音信号波形如下:

从上面的波形可以看出对语音信号进行平滑以后,中间跳变的地方就消失了。

6 结语

作为少数民族语言信息处理的核心技术之一,近年来维吾尔语语音合成技术取得了巨大的进步。随着合成音质和自然度的逐步改善,用户对合成系统提出了更多的需求,比如如何有效地利用有限的、容量最小的语音语料库,并保持较高的音质和自然度,这已经成为目前一个重要的研究工作。为了使语料库的容量最小,本系统把音素基元作为拼接单元,而且同时用了单音素和双音素的多基元方法,根据维吾尔语的特点设计了灵活的单元挑选算法。从系统的合成效果可以看出,拼接单元越大,合成语音的自然度越高,但这是以语料库的容量变大为代价。所以在不把语料库的容量变大的条件下,有效地利用了参数合成调整算法和时域平滑算法对拼接单元进行相应的调整。本系统具有语料库容量小(容量不到10M)和较好地合成自然度等优势,所以它在嵌入式语音合成上也有非常好的实用前景。

上一篇:中医药古文献语料库设计与开发研究 下一篇:一种面向构形计算的汉字字形形式化描述方法