diffgan-tts的Pytorch实现:高保真和有效的文本到语音,并具有降级扩散gan


音频样本可在 /演示中找到。
数据集在以下文档中指的是数据集的名称,例如LJSpeech和VCTK 。
模型是指模型的类型(从“幼稚”,“ aux ”,“ shallow ”中选择)。
您可以使用
pip3 install -r requirements.txt
您必须下载预算的型号并将其放入
output/ckpt/DATASET_naive/ for'naive '模型。output/ckpt/DATASET_shallow/用于“浅”模型。请注意,“浅”模型的检查站都包含“浅”和“ AUX ”模型,这两个模型将共享所有目录,除了整个过程中的结果。对于单扬声器TTS ,运行
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET
对于多演讲者TTS ,运行
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --speaker_id SPEAKER_ID --restore_step RESTORE_STEP --mode single --dataset DATASET
可以在preprocessed_data/DATASET/speakers.json上找到学习的扬声器的字典,并且生成的话语将放在output/result/ 。
也支持批次推理,尝试
python3 synthesize.py --source preprocessed_data/DATASET/val.txt --model MODEL --restore_step RESTORE_STEP --mode batch --dataset DATASET
综合preprocessed_data/DATASET/val.txt中的所有话语。
可以通过指定所需的音高/能量/持续时间比来控制合成话语的音高/音量/口语速率。例如,一个人可以将语言率提高20%,并将数量减少20%
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET --duration_control 0.8 --energy_control 0.8
请注意,可控性起源于FastSpeech2,而不是Diffgan-TTS的重要利益。
支持的数据集是
LJSpeech:单扬声器英语数据集由13100个女演讲者的简短音频剪辑组成,其中7本非小说类书籍的阅读段落总共约24小时。
VCTK:CSTR VCTK语料库包括由110位英语说话者(多扬声器TTS )发表的语音数据,并带有各种口音。每个发言人都会读出大约400个句子,这些句子是从报纸,彩虹通道和语音口音档案中使用的启发段落中选出的。
对于带有外部扬声器嵌入式的多扬声器TT ,下载cacknn softmax+三胞胎预算的Philipperemy DeepSpeaker的扬声器嵌入模型,并将其定位在./deepspeaker/pretrained_models/中。
跑步
python3 prepare_align.py --dataset DATASET
用于一些准备工作。
对于强制对准,蒙特利尔强制对准器(MFA)用于获得发音和音素序列之间的比对。此处提供了数据集的预提取对齐。您必须在preprocessed_data/DATASET/TextGrid/中解压缩文件。或者,您可以自己运行对准器。
之后,通过
python3 preprocess.py --dataset DATASET
您可以训练三种类型的模型:“幼稚”,“辅助”和“浅”。
培训幼稚版本(“天真”):
训练幼稚版本
python3 train.py --model naive --dataset DATASET
培训浅版本(“ AUX ”)的基本声学模型:
要训练浅版本,我们需要一个预训练的FastSpeech2。以下命令将使您训练fastspeech2模块,包括辅助(MEL)解码器。
python3 train.py --model aux --dataset DATASET
培训浅版本(“浅”):
为了利用预训练的FastSpeech2,包括辅助(MEL)解码器,您必须--restore_step辅助FastSpeech2培训的最后一步,通过以下命令。
python3 train.py --model shallow --restore_step RESTORE_STEP --dataset DATASET
例如,如果在辅助培训期间将最后一个检查点保存在200000个步骤中,则必须将--restore_step设置为200000 。然后,它将加载并冻结AUX模型,然后继续在主动浅扩散机制下进行训练。
使用
tensorboard --logdir output/log/DATASET
在您的本地主机上提供张板。显示了损耗曲线,合成的MEL光谱图和音频。






lambda_fm已固定为Scala值,因为按L_RECON/L_FM计算的动态缩放标量使模型爆炸。'none'和'DeepSpeaker'之间)进行切换。
请用“引用此存储库”的“关于部分”(主页的右上角)引用此存储库。