教学参考-27

来自cslt Wiki
跳转至: 导航搜索

教学目标

  • 了解语音信号的生成模型
  • 理解声码器的概念及重要意义
  • 了解参数合成、拼接合成、统计模型合成三种方法
  • 了解基于神经网络的语音合成模型


教学内容

人是如何发声的

  • 人在发音时,由声带产生震动,经过口唇形成的空腔传导后发出声音。口唇的变化会改变声音传导的特性,从而发出不同的声音。科学家们提出了一种称为“源-滤波器”的数学模型来模拟上述发音过程。在这一模型中,声带及相关的震动生成器官统称“声门”,而口、鼻、唇等震动传导器官统称为“声道”。
  • 如下图所示。首先由声门产生震动信号e(n) 。对于元音和浊辅音,e(n)周期性的脉冲;对于清辅音,e(n)为一段白噪声。信号e(n)经过声道h(n)传导后发生了改变,得到的信号x(n)就是我们听到的声音。


早期的语音合成器

  • 1750年,德国数学家欧拉建立了声音理论。1769年,匈牙利发明家Wolfgang von Kempelen 依据人类的发声机理,制作了一台机械发声器,这是让机器开口说话的早期尝试。
  • 1939年,贝尔实验室的科学家Dudley, Homer发明了声码器,将语音信号分解成声门激励和声道调制两个部分,再基于人的发音模型进行合成。
  • 声码器的发明不仅是语音合成技术的基础,也是整个现代语音信号处理技术的开端。


传统语音合成技术

  • 语音合成通常指从文本生成声音,也称为文本到声音转换(TTS)。语音合成广泛应用在人机会话,自动播报,地图导航等各种场景。
  • 语音合成一般分为两步:首先通过语言学分析将文本转换为发音单元(通常为音素)序列,再为序列中的每个单元合成声音。
  • 早期语音合成是参数法。这一方法为每个音素设计声门和声道参数,并基于人的发音模型合成出音素的发音。这一方法简单轻量,但发出的声音有明显的机器声,自然度低。DECTalk是这种参数合成的代表,著名物理学家霍金的辅助发音设备用的就是DECTalk。
  • 后来,人们提出拼接合成法。这种方法预先录制好一个覆盖各个音素的语料库,合成时从这些语料库中选择合适的音素片段拼接起来。因为是事先录好的声音,听起来更加自然。
  • 拼接合成法需要存储大量语料,占用较多存储空间。另外,因为语料是固定的,合成系统只能发出固定的声音,不够灵活。2000年后,研究者提出基于统计模型的合成方法。与拼接法保留原始录音不同,统计模型法将每个发音单元“总结”成一个称为隐马尔可夫模型(HMM)的统计模型,用来生成声门和声道参数。有了这些参数,就可以依人的发音模型合成声音。
  • 统计模型法本质上是参数合成,但和传统参数合成不同,统计模型法的发音参数是通过语料库学习出来的。
  • 与拼接法相比,统计模型法更轻量灵活。例如,可以通过修改模型参数改变发音特性,从而生成更丰富的发音。


基于深度学习的语音合成技术

  • 近年来,深度神经网络在语音合成中取得极大成功,特别是序列到序列模型得到广泛应用,显著提高了合成语音的自然度。
  • 谷歌的Tacotron模型是现代语音合成的代表。这一模型的输入序列为待合成的音素串,经过编码器得到隐变量序列;解码器以这一序列为输入,基于注意力机制依次输出目标语音片段。
  • 序列到序列模型直接学习音素序列到语音序列的映射关系,从而减少了对语言学分析的依赖,生成的声音更自然,然而,训练这一模型需要更多的数据和计算资源。
  • 值得说明的是,包括Tacotron在内的一些模型不再对声门和声道参数进行区分,而是直接预测频谱甚至是时域波形。这在一定程度上颠覆了传统声码器的基础框架,也是深度学习所带来的深刻变化之一。