
语音合成的原理及分类.ppt
51页*数字语音处理及MATLAB仿真 张雪英编著*1第九章 语音合成 9.1 概述19.2 语音合成的原理及分类9.3 共振峰合成法39.4 线性预测参数合成法49.5 基音同步叠加法59.6 文语转换系统62** *数字语音处理及MATLAB仿真 张雪英编著*29.1 概述语音合成是人机语声通信的一个重要组成部 分,解决让机器像人那样说话的问题最早的合成器是1835年由W.von Kempelen发 明,经Weston改进的机械式会讲话的机器而最 早的电子式语音合成器也是1939年Homer Dudley 发明的声码器,它不是简单的模拟人的生理过程 ,而是通过电子线路来实现基于语音产生的源-滤 波器理论 *数字语音处理及MATLAB仿真 张雪英编著*3在语音合成技术发展中,早期研究主要是采用参数合成方法1990年提出的基音同步叠加PSOLA方法,使基于时域波形拼接方法合成的语音音色和自然 度大大提高 我国的汉语语音合成研究从80年代初就基本上与国际研究同步发展大致也经历了共振峰合 成、LPC合成到应用PSOLA技术的过程 *数字语音处理及MATLAB仿真 张雪英编著*49.2 语音合成的原理及分类 9.2.1 波形合成法波形编码合成法是一种波形合成法,类似于语音编码中的波形编解码方法,该方法直接把要合成 的语音的发音波形进行存储或者进行波形编码压缩 后存储,合成重放时再解码组合输出。
特点:所需的存储容量太大,词汇量不能很大;相对简单,通常只能合成有限词汇的语音段目 前用于自动报时、报站和报警等 *数字语音处理及MATLAB仿真 张雪英编著*5另一种波形合成法是波形编辑合成,它把波 形编辑技术用于语音合成,通过选取音库中采取 自然语言的合成单元的波形,对这些波形进行编 辑拼接后输出它采用语音编码技术,存储适当 的语音基元,合成时,经解码、波形编辑拼接、 平滑处理等输出所需的短语、语句或段落 *数字语音处理及MATLAB仿真 张雪英编著*69.2.2 参数合成法参数合成法也称为分析合成法参数合成法有:发音器官参数合成和声道模型 参数合成发音器官参数合成法:是对人的发音过程直接进行模拟它定义了唇 、舌、声带的相关参数,如唇开口度、舌高度、舌 位置、声带张力等,由发音参数估计声道截面积函 数,进而计算声波缺点:合成语音的质量不理想 *数字语音处理及MATLAB仿真 张雪英编著*7参数合成方法的优点:音库一般较小,并且整个系统能适应的韵律特征的范围较宽,这类合 成器比特率低,音质适中缺点:算法复杂,参数多,并且在压缩比较大时,信息丢失亦大,合成出的语音总是不够自 然、清晰。
为了改善音质,近几年发展了混合编码技术,以改善激励信号的质量 *数字语音处理及MATLAB仿真 张雪英编著*89.2.3 规则合成法规则合成方法:一种高级的合成方法,通过语音学规则产生语音,可以合成无限词汇的语句 合成的词汇表不是事先确定,系统中存储的是 最小的语音单位的声学参数,以及由音素组成音 节、由音节组成词、由词组成句子和控制音调、 轻重音等韵律的各种规则算法中,用于波形拼接和韵律控制的较有代 表性的算法是基音同步叠加PSOLA技术 *数字语音处理及MATLAB仿真 张雪英编著*99.2.3 规则合成法基音同步叠加PSOLA技术主要特点:在语音波形片断拼接之前,首先根据语义, 用PSOLA算法对拼接单元的韵律特征进行调整,使合成波形既保持了原始语音基元的主要音段特 征,又使拼接单元的韵律特征符合语义,从而获 得很高的可懂度和自然度 *数字语音处理及MATLAB仿真 张雪英编著*10项目波形合成方式参数合成方式按规则合成方式 语音 质量可懂度高高中自然度高中低词汇量小(500字以下 )大(数千字)无限合成方法PCM,ADPCMLPC,LSP,共振峰LPC,LSP共振峰数码率9.6~64kbit/s 2.4~9.6 kbit/s50~75 kbit/s 1兆比特可合成 的语音长度15秒~100秒100秒~7分无限合成基元音节、词组、句 子音节、词组、句子音素、双音素、音 节 装置简单比较复杂复杂 硬件主体存储器存储器和处理器处理器表9.1 三种语音合成方式的比较** *数字语音处理及MATLAB仿真 张雪英编著*119.3 共振峰合成法共振峰合成理论中声道参数、声道谐振特 性一直是研究的重点。
共振峰合成模型是把声道视为一个谐振腔 ,利用腔体的谐振特性,如共振峰频率及带宽 ,以此为参数构成一个共振峰滤波器因为音 色各异的语音有不同的共振峰模式,以每个共 振峰频率及其宽带为参数,可以构成一个共振 峰滤波器 ** *数字语音处理及MATLAB仿真 张雪英编著*129.3 共振峰合成法共振峰语音合成器的构成原理:将多个共振峰滤波器组合起来模拟声道的传输特性,对激励声源发生的信号进行调制, 经过辐射得到合成语音 基于共振峰的理论有三种实用模型 *数字语音处理及MATLAB仿真 张雪英编著*139.3.1 级联型共振峰模型在该模型中,声道被认为是一组串联的二阶谐振器,共振峰滤波器首尾相接,其传递函数为各个共 振峰的传递函数相乘的结果 *数字语音处理及MATLAB仿真 张雪英编著*14激励源V1V2---- V5辐射模型 语音G一个五个极点的共振峰级联模型如下图9.2 共振峰级联模型五个极点的共振峰级联模型传递函数为:即:式中,G为增益因子 *数字语音处理及MATLAB仿真 张雪英编著*159.3.2 并联型共振峰模型在并联型模型中,输入信号先分别进行幅度调节,再加到每一个共振峰滤波器上,然后 将各路的输出叠加起来。
其传递函数为:** *数字语音处理及MATLAB仿真 张雪英编著*16上式可分解成以下部分分式之和:其中Al为各路的增益因子 *数字语音处理及MATLAB仿真 张雪英编著*17下图就是一个M=5的并联型共振峰模型激励源+辐射模型语音图9.3 并联型共振峰模型** *数字语音处理及MATLAB仿真 张雪英编著*189.3.3 混合型共振峰模型比较以上两种模型,对于大多数的元音,级联型合乎语音产生的声学理论,并且无需为 每一个滤波器分设幅度调节;而对于大多数清 擦音和塞音,并联型则比较合适,但是其幅度 调节很复杂于是考虑将两者结合在一起,提 出了混和型共振峰模型 *数字语音处理及MATLAB仿真 张雪英编著*19混和型共振峰模型如下图所示:图9.4 混和型共振峰模型** *数字语音处理及MATLAB仿真 张雪英编著*20对于共振峰合成器的激励,简单地将其分为浊音和清音两种类型是有缺陷的,为了得到高质 量的合成语音,激励源应具备多种选择,以适应 不同的发音情况混和型共振峰模型中激励源有三种类型:合成浊音语音时用周期冲激序列;合成清音语音时 用伪随机噪声;合成浊擦音语音时用周期冲激调 制的噪声。
** *数字语音处理及MATLAB仿真 张雪英编著*21共振峰合成技术弱点:(1)由于它是建立在对声道的模拟上,因此,声道模型的不精确势必会影响其合成质量2)实际工作中共振峰模型并不能表征影响语音 自然度的其他许多细微的语音成分,从而影响了 合成语音的自然度3)共振峰合成器控制十分复杂,实现起来十分 困难 ** *数字语音处理及MATLAB仿真 张雪英编著*229.4 线性预测参数合成法是一种“源滤波器”模型,由白噪声序列和周期脉冲序列构成的激励信号,经过选通、放大并 通过时变数字滤波器,就可以再获得原语音信号 图9.5 LPC语音合成器的框图** *数字语音处理及MATLAB仿真 张雪英编著*23线性预测合成的形式有两种:一种是直接用预测器系数构成的递归型合成滤波器,用这种方 法定期地改变激励参数u(n)和预测系数,就能合成 出语音它合成的语音样本由下式决定:其中:ai为预测系数;G为模型增益;u(n)为激励 ;合成样本为s(n);p为预测器阶数 *数字语音处理及MATLAB仿真 张雪英编著*24图9.6 直接用预测器系数ai构成的合成滤波器 ** *数字语音处理及MATLAB仿真 张雪英编著*25另一种合成的形式是采用反射系数构成的格型 合成滤波器。
它的合成语音样本由下式决定: 其中:G为模型增益;u(n)为激励;ki为反射系数;bi(n)为后向预测误差;p为预测器阶数 *数字语音处理及MATLAB仿真 张雪英编著*26LPC语音合成和共振峰语音合成比较:(1)LPC语音合成有比较简单和完全自动的分析步骤,合成器结构也比较简单,采用格形滤波器时 ,量化特性和稳定性都比较好,硬件实现容易;而 共振峰合成需要较多的参数调整,合成器结构相对 讲要复杂些2)共振峰合成原理和实际发声原理联系紧密,它的模型控制参数对合成语音谱特性的影响比较直 观LPC合成中,控制LPC系数的变化轨迹十分有限 *数字语音处理及MATLAB仿真 张雪英编著*27(3)共振峰语音合成比较灵活,允许简单地变换以模仿不同人的发音,通过共振峰频率的移动,容 易改变语声中和讲话人特征有关的部分;LPC合成 较困难,只有将LPC的反射系数转变成极点的位置,才有可能作类似的修正4)线性预测方法对谱包络谷点的模型要比峰点差得多,因此共振峰带宽的估计一般是不合适的; 共振峰合成方法中,共振峰的带宽还可以从离散傅 里叶变换谱来估计 *数字语音处理及MATLAB仿真 张雪英编著*28(5)标准LPC的全极点模型,对具有零点谱特性的那些音,特别是鼻音,效果比较差;共振峰合 成方法则可以采用反谐振器来直接模拟鼻音中最 重要的频谱零点,使得合成语音音质得以提高。
6)从总体上说,选择LPC语音合成还是共振峰 合成,基于二个因素的折衷;LPC合成具有简单,可自动进行系数分析的优点;而比较复杂的共 振峰合成可望产生较高质量的合成语音 *数字语音处理及MATLAB仿真 张雪英编著*299.5 基音同步叠加法基音同步叠加PSOLA算法核心思想:直接对 存储于音库中的语音运用PSOLA算法进行拼接,从而整合成完整的语音该系统首先要在大量语音库中,选择最合适的语音单元用于拼接,并且在选择语音单元的过 程中往往采用多种复杂的技术,最后在拼接时, 使用PSOLA算法,根据上下文的要求,对其合成语音的韵律特征进行修改 *数字语音处理及MATLAB仿真 张雪英编著*30由于韵律修改所针对的侧面不同,PSOLA算法 的实现目前有3种方式分别为:时域基音同步叠加TD-PSOLA线性预测基音同步叠加LPC-PSOLA频域基音同步叠加FD-PSOLA其中TD-PSOLA算法计算效率较高,已被广泛 应用,是一种经典算法,这里只介绍TD-PSOLA算法原理 *数字语音处理及MATLAB仿真 张雪英编著*319.5.1 基音同步叠加PSOLA算法原理信号x(n)的短时傅里叶变换为:其中w(n)是长度为N的窗序列,Z表示全体整数集 合。
是变量n和ω的二维时频函数,对于n的每 个取值都对应有一个连续的频谱函数,显然存在 较大的信息冗余,所以可以在时域每隔若干个( 例如R个)样本取一个频谱函数来重构原信号x(n) *数字语音处理及MATLAB仿真 张雪英编著*32令:其傅里叶逆变换为:然后将 叠接相加便可得到:通常选w(n)是对称的窗函数,所以有 w(rR-n)=w(n-rR) ** *数字语音处理及MATLAB仿真 张雪英编著*33可以证明,对于汉明窗来说,当时,无论m为何值都有:所以其中 为w(n)的傅里叶变换上式说明,用叠 接相加法重构的信号y(n)与原信号x(n)只相差一个常数因子 *数字语音处理及MATLAB仿真 张雪英编著*34这里采用。












