dc_tts
项目是一个基于 TensorFlow 的文本到语音转换(TTS)模型的实现,旨在探索深度卷积网络与引导注意力机制结合下的高效语音合成方法。这个项目不仅仅是对已有论文的复现,还希望从中汲取对多种声音项目的深刻理解。
要运行 dc_tts
模型,需要以下软件包:
tf.contrib.layers.layer_norm
的 API 发生了变化)dc_tts
项目使用了四个不同的语音数据集来训练模型,这些数据集分别是:
项目的训练流程分为以下几个步骤:
hyperparams.py
中调整超参数。如果需要预处理数据,设置 prepro=True
。python train.py 1
来训练 Text2Mel 模块。如果预处理数据,则先运行 python prepro.py
。python train.py 2
来训练 SSRN 模块。如果有多于一张 GPU 卡,可以同时进行步骤 2 和步骤 3。
项目包含了训练过程中的曲线图,展示了模型的训练进展。另外,通过引导注意力机制,模型的注意力图从开始阶段就显示出良好的单调性,这有助于保持对齐稳定性。
项目基于 哈佛句子 生成语音样本,感兴趣的用户可以运行 synthesize.py
并查看 samples
文件夹中的文件。
生成的样本链接可以在项目文档中找到,包括不同数据集下的样本,比如 LJ、Nick 和 Kate 数据集的多种迭代次数下的输出。
用户可以从特定链接下载用于 LJ 数据集的预训练模型。项目开发者也分享了一些探索期间的经验,如增加层归一化来让模型正常工作,调整学习率以便适应模型训练,尽管没有如论文中声称的那样做到在一天内完成训练,但该模型相较 Tacotron 的确用时更短。开发者还指出引导注意力在一开始就提供了较好的对齐效果。
此外,开发者建议可以关注其他文本到语音模型,比如 Tacotron 和 Deep Voice 3。