开发者学堂课程【达摩院智能语音交互 - 语音合成技术:语音合成技术】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/46/detail/980
语音合成技术
语音合成技术
介绍语音合成的流程,首先介绍传统的语音合成,包含语音合成前端以及语音合成后端。语音合成前端主要是文本分析器,它的输入是文本输出,是包含语言学信息的因素序列。
语音合成后端,输入是音素序列,输出是语音。它包含市场模型、频谱、基频、模型。通过市场模型可以得到每个因素持续的时间,通过频谱基频模型可以得到语音真的频谱跟基频参数,最后通过声码器得到合成语音。
在端到端语音合成系统中主要包含了端到端的一个模型,它的输入是文本,输出是合成语音。先看传统的语音合成前端。传统的语音合成前端,它的输入是录音文本,输出是对应的韵律文本。举个例子,一来二去,张玉芝把小家欣当成亲孙女,这是录音文本,这两行则是文本分析前端的结果,是韵律文本。
它包含了韵律边界,PP 表示并列短语边界,TW表示并列词边界,律词边界跟韵律短语边界,它的停顿是不一样的。下面这一行是对应的拼音以及声调,这两行就是韵律文本,通过韵律文本就可以转换得到上下文相关的因素序列。
下面是前端文本处理的流程。首先,输入文本,经过分词模块得到语法词信息,再通过词性标注模块得到每个语法词的词性。通过命名实体识别模块。对特定意义的实体进行识别。比如人名、地名、机构名等等。这里的张玉芝就是一个人名。然后再通过预测韵律短预测模块得到韵律词韵律短语的边界。通过多音字、消极模块得到每一个多音字所对应的发音,比如这里的当成是多音字,然后通过字音转换得到输出韵律文本。
对于传统的语音合成后端,基于HMM模型的语音合成后端为例进行介绍。它主要包括训练和合成两大部分。在训练过程中,利用HMM模型的训练方法对时长、基频以及普参数进行建模,训练得到的模型包括了时长,基频以及参数的聚类 HMM 模型以及各自的决策树。
在合成过程中,首先对输入文本进行文本分析得到我们所需要的上下文相关音素序列。然后根据这些上下文属性,分别通过时长基频跟普参数的聚类决策树进行决策,得到预测的时长以及相应的模型序列。最后,根据模型基于参数生成算法来生成基频和普参数,并通过合成器合成最后的语音。
传统的语音合成,优点是合成效率比较高,合成语音平滑稳定。但由于前端模块需要较强的语言学知识,增加了系统构建的难度。后端模块需要对语音的发生机理以及信号处理有了解,另外,建模时的一些假设会造成信息的损失,因此存在音质不够高以及韵律比较平淡的问题。
这些问题促使了端到端语音合成的出现。研究人员希望能够使合成系统尽量的简化,减少人工干预和建模中的假设,端到端语音合成系统,直接输入文本系统,直接输出音频的波形。例如Char2wav , Tacotron,这些均为端到端的语音合成方法,是编码器解码器结构的一个端到端语音合成系统。文本首先通过编码器进行编码,再通过带有注意力机制的一个解码器进行解码,然后通过new work order直接得到合成语音。
这一类方法,它的优点是不需要中间特征。也不需要通过时长切分进行增和音素的对齐,可以进行联合的优化,合成语音的韵律更加自然流畅,但是在中文中用户规模的限制,端到端语音合成存在效果不稳定的问题,因此产品化的难度比较大。