TensorFlowTTS 项目介绍
项目概况
TensorFlowTTS 是一个基于 TensorFlow 2 的语音合成框架,提供了多种实时的语音合成架构,如 Tacotron-2、MelGAN、Multiband-MelGAN、FastSpeech 和 FastSpeech2。通过 TensorFlow 2 的支持,可以加速训练和推理过程,并进一步进行优化,例如利用假量化和剪枝技术,使得 TTS 模型可以比实时更快地运行,并能够部署在移动设备或嵌入式系统上。
新功能
TensorFlowTTS 持续更新,近年来增加了许多新功能:
- Huggingface Spaces 集成:与 Gradio 一起集成,可以通过网页版进行演示。
- 多语言支持:支持法语、德语、中文、韩语以及英语的语音合成。
- 多平台支持:为 iOS、TFLite C++ 提供支持。
- 更多模型架构:新增了 HiFi-GAN 和 Parallel WaveGAN 等。
特性
- 出色的语音合成性能。
- 可以在多种语言上进行微调。
- 高效、可扩展、可靠,适合部署。
- 支持一键实现新模型。
- 通过混合精度加快训练速度。
- 支持单 GPU 和多 GPU 梯度累积。
- 模型支持转换为 TFLite。
- 包含 Android 示例,以及 C++ 推理支持。
系统要求
项目在 Ubuntu 18.04 测试,通过以下环境运行:
- Python 3.7 及以上
- Cuda 10.1
- CuDNN 7.6.5
- TensorFlow 2.2/2.3/2.4/2.5/2.6
- TensorFlow Addons >= 0.10.0
建议安装 TensorFlow 2.6.0,以利用多 GPU 功能。
安装方法
通过 pip 安装:
$ pip install TensorFlowTTS
从源码安装:
$ git clone https://github.com/TensorSpeech/TensorFlowTTS.git
$ cd TensorFlowTTS
$ pip install .
支持的模型架构
目前,TensorFlowTTS 提供以下模型架构:
- MelGAN:用于条件波形合成的生成对抗网络。
- Tacotron-2:通过 Mel 频谱预测来进行自然的 TTS 合成。
- FastSpeech 和 FastSpeech2:提供快速、稳健和可控的文本到语音转换。
- Multiband-MelGAN:用于高质量文本到语音合成的快速波形生成方法。
- HiFi-GAN:高效高保真语音合成的生成对抗网络。
- Parallel WaveGAN:基于多分辨率 spectrogram 的快速波形生成模型。
教程示例
TensorFlowTTS 提供的教程展示了如何预处理数据、训练模型以及进行推理。用户可以通过不同的数据集进行预处理和训练,项目支持的主要数据集包括 LJSpeech、KSS、Baker、LibriTTS、Thorsten 和 Synpaflex。
训练部分包括完整的端到端示例,涵盖 Tacotron-2、FastSpeech、FastSpeech2 等常用模型的训练与优化。
联系方式
如有问题或者想参与项目,可以通过以下团队成员进行联系:
- Nathan (Minh Nguyen Quan Anh): nguyenquananhminh@gmail.com
- Eren Golge (erogol): erengolge@gmail.com
- Kuan Chen (azraelkuan): azraelkuan@gmail.com
- Dawid Kobus (machineko): machineko@protonmail.com
- Takuya Ebata (MokkeMeguru): meguru.mokke@gmail.com
- Trinh Le Quang (l4zyf9x): trinhle.cse@gmail.com
- Yunchao He (candlewill): yunchaohe@gmail.com
- Alejandro Miguel Velasquez (ZDisket): xml506ok@gmail.com
许可
本项目下的所有模型均在 Apache 2.0 许可证下发布。