论文部分内容阅读
可视语音合成技术,旨在为输入语音生成同步的唇形动画和表情动画,从而使应用具有更友好的交互体验,具有重要的应用前景和应用价值。互联网尤其是移动互联网的发展和普及,为可视语音合成提供了更为广阔的应用空间。在面向互联网和移动互联网的交互式社交应用开发中,可视语音合成具有重要的应用价值:可用于开发游戏中的虚拟说话角色,使得角色的唇形和表情更加真实自然;可用于开发在线虚拟聊天室,使用户能够通过虚拟化身进行网络社交;还可用于开发虚拟解说员,用于提升导航系统和电子书阅读器等应用的交互体验。但是,这种交互性和面向互联网的特性,也为可视语音合成提出了新的挑战,一个重要的性能方面的考量是可视语音合成的时效性。为了使得系统具有较好的使用体验,用户等待动画合成结果输出的时间应控制在可接受的范围之内。另一个值得关注的点是可视语音合成的真实度。人眼对可视语音的感知十分灵敏,任何微小的偏差都可能会给用户带来不自然的感觉。因此,在进行可视语音合成时,需要考虑这两者之间的平衡。 基于上述背景,本文研究的重点是可视语音合成的真实度和实时性以及实时可视语音合成系统的构建。针对我们的目标应用场景,我们对两种已有的经典方法进行了深入研究,并对这两种方法提出了不同程度的改进,主要包括以下几个方面的研究成果: 1)提出使用带约束优化策略和加入作用中心优化的控制函数参数自动训练方法,避免了无约束优化策略存在的部分音素会被过度优化的情况,同时使得模型更符合实际情况,并通过实验验证了改进的有效性 该方法通过插值生成连续动画的特性使得算法本身具有较好的实时性,其难点在于控制函数参数的设置:手动设置控制函数参数往往十分繁琐,且工作量巨大;传统的自动训练控制函数参数的方法,一般对训练数据的音素格式有特定要求,因此灵活性较差。而Beskow[Bes04]介绍的自动训练方法,直接使用自然句子作为训练数据,因而更具实用性。针对[Bes04]的无约束优化策略存在某些参数会被优化到与其物理含义冲突的区间以及某些音素会被过度优化的情况,我们使用带约束的优化策略将参数的取值限制在合理的范围。实验结果表明,带约束优化策略使得全体音素的控制函数的形状分布更加均匀合理,相比无约束优化策略,合成结果与原始数据的相关系数平均提高10%,RMSE平均降低0.1。针对实际观察中,同一音素的不同实例的中心时刻的唇形并不完全相同,我们加入对控制函数中心的优化。从而使得模型更符合实际情况。 2)提出使用匹配代价和全局最优路径选择的贪心策略片段选取方法,使得贪心策略适用于只包含音素符号和音素时间信息的输入格式,同时对数据库进行更充分的利用,并通过实验验证了改进的有效性 拼接合成方法通过直接拼接真实数据片段生成连续动画,当数据库规模较大时,合成结果能达到很高的真实度,且不会出现插值合成中存在的过平滑现象。传统的拼接合成方法大都只关注合成结果的真实度,而对实时性关注甚少。Cao等[CFKP04]提出的基于贪心策略的拼接合成方法具有非常好的实时性,其时间复杂度为线性级。针对本文的实际输入中并不包含原始文献中要求的音频特征,我们定义了匹配代价代替音频特征,以处理多个序列满足最长匹配时的情况。相比于原始文献中要求的在输入中包含音频特征,本文的输入只包含音素的符号和时间信息,因而更简单也更具灵活性。实验结果表明,合成结果与原始数据具有较好的相似性。同时,考虑到本文使用的数据库规模并不大,我们使用全局最优路径选择代替局部最优路径选择,通过考虑更多的候选组合对数据库进行更加充分的利用。实验结果表明,采用全局最优路径选取,能较好地平衡由后处理操作引入的各项误差。 3)构建了一套交互式可视语音动画合成系统,以文本作为输入,实时合成可视语音动画 系统采用模块化的设计思想和面向对象的实现方式,具有较好的可移植性和可扩展性。可视语音合成模块和2D特征点驱动三维模型运动的核心代码,均使用C++语言编写。系统主要包括以下三个模块: TTS模块:基于SAPI5.4开发,负责将文本转换成语音,并输出合成语音的音素级别的时间信息; 可视语音合成模块:负责由输入音素序列及音素时间信息合成唇形动画,输出2D特征点动画序列; 动画展示模块:负责使用合成的2D特征点序列驱动三维模型运动,同时负责动画和音频的同步播放。