Tacotron 模型架构图
(1) 下载 tacotron 模型的实现到本地, 这里是基于 GitHub 上一个 tacotron 模型的实现开展研究的, GitHub 网址: https://github.com/keithito/tacotron , 由于
谷歌没有给出 tacotron 模型的官方实现, 这里给出了 tacotron 模型的非官方实现;
1) 研究是在 Linux 下开展的, 由于源码较多, 只展示 tacotron 模型源码的基本结构如下:
2) 安装一些依赖项:
1 安装 Python 3.
2 安装最新版本的 TensorFlow.
3 安装此模型的一些要求: 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 并键入您要说的内容, 即可合成.
在使用其他数据集来训练和合成的时候, 经常由于不知道参数的意义, 如何设置, 机器太慢, 导致花了很长时间都没有效果, 这一块没有做出理想的效果.
来源: http://www.bubuko.com/infodetail-3346791.html