Tacotron2、GST、Glow-TTS、Flow-TTS…你都掌握了吗?一文总结语音合成必备经典模型(三)

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: Tacotron2、GST、Glow-TTS、Flow-TTS…你都掌握了吗?一文总结语音合成必备经典模型

LPCNet


LPCNet 一个将数字信号处理(DSP) 和神经网络(NN)结合应用于语音合成中 vocoder 的工作,可以在普通的CPU上实时合成高质量语音。


图8. LPCNet算法概述。网络的左边部分(黄色)每帧计算一次,其结果在整个帧中对右边的采样率网络(蓝色)保持不变。计算预测块根据以前的样本和线性预测系数,预测时间t的样本。为了清楚起见,省略了µ-law和线性之间的转换


LPCNet核心设计在图8中右侧的Sample rate network 部分。Frame rate network 主要为 Sample rate network 提供一个条件向量的输入,这个条件向量一帧计算一次,并在该帧时间内保持不变。LPC 计算模块则从输入特征中计算线性预测参数 LPC,LPC 也是一帧计算一次,并在帧内保持不变。

LPCNet分为两部分,一是每帧计算一次的特征计算部分,二是每个采样点都要计算的采样部分。特征计算部分的输入就是BFCC和二维pitch信息,输出为帧特征。采样部分的输入是特征计算部分的输出和用LPC计算的当前采样点的线性部分,还有上一个采样点以及上一个采样点的采样网络输出(非线性部分),输出就是当前点的非线性部分。最后只要将LPC计算的值和采样网络输出的值加起来就是LPCNet最后的输出。

如图8,整个系统由帧级别的 frame rate network(黄色部分)和采样点级别的 sampling rate network(浅蓝色部分)组成。frame rate network 每一帧计算一次,其中使用了 2 层 1*3 的一维卷积,因此该网络的感受视野为 5 帧。sampling rate network 是每一帧计算 160 次(如使用16khz的音频,10ms帧移),该部分为 autoregressive 模型,每一个激励 e 的推测都需要前一个推测 e 作为条件。


当前 SOTA!平台收录 LPCNet 1模型实现资源。

项目 SOTA!平台项目详情页
LPCNet  前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/lpcnet


Transformer -TTS


把Transformer和Tacotron2融合,就形成了Transformer-TTS。模型的主体是原始的Transformer,只是在输入阶段和输出阶段为了配合语音数据的特性做了改变。首先是Encoder的输入阶段,先将text逐字符转化为token,方便Embedding,然后进入Encoder PreNet,这层网络由一个Embedding layer和三层卷积层构成,转化为512维的向量后,进入Transformer Encoder。其次是Transformer的Decoder部分,分为输入和输出。输入通过一个PreNet将80维的梅尔声谱图转化为512维向量,这里的PreNet是一个三层的全连接网络。输出部分与Tacotron2的设计完全一致。基于Transformer的TTS模型已是现在主流的End-to-End TTS系统的baseline,它的实现必不可少,而且因为Transformer本身优异的结构,也能大大加快实验的速度。


图9. Transformer-TTS 系统架构


当前 SOTA!平台收录 Transformer-TTS  共 1 模型实现资源。

项目 SOTA!平台项目详情页
Transformer-TTS 前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/transformer-tts-mel-waveglow


Glow-TTS

Glow-TTS是一个不需要任何外部对齐处理的基于流的并行TTS生成模型。GLow-TTS引入了一种用于内部对齐的单调对齐搜索(Monotonic Alignment Search,MAS)方法。MAS利用流的特性,搜索文本和语音的潜在表示之间最可能的单调对齐。

图10. Glow-TTS的训练和推理程序


通常,用流来做条件概率密度估计的处理方法都是将给定条件先合并到流中,然后将数据映射到已知的条件流中。而Glow的做法不同,Glow-TTS是将条件信息合并到流的统计信息中去(如高斯分布的均值及标准差),而不是直接合并到流中。具体的,音频信息-梅尔谱特征通过解码器网络fdec生成潜在变量z,z服从高斯分布Pz;文本信息c通过编码器网络fenc生成潜在变量h,然后h通过网络生成高斯分布的均值u和标准差theta。此时,每帧的音频特征都映射成了某个特定的高斯分布,每个字符也都映射成了相应的高斯分布。

接下来的工作就是寻找两类分布的映射矩阵A,即对齐矩阵。作者定义,当音频帧j对应的潜在变量z_j服从某个字符i对应的高斯分布时,就认为该音频帧与这个字符对应,即N(z_j;u_i,theta_i),也就是A(j)=i。在知道了对齐矩阵A的情况下,可以利用如下公式计算似然概率:



下一步求解最大似然概率。作者用EM算法的思想,直接求取最大似然的下界。这样,最大似然计算就被简化成了两步计算,(1)在固定网络参数theta时,求解上述公式;(2)在固定求得的对齐矩阵A下,求取参数theta。



