Skip to content

Latest commit

 

History

History
71 lines (50 loc) · 2.5 KB

README-CN.md

File metadata and controls

71 lines (50 loc) · 2.5 KB

Unet-TTS: Improving Unseen Speaker and Style Transfer in One-shot Voice Cloning

MIT License

中文 | English

❗ 提供推理代码和预训练模型,你可以生成想要的文本语音。

⭐ 模型只在正常情绪的语料上训练,没有使用其他任何强烈情感的语料。

⭐ 受到训练语料的限制,一般的说话人编码或者非监督风格学习方法都很难模仿未见过的语音。训练数据分布范围外的风格迁移仍具有很大的挑战。

⭐ 依赖Unet网络和AdaIN层,我们的方法在未见风格上有很强的迁移能力。

推理代码 or 在线notebook

Demo results

Paper link


😄 我们正在准备基于aishell3数据的训练流程,敬请期待。

流程包括:

  • 基于MFA工具的,音素时长对齐
  • 基于说话人编码的多说话人TTS,它可以提供不错的Content Encoder
  • Unet-TTS训练
  • 一句话语音克隆推理
  • C++推理

Install Requirements

  • 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

Usage

  • 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)

Reference

https://github.com/TensorSpeech/TensorFlowTTS

https://github.com/CorentinJ/Real-Time-Voice-Cloning