其他分享
首页 > 其他分享> > tacotron2运行笔记

tacotron2运行笔记

作者:互联网

Tacotron-2:

DeepMindTacotron-2Tensorflow实现。 本文描述的深度神经网络结构:: Natural TTS synthesis by conditioning Wavenet on MEL spectogram predictions
github地址:https://github.com/Rookie-Chenfy/Tacotron-2
这个 github 包含了对该论文的其他改进和尝试, 因此我们使用paper_hparams.py文件,该文件保存精确的超参数以重现了paper的结果,而无需任何额外的附加功能。默认使用的建议hparams.py文件包含带有额外内容的超参数,在大多数情况下可以提供更好的结果。 按照自己的需要随意修改参数

差异将在文件中突出显示。

Repository Structure:

待补充

注意:

预训练模型和样本:

您可以在此处.查看模型性能的一些主要见解(在训练的早期阶段)。

模型架构:

在这里插入图片描述

作者描述的模型可分为两部分:

要深入探索模型体系结构,训练过程和预处理逻辑,请参阅 作者的 wiki

如何开始

首先,您需要与Tensorflow一起安装python 3 。

接下来,您需要安装一些Linux依赖项以确保音频库正常工作:

apt-get install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg libav-tools

最后,您可以安装 requirements.txt. 如果你是一个 Anaconda 用户: (可以用 pip3 代替 pip 并 用python3 代替 python)

pip install -r requirements.txt

或者,可以构建docker镜像以确保自动设置所有内容并使用docker容器内的项目。

Dockerfile is insider “docker” folder

docker image可以用以下内容构建:

docker build -t tacotron-2_image docker/

然后容器可以运行:

docker run -i --name new_container tacotron-2_image

数据集:

该github在 ljspeech dataset数据集上测试了上面的代码,该数据集有近24小时标记的单个女演员录音。(下载时,README文件中提供了有关数据集的更多信息)

该github还在 新的M-AILABS语音数据集 上运行当前测试,该数据集 包含超过700种语音(超过80 Gb的数据),超过10种语言。

下载数据集后, 解压压缩文件, 而该文件夹放在克隆的github里。

Hparams设置:

在继续之前,您必须选择最适合您需求的超参数。 虽然可以在预处理/训练期间从命令行更改超参数,但我仍然建议直接在hparams.py文件上一劳永逸地进行更改。

为了选择最佳的fft参数,我制作了一个griffin_lim_synthesis_tool笔记本, 您可以使用它来反转实际提取的梅尔/线性光谱图,并选择预处理的好坏程度。所有其他选项都在hparams.py中得到了很好的解释,并且具有有意义的名称,因此您可以尝试使用它们。

AWAIT DOCUMENTATION ON HPARAMS SHORTLY!!

预处理

在运行以下步骤之前,请确保您在Tacotron-2文件夹中

cd Tacotron-2

然后可以使用以下命令开始预处理:

python preprocess.py

可以使用**–dataset参数选择数据集。如果使用M-AILABS**数据集,则需要提供 language, voice, reader, merge_books and book arguments 以满足您的自定义需求。默认是 Ljspeech.

示例M-AILABS:

python preprocess.py --dataset=‘M-AILABS’ --language=‘en_US’ --voice=‘female’ --reader=‘mary_ann’ --merge_books=False --book=‘northandsouth’

或者如果你想一个说话人使用所有书籍:

python preprocess.py --dataset=‘M-AILABS’ --language=‘en_US’ --voice=‘female’ --reader=‘mary_ann’ --merge_books=True

这应该不会超过几分钟。

训练:

按顺序训练两个模型:

python train.py --model=‘Tacotron-2’

特征预测模型Tacotron-2可以分别被训练使用:

python train.py --model=‘Tacotron’

每5000步记录一次,并存储在logs-Tacotron文件夹下。

当然,单独训练wavenet是通过以下方式完成的:

python train.py --model=‘WaveNet’

logs will be stored inside logs-Wavenet.

注意:

合成

合成音频端到端 (文本到音频) 的方式 (两个模型同时运行):

python synthesize.py --model=‘Tacotron-2’

对于频谱图预测网络,有三种类型的mel谱图的预测结果:

python synthesize.py --model=‘Tacotron’

python synthesize.py --model=‘Tacotron’ --mode=‘synthesis’ --GTA=False

python synthesize.py --model=‘Tacotron’ --mode=‘synthesis’ --GTA=True

用先前合成的Mel频谱合成波形:

python synthesize.py --model=‘WaveNet’

注意:

参考文献和源码:

标签:tacotron2,Wavenet,python,模型,py,笔记,Tacotron,model,运行
来源: https://blog.csdn.net/qq_28662689/article/details/90206936