为了计算A,作者提出了单调对齐搜索算法MAS,如图24所示,MAS其实就是一个动态规划算法。即先计算所有的对齐概率,然后寻找一条最大概率搜索路径。由于训练时是有对应的文本和音频特征的,所以可以直接通过求解对齐矩阵A计算每个输入的字符应该对应哪些音频帧,但是在推理时是没有音频信息的,也就没法反算A。所以需要一个字符对应音频特征帧数预测网络来预测每个字符对应的音频帧数,然后得到A,有了A,有了学习得到的网络参数theta,就可以计算输出了。

图11.单调对齐搜索示例

图12.编码器(上)和解码器(下)示例

最后,图12给出Glow-TTS的结构。在Glow-TTS中,解码器是由一系列可以并行进行正向和反向转换的流程组成的,具体包括仿生耦合层、可逆1x1卷积和激活归一化。解码器则是一个由多个块组成的堆栈,每个块由激活归一化、可逆1x1卷积和仿生耦合层组成。解码器部分遵循了Transformer TTS的编码器结构,并做了两个轻微的修改:去掉了位置编码,将相对位置表示加入到自注意力模块中;在编码器预网中加入了残差连接。为了估计先验分布的统计数据,只是在编码器的末端添加了一个线性层。持续时间预测器由两个卷积层组成:ReLU激活、层规范化和Dropout,然后是一个投影层。


当前 SOTA!平台收录 Glow-TTS 1模型实现资源。

项目 SOTA!平台项目详情页
Glow-TTS 前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/glow-tts


相关文章
|
算法 语音技术
基于MFCC特征提取和HMM模型的语音合成算法matlab仿真
基于MFCC特征提取和HMM模型的语音合成算法matlab仿真
|
4天前
|
人工智能 数据处理 语音技术
LatentLM:微软联合清华大学推出的多模态生成模型,能够统一处理和生成图像、文本、音频和语音合成
LatentLM是由微软研究院和清华大学联合推出的多模态生成模型,能够统一处理离散和连续数据,具备高性能图像生成、多模态大型语言模型集成等功能,展现出卓越的多模态任务处理能力。
60 29
LatentLM:微软联合清华大学推出的多模态生成模型,能够统一处理和生成图像、文本、音频和语音合成
|
13天前
|
机器学习/深度学习 人工智能 Linux
Fish Speech 1.5:Fish Audio 推出的零样本语音合成模型,支持13种语言
Fish Speech 1.5 是由 Fish Audio 推出的先进文本到语音(TTS)模型,支持13种语言,具备零样本和少样本语音合成能力,语音克隆延迟时间不到150毫秒。该模型基于深度学习技术如Transformer、VITS、VQVAE和GPT,具有高度准确性和快速合成能力,适用于多种应用场景。
83 3
Fish Speech 1.5:Fish Audio 推出的零样本语音合成模型,支持13种语言
|
4月前
|
自然语言处理 语音技术 开发者
ChatTTS超真实自然的语音合成模型
ChatTTS超真实自然的语音合成模型
150 3
|
5月前
|
机器学习/深度学习 TensorFlow 语音技术
使用Python实现深度学习模型:语音合成与语音转换
【7月更文挑战第19天】 使用Python实现深度学习模型:语音合成与语音转换
115 1
|
6月前
|
语音技术
【手把手教学】最新ChatTTS语音合成项目使用指南【附所有源码与模型】
【手把手教学】最新ChatTTS语音合成项目使用指南【附所有源码与模型】
|
7月前
|
自然语言处理 文字识别 Linux
ModelScope运行语音合成模型的官网代码示例报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
195 0
|
7月前
|
自然语言处理 搜索推荐 PyTorch
ModelScope问题之NoteBook训练个性化语音合成模型报错如何解决
ModelScope训练是指在ModelScope平台上对机器学习模型进行训练的活动;本合集将介绍ModelScope训练流程、模型优化技巧和训练过程中的常见问题解决方法。
108 0
|
7月前
|
监控 语音技术 异构计算
使用开源的模型(像speech_sambert-hifigan_tts_zhida_zh-cn_16k)进行语音合成任务的推理时,推理速度太慢了,500字大约需要1分钟,为什么会这么慢
使用开源的模型(像speech_sambert-hifigan_tts_zhida_zh-cn_16k)进行语音合成任务的推理时,推理速度太慢了,500字大约需要1分钟,为什么会这么慢
590 2
|
机器学习/深度学习 人工智能 自然语言处理
Tacotron2、GST、Glow-TTS、Flow-TTS…你都掌握了吗?一文总结语音合成必备经典模型(四)
Tacotron2、GST、Glow-TTS、Flow-TTS…你都掌握了吗?一文总结语音合成必备经典模型
1219 0

热门文章

最新文章

下一篇
DataWorks