基于Tacotron模型的语音合成实践

Posted xiaoxb17

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Tacotron模型的语音合成实践相关的知识,希望对你有一定的参考价值。

技术图片

Tacotron模型架构图

 

(1)   下载tacotron模型的实现到本地,这里是基于GitHub上一个tacotron模型的实现开展研究的,GitHub网址:https://github.com/keithito/tacotron,由于

谷歌没有给出tacotron模型的官方实现,这里给出了tacotron模型的非官方实现;

1)    研究是在linux下开展的,由于源码较多,只展示tacotron模型源码的基本结构如下:

技术图片

 

 

2)   安装一些依赖项:

① 安装Python 3。

② 安装最新版本的TensorFlow。

③ 安装此模型的一些要求:pip install -r requirements.txt

   requirements.txt 文件:

技术图片

 

 

安装过程:

技术图片

 

 

(2)     基于预先训练好的模型来进行语音和成: 

1)   下载并解压缩模型: 

curl http://data.keithito.com/data/speech/tacotron-20180906.tar.gz | tar xzC /tmp

技术图片

 

 

2)   运行服务器,基于端口(9000)

python3 demo_server.py --checkpoint /tmp/tacotron-20180906/model.ckpt

技术图片

 

 技术图片

 

 

3)    将浏览器指向localhost:9000,即可输入要合成的内容,并输出合成的音频

合成中:

技术图片

 

 

合成完毕:

技术图片

 

 

(3)     使用其他数据,训练,合成语音

1)   下载语音数据集,我们尝试下载了一些数据集,如LJ Speech(LJ语音数据集);

2)   将数据集解压缩到 ai/tacotron(ai是我电脑下的一个目录)

解压缩后,对于LJ语音,对应的树如下所示:

  tacotron

  |- LJSpeech-1.1

      |- metadata.csv

      |- wavs

3)   预处理数据:

     python3 preprocess.py --dataset ljspeech

4)   训练模型

     python3 train.py

5)   从检查点合成

     python3 demo_server.py –checkpoint ~/tacotron/logs-tacotron /model .ckpt-185000

可将“185000”替换为要使用的检查点编号,然后打开浏览器localhost:9000并键入您要说的内容,即可合成。

在使用其他数据集来训练和合成的时候,经常由于不知道参数的意义、如何设置,机器太慢,导致花了很长时间都没有效果,这一块没有做出理想的效果。

 

       

以上是关于基于Tacotron模型的语音合成实践的主要内容,如果未能解决你的问题,请参考以下文章

语音合成 TTS 相关的一些总结

什么?语音合成开源代码不会跑,follow me!

DurIAN:基于时序注意力神经网络的语音合成系统 | 腾讯AI Lab

新网杯top1方案:手把手构建中文语音合成模型!

语音合成领域的首个完全端到端模型,百度提出并行音频波形生成模型ClariNet...

基于 Azure 的认知服务将文本合成语音