##
**🐸TTS 是一个用于高级文本到语音生成的库。**
🚀 支持 **1100 多种语言**的预训练模型。
🛠️ 提供工具,用于在任何语言中训练新模型和微调现有模型。
📚 提供数据集分析和整理的实用程序。
______________________________________________________________________
[](https://discord.gg/5eXr5seRrv)
[![License]()](https://opensource.org/licenses/MPL-2.0)
[](https://badge.fury.io/py/TTS)
[](https://github.com/coqui-ai/TTS/blob/master/CODE_OF_CONDUCT.md)
[](https://pepy.tech/project/tts)
[](https://zenodo.org/badge/latestdoi/265612440)











[![Docs]()](https://tts.readthedocs.io/en/latest/)
请使用我们专门的渠道进行提问和讨论。公开分享帮助更有价值,可以让更多人受益。
| 类型 | 平台 |
|---|---|
| 🚨 Bug 报告 | GitHub Issue Tracker |
| 🎁 功能请求与想法 | GitHub Issue Tracker |
| 👩💻 使用问题 | GitHub Discussions |
| 🗯 一般讨论 | GitHub Discussions 或 Discord |
| 类型 | 链接 |
|---|---|
| 💼 文档 | ReadTheDocs |
| 💾 安装 | TTS/README.md |
| 👩💻 贡献指南 | CONTRIBUTING.md |
| 📌 路线图 | 主要开发计划 |
| 🚀 已发布模型 | TTS 发布版本 和 实验模型 |
| 📰 论文 | TTS 论文 |

带下划线的 "TTS" 和 "Judy" 是 内部 🐸TTS 模型,未开源发布。它们在此展示潜力。前缀带点(.Jofish .Abe 和 .Janice)的模型是真实人声。
Trainer API。dataset_analysis 目录下。您也可以帮助我们实现更多模型。
🐸TTS 在 Ubuntu 18.04 上经过测试,要求 python >= 3.9, < 3.12。
如果您只对使用已发布的 🐸TTS 模型合成语音感兴趣,从 PyPI 安装是最简单的选择。
pip install TTS
如果您计划编码或训练模型,请克隆 🐸TTS 并在本地安装。
git clone https://github.com/coqui-ai/TTS
pip install -e .[all,dev,notebooks] # 选择相关的额外选项
如果您使用的是 Ubuntu (Debian),也可以运行以下命令进行安装。
$ make system-deps # 适用于 Ubuntu (Debian)。如果您使用其他操作系统,请告知我们。
$ make install
如果您使用的是 Windows,👑@GuyPaddock 在此处写了安装说明 here。
您也可以尝试使用 Docker 镜像运行 TTS 而无需安装。
只需运行以下命令,您就可以在不安装的情况下运行 TTS。
docker run --rm -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/coqui-ai/tts-cpu
python3 TTS/server/server.py --list_models # 获取可用模型列表
python3 TTS/server/server.py --model_name tts_models/en/vctk/vits # 启动服务器
然后您就可以在 这里 享受 TTS 服务器了。
有关 Docker 镜像的更多详细信息(如 GPU 支持),请参阅 此处。
import torch
from TTS.api import TTS
# 获取设备
device = "cuda" if torch.cuda.is_available() else "cpu"
# 列出可用的 🐸TTS 模型
print(TTS().list_models())
# 初始化 TTS
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to(device)
# 运行 TTS
# ❗ 由于此模型是多语言语音克隆模型,我们必须设置目标 speaker_wav 和 language
# 文本转语音,输出振幅值列表
wav = tts.tts(text="Hello world!", speaker_wav="my/cloning/audio.wav", language="en")
# 文本转语音到文件
tts.tts_to_file(text="Hello world!", speaker_wav="my/cloning/audio.wav", language="en", file_path="output.wav")
# 使用目标模型名称初始化 TTS
tts = TTS(model_name="tts_models/de/thorsten/tacotron2-DDC", progress_bar=False).to(device)
# 运行 TTS
tts.tts_to_file(text="Ich bin eine Testnachricht.", file_path=OUTPUT_PATH)
# 使用 YourTTS 进行英语、法语和葡萄牙语语音克隆的示例
tts = TTS(model_name="tts_models/multilingual/multi-dataset/your_tts", progress_bar=False).to(device)
tts.tts_to_file("This is voice cloning.", speaker_wav="my/cloning/audio.wav", language="en", file_path="output.wav")
tts.tts_to_file("C'est le clonage de la voix.", speaker_wav="my/cloning/audio.wav", language="fr-fr", file_path="output.wav")
tts.tts_to_file("Isso é clonagem de voz.", speaker_wav="my/cloning/audio.wav", language="pt-br", file_path="output.wav")
将 source_wav 中的声音转换为 target_wav 中的声音。
tts = TTS(model_name="voice_conversion_models/multilingual/vctk/freevc24", progress_bar=False).to("cuda")
tts.voice_conversion_to_file(source_wav="my/source.wav", target_wav="my/target.wav", file_path="output.wav")
这样,您可以使用 🐸TTS 中的任何模型来克隆声音。
tts = TTS("tts_models/de/thorsten/tacotron2-DDC")
tts.tts_with_vc_to_file(
"Wie sage ich auf Italienisch, dass ich dich liebe?",
speaker_wav="target/speaker.wav",
file_path="output.wav"
)
对于 Fairseq 模型,请使用以下名称格式:tts_models/<lang-iso_code>/fairseq/vits。
您可以在此处找到语言 ISO 代码 here
并在此处了解 Fairseq 模型 here。
```python
api = TTS("tts_models/deu/fairseq/vits")