中文 | English
❗ 提供推理代码和预训练模型,你可以生成想要的文本语音。
⭐ 模型只在正常情绪的语料上训练,没有使用其他任何强烈情感的语料。
⭐ 受到训练语料的限制,一般的说话人编码或者非监督风格学习方法都很难模仿未见过的语音。训练数据分布范围外的风格迁移仍具有很大的挑战。
⭐ 依赖Unet网络和AdaIN层,我们的方法在未见风格上有很强的迁移能力。
推理代码 or 在线notebook
😄 我们正在准备基于aishell3数据的训练流程,敬请期待。
流程包括:
- 基于MFA工具的,音素时长对齐
- 基于说话人编码的多说话人TTS,它可以提供不错的Content Encoder
- Unet-TTS训练
- 一句话语音克隆推理
- C++推理
- Install the appropriate TensorFlow and tensorflow-addons versions according to CUDA version.
- The default is TensorFlow 2.6 and tensorflow-addons 0.14.0.
pip install TensorFlowTTS
- see file UnetTTS_syn.py or notebook
CUDA_VISIBLE_DEVICES=0 python UnetTTS_syn.py
from UnetTTS_syn import UnetTTS
models_and_params = {"duration_param": "train/configs/unetts_duration.yaml",
"duration_model": "models/duration4k.h5",
"acous_param": "train/configs/unetts_acous.yaml",
"acous_model": "models/acous12k.h5",
"vocoder_param": "train/configs/multiband_melgan.yaml",
"vocoder_model": "models/vocoder800k.h5"}
feats_yaml = "train/configs/unetts_preprocess.yaml"
text2id_mapper = "models/unetts_mapper.json"
Tts_handel = UnetTTS(models_and_params, text2id_mapper, feats_yaml)
#text: input text
#src_audio: reference audio
#dur_stat: phoneme duration statistis to contraol speed rate
syn_audio, _, _ = Tts_handel.one_shot_TTS(text, src_audio, dur_stat)
https://github.com/TensorSpeech/TensorFlowTTS
https://github.com/CorentinJ/Real-Time-Voice-Cloning