C#文本朗读与语音识别软件开发与设计(4)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

C#文本朗读与语音识别软件开发与设计(4)


时间序列的处理。尽管学者们提出了许多含反馈的结构,但它们仍不足以刻画诸如语音信号这种时间序列的动态特性。由于ANN不能很好地描述语音信号的时间动态特性,所以常把ANN与传统识别方法结合,分别利用各自优点来进行语音识别而克服HMM和ANN各自的缺点。近年来结合神经网络和隐含马尔町夫模墅的识另IJ算法研究取得了显著进展,其识别率已经接近隐含马尔可夫模型的识别系统,进一步提高了语音识别的鲁棒性和准确率。
支持向量机(Support vector machine)是应用统计学理论的一种新的学习机模型.采用结构风险最小化原理(Structural Risk Minimization。SRM),有效克服了传统经验风险最小化方法的缺点。兼顾训练误差和泛化能力,在解决小样本、非线性及高文模式识别方面有许多优越的性能。已经被广泛地应用到模式识别领域。
1.1.2  文本朗读技术
文本朗读也即TTS技术,TTS是text-to-speech的缩写[3]。也称Speech  Synthesis,是一个将文本转化为语音输出的过程。这个过程的工作主要是将输入的文本按字或词分解为音素,并且对文本中的数字、货币单位、单词变形以及标点等要特殊处理的符号进行分析.以及将音素生成数字音频然后用扬声器播放出来或者存为声音文件以后用多媒体软件播放[4]。
对于合成器而言,将一串字符转换为听起来符合规范的音频流需要做大量工作。想象其工作方式的最简单的方法是分析一个两部分系统的前端和后端。
前端负责使用自然的语言规则分析文本。它分析一串字符以分辨有哪些单词(对于英语而言很容易,但对于汉语和日语而言则没那么容易)。前端也可以分辨诸如语音功能和组成部分的详细信息 — 例如,哪些单词是正确的名词、数字等;哪里是语句的开头和结尾;一个短语是疑问句还是陈述句;陈述句是过去时、现在时,还是将来时。
所有这些元素对于选择单词、短语和语句的适当发音和语调而言是很关键的。例如在英语中,疑问句通常以声调结尾,对于单词“read”而言,它的发音会因其时态的不同而差异很大。很明显,了解单词或短语的使用环境对于将文本转换为声音相当重要。具体而言,这些规则对于每种语言而言也稍有不同。因此可想而知,前端必须进行一些非常复杂的分析。
而后端有完全不同的任务。它通过自身的一些重要分析,获取前端的分析,从而生成输入文本的适当声音。旧式合成器(以及当今具有最少足迹的合成器)以算法方式生成单独的声音,从而产生一个非常机器人化的声音。现代的合成器(例如,Windows Vista 中的合成器)使用一个声音片段数据库,这些片段来自于大量的录音。后端的有效性依赖于它针对给定的输入选择适当的声音片段并将它们流畅地结合在一起的能力。
这听起来是不是很复杂?没错,就是这样。具有内置于操作系统中的这些文本到语音功能是非常有利的,因为它允许应用程序使用该技术。我们无需创建自己的语音引擎。正如我们稍后将在本文中看到的一样,我们可以使用单个函数调用来调用整个处理过程。我们很幸运[5]!
TTS技术本身原理十分复杂,但是微软最新提供的Microsoft  Speech  SDK开发包已经将主要的TTS技术包含在内,尤其是提供了TTS引擎接口,所以在开发的整个过程中,可以将这些技术以“类”和“函数”的方式灵活地应用到编制的程序中[6]。
文本朗读的主要方法:波形合成法、参数合成法、规则合成法,以下是3种方法的比较:
                          表1-1  文本朗读方法比较                      (责任编辑:qin)