语音合成概述
文章概述:本篇文章主要介绍了语音合成的基础概念、主流声学模型的优缺点,以及语音合成前沿技术的科普;通过本篇文章的学习,可以对语音合成技术的概念以及模型的选型有一定了解;
语音合成流程
音素:最小的语音单位,如’普通话’这三个字是由3个音节,8个音素组成的;
主要有三个阶段:前端处理——声学模型——声码器
前端处理与声码器都有通用的一些方案,针对不同任务的改进点主要在声学模型部分;
自回归语音合成模型
主要包括:Tactotron2、Transformer TTS、Deep Voice 3
如上图所示,输入为文本,输出为频谱,无需繁琐的人工特区特征过程,实现端到端的语音合成;
传统自回归语音合成的一些缺陷:
- 合成速度非常慢,在实时性要求高的场景无法适用;
- 会出现重复吐字或者漏词的现象,对于商用语音合成看说无法接受;
- 无法细粒度控制语速、韵律和停顿;
非自回归语音合成模型
主要包括:FastSpeech、FastSpeech2
- FastSpeech
简介:
1、使用全并行的非自回归架构,解决生成速度慢的问题,同时引入知识蒸馏使得生成音频的性能接近自回归模型;
2、引入duration predictor来预测文本和频谱之间的强对齐,消除生成语音的跳词和漏词现象;
3、引入length regulator来解决自回归模型的可控性问题(长度和韵律);
数据流说明:
声音变化的因素:
音高、音量、时间、音色,最终导致在相同文本的情况下生成的频谱图不同;
一对多映射问题(One-to-Many Mapping)
说明:多个语音变体对应同一文本的情况;
产生原因:
训练依赖于自回归教师模型及进行时长预测(提供更多信息作为输入)和知识蒸馏(简化输出中的数据分布),可以缓解一对多映射问题,但不能很好解决;
1、教师-学生蒸馏管道复杂并且训练耗时较大;
2、从教师模型attention中提取的时长预测不够准确;
2、用教师模型预测的Mel谱作为target,相比GT有信息损失导致音质受损;
- FastSpeech2
FastSpeech2中使用以下方法解决一对多映射问题:
1、直接用GT的Mel谱进行训练,去除知识蒸馏结构;
2、引入更多变化信息(pitch、energy、duration等)作为输入参数,参与到模型训练中;
结构图:
1、Variance adaptor
主要提取三种信息作为输出:
phoneme duration:音素的时长;
Pitch:音高(一个重要特征来表达情感和韵律);
Engry:表达音量的信息;
2、CWT Pitch Predictor
原理:将音高从时域的一维曲线转换为平面的二维频谱;
因为音频变换很大,不好预测,作者使用了pitch spectrogram(音高声谱图)作为训练目标,先用CWT(连续小波变换)获得音高声谱图,然后训练predictor去预测它;合成语音时再用iCWT即CWT逆运算将音高声谱图转换为音高曲线;
3、FastSpeech2s
说明:作者希望实现text-to-waveform而不是text-to-mel-to-waveform的合成方式,从而拓展提出的;
主要思想:加入Waveform decoder的架构,使用WaveGAN中的对抗训练方法让模型隐式的学习恢复相位信息的方法;
4、Data Process
训练数据处理:将文本转成音素,将波形转成频谱;
最新模型
下面简单对最新的模型做简单介绍,详情介绍可参考论文
- Glow-TTS
论文地址:https://arxiv.org/pdf/2005.11129.pdf
简介:Glow-TTS是一个基于标准化流的并行化语音生成模型,不需要像FastSpeech一样学习对齐信息,而是通过单调对齐搜索算法MAS,搜索最优文本特征与语音特征的对齐信息,并行生成最终的语音特征;
实现效果:能够生成与Tacotron2音质相当的语音,而且实时率达到0.025,并通过实验证明该模型在多人语音合成上同样适用;
主要结构:
像BVAE-TTS、EATS都是自动对齐的模型,也是最新的一些模型;
- 未来研究方向
1、文本-音频端到端自动对齐:精度更高、速度更快、训练更简便、更稳定;
2、使用更好的生成模型提高频谱质量:Flow、VAE、GAN等;
3、韵律模块(包括时长、音高和能量)的精度优化;
4、文本到波形的端到端非自回归生成;
总结
1、声学模型的整体趋势是往非自回归形式发展,原因是非自回归的模型可以学习音高、能量、时长等特征信息,增加语音的丰富度和饱和度,赋予情感。而自回归模型则很难学习音高等特征;
2、随着语音技术的发展,对于语音合成的实时性要求也不断提高,语音技术可以很好的参与到各种领域中,包括人机交互、智能客服等,而自回归模型推理速度相对非自回归模型较慢;
3、目前较为成熟的非自回归模型(如FastSpeech2)也无法做到完全端到端实现,中间需要一步梅尔频谱的转换,最新的研究方向是完全的端到端实现,从输入文本到输出波形;