Algorithm 版 (精华区)
发信人: AA (积极的人生、美好的人生), 信区: Algorithm
标 题: 基于文本标注的语音合成(zz)
发信站: 哈工大紫丁香 (2002年05月23日19:59:00 星期四), 站内信件
基于文本标注的语音合成
摘要:语音合成是一个复杂的过程,它在处理的过程中不仅需要声学的知识,而且还需
要大量文本结构的信息和语言学的知识。正因为这一原因当前语音合成的自然度效果并
不好。本文我们提出采用基于SGML的语音合成标注语言来提高语音合成的自然度并设计
了基本解决方案;另一方面该标注语言也提高了合成过程的透明度,方便了用户对语音
合成的控制。
关键字:语音合成,自然度,SGML,语音合成标注语言
一、前言
有关人类语言的研究在计算机出现之前很早就已经开始了。最初的研究是利用机械装置
来模拟人的声道,当气流通过机械装置时通过机械装置来控制声音的产生。第一个真正
的实验是Wolfgang Von Kenpelen在1791年发明的装置。他第一次实现了人的声音的产生
。在随后的时期内,人们先后用机械,电子管等模拟人的声音。
随着计算机的出现,语音合成逐步转向全部用计算机实现,而且语音合成的应用范围也
越来越广。一些语音合成的应用甚至可以把一个大规模的文本作为输入信息。这一进展
是以往的合成方法所不可比拟的。现在随着语音合成技术的研究,它的初步研究成果已
经应用到如下的领域:
.计算机辅助教学
.发声的仪器控制系统和提示系统
.各种查询系统
.残疾人的辅助工具...
对于语音合成所需的输入信息,从人的角度来看纯文本是比较合适的。但是对于计算机
来讲,纯文本并不是一个理想的输入方式。在一个语音合成系统中,把文本转化为声音
需要经过许多步骤,在这几个步骤中,不仅仅计算量大,而且在文本处理过程中有许多
语言现象要分析,这将导致语音合成的过程中发生错误的可能性大大增加。总结起来,
现在语音合成系统主要有以下几个缺点:
①文本的段落分析:要想语音合成系统发出清晰度和自然度都比较高的声音,必须首先
对文本做一些必要的处理。在纯文本中确定出词,词组的边界,这也就是分词。而后确
定出句子,段落的边界。在此基础上尽可能的对句子进行分析,消除文本中一些产生歧
义的词组。这些信息在以后进行语音合成时可以有效的帮助提高句子在发声过程中的停
顿判断。
②不定因素的处理:因为文本中的内容各式各样,在文本中存在的语言现象及其繁杂而
且还有一些不认识的文本等,这些问题的存在都可以导致合成性能的降低。
③发音过程中的韵律和重音的处理:因为声音的韵律不仅涉及到声学的一些特征,而且
文本前期处理的细化程度对于发音过程中的韵律也将产生影响。不仅如此在声音产生的
过程中韵律和重音应当怎样确定,在很大的程度上依赖于特定的环境,依赖于文本的上
下文,因此整个文本的篇章理解也成了决定韵律的很重要的一部分。这些因素综合起来
给发音过程中韵律的判断带来了极大的困难。
④现在已经有一些语音合成系统,它们各自有特定的文本输入格式,没有一个统一的输
入接口。这种情况导致了无法充分利用已有的语音合成系统的成果。
从上面可以看出,语音合成系统中存在大量的问题,这涉及到语言学,人工智能等诸多
领域。其中对于韵律起至关重要的篇章理解至今仍未有很好的算法。鉴于此,我们在输
入的纯文本基础上加入一些控制信息来控制合成过程以期达到较好的合成效果。
二、设计思想
1、设计目标
因为我们要求在声音产生时所需要的文本已经不再是纯文本,而是加有控制标注的文本
。这样如何充分的表示这种控制信息已经成了整个系统的核心,它的有效表达可以在语
音合成的后期大大提高合成的清晰度和自然度。另一方面为了方便后期对标注文本的修
改,我们对标注文本应尽可能采用简练的形式。基于以上考虑我们为语音合成系统设计
的标注语言可以采用基于SGML的标注方案。
我们采用基于SGML的语音合成标注语言,概括起来讲是为了实现以下的目标:
·语音合成过程的控制:对语音合成系统所需的输入文本进行标注,这样可以提高语音
输出的质量。
·易于应用和扩展:系统在对输入的纯文本进行标注之后,允许用户对生成的标注文本
加以修改和检查。因为这一个过程涉及用户的手工修改,所以语音合成标注语言必须简
练易懂,而且要有检查用户修改的信息是否正确的机制。我们采用基于SGML的语音标注
系统,它对文本的描述和描述的具体实现是分离的,这使得我们的语音标注系统具有良
好的扩展性,它支持以后可能增加的新的控制特性(即新的标注符号)。
·模板库的建立:因为现在语音合成系统中的文本发声需要有篇章理解,但是这一个课
题涉及到语言学和人工智能的许多领域。为了避免这一个问题,我们提出模板的概念。
讲同一种类型的文本的控制信息以模板的形式确定下来。这样可以方便控制信息在语音
合成标注在文本中的表示。
2、系统设计框架
从总体上看,整个语音合成系统可以用如下的图来表示:
为了最后能够产生高质量的语音,必须对输入的文本进行几个阶段的处理得到语音合成
标注文本。
首先,纯文本输入到语音合成系统中以后要进行文本的预处理。在这一步中将结合系统
提供的字典库对文本进行整理,这一步所做的工作主要是将缩写或者简写形式整理成一
个完整的格式,将文本中出现的数字确定用恰当的英语来表示等。另一方面,它将用户
输入过程中的一些不可识别的字、词或者外来语(系统不支持的语言)加入到扩展字典
库中。用户可以利用这一个字典库记录的新单词很方便地扩充已有的字典库,这样在以
后输入新的文本时,系统可以自动地识别这一个新词。
在预处理完成之后是词法分析:这一阶段的主要工作是根据字典进行分词,在分词的基
础上确定段落、句子以及短语的边界,消除分词过程中产生的几个相邻单词之间的分词
歧义现象。在这一步除了确定段落,句子,短语的边界外,还要确定诸如当前的文本是
否为标题或者是表格等等一些琐碎的事情。这一部分工作的主要依据是分词中用到的字
典库和文本的编排格式。这一工作主要影响以后发音过程中发音之间的间隔和停顿。
在词法分析之后首先选择这一文本是否符合模板库中的一种,模板库定义了发声过程中
的基调。比如是陈述语气还是疑问语气或者是否带有很强的感情色彩。比较常用的模板
库有E-mail模板库、一般的书信和会议文件,演讲等等。模板库的设计使用户可以较少
的修改以后产生的标注文本,实际上模板库已为将来的声音合成产生了正确的标注。
为了保证最终合成语音的质量,首先要保证合成字音的质量。因此必须对全部的字音进
行反复编辑,合成和测试,最后得到一个归一化的无音调单音节语音参数库作为合成语
音的基础。现代的语音研究表明在连续语音流中各字音间按意群结合并且相互影响会产
生音联现象。另外,讲话者在讲话的过程中也会有一定的语调和韵律。除了这些之外还
有变调和多音字问题。由于以上的原因,为了利用单音节语音参数库来合成流畅的语音
,在语音合成系统中必须建立相应的规则库来控制发声。需要考虑的语音规则包括音调
规则、变调规则、时长规则、重读规则、停顿规则、音联规则和语调规则。为了应用这
些规则生成具有较好的自然度和清晰度的语音,必须对语音的声学特性和句子的韵律特
征进行大量的测试总结,建立音调变化,时长变化、韵律变化等处理规则和合成规则的
规则库。
以上所有的诸如判定词、段落或者文章的界限、重音控制、时长变化等信息都将反映在
最后的经过语音合成标注语言标注了的文本中,这些信息连同要发声的文本送到声音合
成器中得到最后的语音输出。因为利用语音合成程序对文本进行自动标注必然会产生一
些错误,在这儿系统允许用户在真正产生声音之前进行人工的校对,重新修改标注文本
中的控制信息。这一人工修改可以使语音输出更加接近要求。因为语音合成标注语言同
SGML一样,有一定的语法规定,所以在人工修改完成之后还要对修改的标注文本进行检
查,向用户报告发现的错误,帮助用户完善自己对标注文本的修改,最后确保修改后符
合标注语言的语法。当一切都处理完之后,最后将标注过的文本送到发声器。
系统在处理的最后一步还提供了一个转换程序,通过此转换程序可以使用不同的语音合
成程序进行语音的合成输出。现在已经有大量的语音合成程序在使用,各个语音合成系
统都有自己的优点,我们提供的这个转换程序可以将输入的文本转化为不同语音合成系
统语音产生程序所要求的格式,这样在一个语音系统中可以吸收多个声音产生器的优点
,这一程序的编制需要其它的语音合成程序提供接口要求。
3、关键技术分析
在这个语音合成系统中,它不同与以往的合成系统的地方在于它不依赖于机器做所有的
有关段间隔、韵律等问题的判断。而是用一种标注语言明确表明需要计算机做的有关判
断,所有的语音控制信息对用户来讲都是透明的,用户可以预测到将来合成的效果。正
因为如此,这一合成系统中的关键就在于这一语音合成标注语言的定义与使用。
在这里我们所使用的标注语言是基于SGML的,我们的语音合成标注语言仅仅描述了文本
的结构和对发声的一些细节特征的描述以及其它的一些属性,它并没有利用语音合成标
注语言来指定怎样处理文本,关于怎样利用标注信息把文本转化为声音在声音合成器中
实现。这种描述和实现的分离可以使经过标注的文本将来用更好的语音合成器加以实现
而不需要对它做任何的修改。在我们的语音合成标注系统中,可以把标注语言分成两大
部分:文本描述和发音控制。
对于文本描述他主要定义将要发声的文本的类型和文本的边界等信息。它的主要内容如
下所示:
.mode(参数类型,风格参数):它控制文本中的类型和发声格式选择。
其中类型参数决定后继的文本是什么类型,风格参数决定怎样发声。
例如:<mode type=number style=number> 123 </mode> 表示将把123看成一个整数来发
音。下面的写法表示系统将把123看作一个字符串逐个的发音。
〈mode type=number style=string> 123 </mode>
.bound(边界类型)
其中边界类型指定了该标注是词组边界还是段落、文章的边界。
例如: 〈bound type=sentence> this is a test </bound> 表明是一个句子边界,而
〈bound type=word> this </bound>表示该边界类型为一个单词。
对于bound标注来讲,它是左匹配的而且它允许嵌套。
文本描述符主要的作用是控制句子的朗读方式和句子之间、词组之间的停顿。它控制了
发声的总体效应,对于发声过程中的韵律和重读问题以及一些具体的发声控制则要通过
发声控制标注符来实现。
发声控制标注符指明一些在发声过程中要处理的一些细节问题,它具体控制发音过程的
各个方面。它的主要内容包括重音的设置,发音速度,单词的发音(尤其是变音),语
言之间的转换,音量以及选择合适的发音者等等。下面列出了几个重要的标注符号。
. emph(文本内容)
该标注设置了后继的文本内容要重读,它不仅可以设置一词组或者单词重读,而且它可
以将一个单词进一步拆分,指定在一个单词的内部哪一个音节设置为重读。例如<emph>
this </emph>指定了this 重读。
.language(类型)
该标注允许在同一个文本中可以包含两种以上的语言,通过这一个标注符可以调用系统
中不同的语言合成器对不同的语言进行分别处理。
.volume(数字)
它指定了将来的发音中声音的音量有多大,通过该标注符来改变将来输出的声音的大小
。
.pron(单词)
这一个标注的作用是决定一个单词的发音。在语音合成的过程中它的作用是十分重要的
,它决定了一个单词在不同的阶段发音的不同。例如: <define word="挨打" pron="a
i2da3"> 需要注意的是一旦一个单词的发音被定义,它的作用范围将持续到下一次被定
义为止。当碰到同一个单词的重复发音定义时,则以最新的定义为准,这一标注保证了
在语音合成系统中变音的实现。
.rate(数字)
它表示语音合成后声音的发声速度。通过数字的大小模拟调节说话的快慢。
从上面的叙述可以看到,文本描述符和发音控制描述符分别处理了语音合成的不同方面
。将两者分离使程序员在设计语音合成系统时可以分开考虑文本和语音的因素。语音合
成标注语言的定义和实现是分离的,这使得以后扩展语音合成器支持更多的标注符成为
可能。
下面是语音合成系统处理完输入文本后输出的标注文本的一个简单例子
<bound type =sentence> This is an
<emph> important </emph>
test
<rate speed=20> of speech synthesis.</rate>
</bound>
我们的语音合成系统是机器翻译系统的一个后期处理模块,机器翻译是一个纯粹的自然
语言的处理过程。在处理的过程中产生了大量的有关文本的内部结构信息,我们可以有
效地直接把这些有关文本的结构信息应用到语音合成标注过程中。如果语音合成系统不
与机器翻译系统相结合,那么语音合成系统将采用默认的处理方式将纯文本进行从头到
尾的分析。语音合成标注语言作为一个机器翻译系统和语音合成系统之间的桥梁,减少
了两者之间的联系,这样在一个系统改动时对另一个系统产生最小的影响。
三、结论与展望
基于标注的语音合成系统对即将进行语音合成的纯文本进行了标注处理。它允许用户灵
活的处理改动它们,通过人工的手段大大提高了语音合成的清晰度。另一方面因为语音
合成标注语言的实现和定义是分开的,这允许同一个经过标注的文本有不同的解释,因
此可以用不同的语音合成器合成声音,这又拓宽了经过语音合成标注语言标注后的文本
的适用范围。而且经过标注的文本和语音合成器的改动相互不影响,方便了系统的移植
。
针对当前的语音合成标注系统还有许多问题需要解决。其中怎样定义语音合成标注语言
的内容才能完整的反映发音的过程是一个漫长的过程;另外韵律特征,时长规则等各个
规则库的建立与完善也要经历多次反复才能确定。
参考文献
杨家沅,林道发等 连续英汉语音翻译系统的设计和实现 声学学报 1992.9
方建淳著 语音合成技术与单片微机综合系统 北京航空航天大学出版社,1993年
L.R.拉宾纳, R.W.谢弗著,朱雪龙等译:《语音信号数字处理》,科学出版社,1987年
B.Van Coile, H.W.Ruhl, L.Vogten, M.Thoone, 1997. Speech synthesis for the ne
w Pan-European traffic
message control system RDS-TMC. Speech Communication 23(1997)307-317.
Cristina Delogu, Stella Conte, Ciro Sementina, 1998. Congnitive factors in t
he evaluation of synthesis
speech. Speech Communication 24(1998)153-168.
Allen,J., 1992. Overview of Text-to-Speech Systems. In: Furui, S., Sondhi, M
.M.(Eds.), Advanced in Speech
Signal Processing, Marcel Dekker, New York, pp, 741-790
--
人世间的事谁也无法掌握
该执著的 永不怨悔
改舍去的 不在牵挂
改珍惜的 好好把握
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: NLPCenter.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.691毫秒