开发者学堂课程【阿里巴巴智能语音交互技术与应用:语音合成技术及应用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/376/detail/4713
语音合成技术及应用
内容介绍
一、语音合成简介
二、基于 HMM 的语音合成
三、基于 HMM 的波形拼接的语音合成
四、Deep learning 在语音合成中的应用
一、语音合成简介
(1)合成语音是什么
语音合成是将文本转化为语音的技术
(2)为什么需要语音合成
人工智能和移动互联网时代不可或缺的一部分
(3)语音合成发展史
基于机械装置的语音合成
基于电子元器件的语音合成
基于波形拼接的语音合成
基于 HMM 的参数语音合成
基于波形拼接的大语料库语音合成
(4)语音合成的应用
智能助手
客服中心
语音呼叫
我们听到的声音基本都是语音的应用
(5)语音合成怎么做
前端是文本分析的过程
后端是语音合成的过程
数据准备
录音数据及对应的标注韵律文本:
一来二去#3,张玉芝#1把#1小家欣#3当成#1亲孙女#4。yi1 lai2 er4 qv4 zhang1 yv4 zhi1 ba2 xiao3 jia1 xin1 dang4 cheng2 qin1 sun1 nv5
进行语音合成
录音之前准备一些文本,录完文本之后,根据发音进行标注,所谓标注就是标注它的发音是什么样子的会根据具体的发音进行标注的等级,所谓停顿等级,就是#1#2#3#4等等,#2是词#3是短语,
#1一般不用
数据标注好之后,录完文本之后,会有一批训练数据,数据包含文本类型数据和语音类型数据,文本类型数据,用来训练前端的文本和,处理模型
前端文本处理
每个词标上词性例如,动词名词副词
命名实体识别主要识别人名地名
多音字消歧标注好音节
基于 CFG、CRF、 Cart Tree 等技术
二、基于 HMM 的语音合成
文本的模型训练,录音的数据配合标注的数据,就是用来训练后端模型的数据。
录音会有相关的工具,来提取一句话,每个时间点的语音参数,语音参数包含,基频参数和谱参数,基频参数,是声带振动的频率,振动越快,频率越高,振动越慢,频率越低。
谱参数是声音经过喉咙的讯号,经过口腔的辐射,在经过到空气一系列。
文本分析得到上下文相关的属性,通过决策树来得到每个单元发音的模型,得到模型之后,会有语音参数生成,然后形成参数序列。
(1)关键技术点
通过语音参数形成高质量的语音
高质量的语音分析合成算法
基于决策树的模型聚类算法
基于多空间高斯分布的基频建模方法
基于 ML+动态特征的参数生成算法
(2)优缺点
优点:
平滑、稳定、数据量需求少、音质可扩展、size 小、 快速自动
缺点:
音质不高、韵律平淡
三、基于 HMM 的波形拼接的语音合成
主要是基于 HMM 的语音合成基础上添加了 HMM 的波形拼接,一部分是离线计算过程和在线计算过程。
首先,HMM 模型训练好之后,对所有训练数据进行预处理,把所有的数据都分好。
基于 kld 的模型相似度度量度量出模型之间的差异,然后再根据候选因素级的结果,进行参数合成。
要得到更好音质的结果,通过对所有的,每一个单元,从训练数据里面拿出单元片段拼起来,一句话为原始的录音结果。
基于 kld 及音速 likelihood 的单元预选对所有相似的词,进行动态的挑选,最后达成一个语音合成的目的
(1)最优化下式
其中:
(1)可以改写为:
挑选出来的单元参数和预测出的参数越接近,它的连续性越好,作为一个结果。
他的 likelihood 越大,则这个单元越好。
HMM 的方法选择出来的一个模型和预测出来的模型,的差距越小越好,则通过改写上面的式子可以得到最小值,我们最后求一个目标代价和连接代价最小的路径
(2)整个过程就是一个 viterbi 的最优化过程:
(3)代价的计算量巨大,难以满足实时需求
M*N*N(以20字,50个候选为例,需计算5万个连接代价)
基频代价、频谱代价
实时性超过一倍实时(N=50,10个字需要超过5秒出结果)
我们通过在后台离线的时候跑海量的文本将文本的一些预算结果,先计算出来,在对应实际线上的要求,通过对一个双数组的索引,的一个过程来快速找出预算的结果,最终再跑 viterbi。
(4)预先计算出各种代价
预先计算大量文本,记录可能的连接情况60亿可能的代价,出现5次以上的有4亿
(5) 基于 Double Array 的快速索引很快计算出结果,10个字300ms 出结果
四、Deep | earning 在语音合成中的应用
可以做分类模型,也可以做回归模型,deep learning 也可以进行 HMM 的语音合成
(1)基于 deep learning 的前 端优化前端一体化 deep learning 流程,基于 deep learning 的 WS、 PW、PP
(2)基于 deep learning 的后端合成
(3)基于 deep learning 的波形拼接