语音合成实验报告
李飞 王江为 袁晓杰 陈新依 王永胜
一、 应用 Matlab 实现语音合成的背景 语音合成技术的研究已有两百多年的历史, 但真正具有实用意义的近代语 音合成技术是随着计算机技术和数字信号处理技术的发展而发展起来的, 主要是 让计算机能够产生高清晰度、 高自然度的连续语音。 在语音合成技术的发展过程 中,早期的研究主要是采用参数合成方法, 后来随着计算机技术的发展又出现了 波形拼接的合成方法。参数合成的特点:调节灵活,但音质较差。
21 世纪的通信应在人与人之间、人与机器之间提供高质量的无缝的信息交 换手段。无论何时、何地,以任何方式通信,语音通信将是最基本、最重要的方 式之一。声音信号的处理和通信领域联系密切, 掌握音频信号的压缩编码、 频谱 分析和合成的原理与方法,对通信领域工作的开展具有重要意义。 Matlab 是由 MathWorks公司于1984年推出的一套科学计算软件。Matlab具有强大的计算功 能和诸多的工具箱,并且提供了 COM 接口,能方便地与 VC 等程序开发平台对 接。使用 Matlab 来实现语音合成能够减少工作量,我们无需关心某些函数的实 现,只需知道函数的作用和使用什么函数就够了,这就使 Matlab 成为科学研究 和分析利器。
二、 使用 Matlab 实现语音合成的目的
熟悉 Matlab 的使用
了解语音合成的原理和过程
重点学习参数合成法的实现
三、 语音合成的原理
语音生成模型
通过对声管的研究,发现它可以用若干段级连的不等截面积均匀管道进行 描述,一般称作级连无损声管模型。 采用流体力学的方法可以证明每一截均匀管
道的频响能够用一个但极点模型来近似,这样N段管道组成的声管就可以用一个
N阶全极点滤波器表述,即:
V(z)
G
N T
()
i【一 pkz「)
对于典型的男声,N=10,所有的极点Pi要分别构成共轭对以保证{ai}系数 都是实数。在综合考虑清音信号,就可以得到产生语音信号的离散语音模型,如 图所示:
图1:产生语音信号的离散时域模
对上述模型进行充分简化。首先去掉随机信号激励部分,认为激励信号是
一个脉冲序列,不考虑有无周期。其次去掉声门脉冲模型和口唇的辐射模型, 因
而得到如图所示最简单的语音模型:
图2:简化的语音生成
假设激励信号用e(n)表示,语音信号用s(n)表示,根据全极点模型表达式,
有:
N
s(n) = ' aks(n -k) Ge(n)
()
k :f
从而可以用声管模型对激励信号进行滤波得到语音信号
语音预测模型
假设已经知道了系数{ai},那么将图2的输入和输出对换,就构成了语音的预
测模型,即语音信号s(n)送入预测滤波器,得到预测残差 e(n)
N
e(n ) = s (n ) - ' akS( n - k )
k- ( )
假设信号的发端和收端都知道预测系数{ai},那么发端只需要把误差e(n)传 到收端即可,因为收端可以用e(n)作为上述差分方程的激励得到重建语音。在发 端,语音s(n)是滤波器的输入,而误差e(n)是输出。事实上,系数{ai}当然也需要 从发端传到收端,但因为语音具有短时平稳性,即在短时间内(比如 10ms),系
LPC语音合成实验报告 来自淘豆网m.daumloan.com转载请标明出处.