🚀 Kokoro - 前沿文本转语音模型
Kokoro 是一款前沿的文本转语音(TTS)模型,拥有 8200 万个参数。它能将文本转化为自然流畅的语音输出,在性能和效率上表现出色。
❤️ Kokoro Discord 服务器:点击加入
📣 合成数据与训练语音包:若你有合成数据或想获取训练好的语音包,可查看 相关内容
语音示例
🚀 快速开始
你可以在 hf.co/spaces/hexgrad/Kokoro-TTS 找到该模型的在线演示。
✨ 主要特性
- 参数高效:仅 8200 万个参数,在性能上却能超越部分大参数模型。
- 多语音支持:截至 2025 年 1 月 2 日,已发布 10 种独特的语音包。
- 高排名表现:在 TTS Spaces Arena 中排名第一🥇。
📦 安装指南
以下代码可在 Google Colab 的单个单元格中运行:
!git lfs install
!git clone https://huggingface.co/hexgrad/Kokoro-82M
%cd Kokoro-82M
!apt-get -qq -y install espeak-ng > /dev/null 2>&1
!pip install -q phonemizer torch transformers scipy munch
from models import build_model
import torch
device = 'cuda' if torch.cuda.is_available() else 'cpu'
MODEL = build_model('kokoro-v0_19.pth', device)
VOICE_NAME = [
'af',
'af_bella', 'af_sarah', 'am_adam', 'am_michael',
'bf_emma', 'bf_isabella', 'bm_george', 'bm_lewis',
'af_nicole', 'af_sky',
][0]
VOICEPACK = torch.load(f'voices/{VOICE_NAME}.pt', weights_only=True).to(device)
print(f'已加载语音: {VOICE_NAME}')
from kokoro import generate
text = "How could I know? It's an unanswerable question. Like asking an unborn child if they'll lead a good life. They haven't even been born."
audio, out_ps = generate(MODEL, text, VOICEPACK, lang=VOICE_NAME[0])
from IPython.display import display, Audio
display(Audio(data=audio, rate=24000, autoplay=True))
print(out_ps)
⚠️ 重要提示
若使用 espeak-ng
时遇到问题,可参考 此 GitHub 问题。Mac 用户请参考此内容,Windows 用户请参考此内容。
💡 使用建议
若需使用 ONNX 版本,可参考 #14。
💻 使用示例
基础用法
高级用法
import torch
bella = torch.load('voices/af_bella.pt', weights_only=True)
sarah = torch.load('voices/af_sarah.pt', weights_only=True)
af = torch.mean(torch.stack([bella, sarah]), dim=0)
assert torch.equal(af, torch.load('voices/af.pt', weights_only=True))
📚 详细文档
模型信息
属性 |
详情 |
模型类型 |
文本转语音(TTS) |
基础模型 |
yl4579/StyleTTS2-LJSpeech |
架构 |
StyleTTS 2(https://arxiv.org/abs/2306.07691)、ISTFTNet(https://arxiv.org/abs/2203.02395),仅解码器,无扩散,无编码器发布 |
架构设计 |
Li 等人(https://github.com/yl4579/StyleTTS2) |
训练者 |
@rzvzn (Discord) |
支持语言 |
美式英语、英式英语 |
模型 SHA256 哈希 |
3b0c392f87508da38fad3a2f9d94c359f1b657ebd2ef79f9d56d69503e470b0a |
版本发布
- 2024 年 12 月 25 日:模型 v0.19,
af_bella
,af_sarah
- 2024 年 12 月 26 日:
am_adam
,am_michael
- 2024 年 12 月 28 日:
bf_emma
,bf_isabella
,bm_george
,bm_lewis
- 2024 年 12 月 30 日:
af_nicole
- 2024 年 12 月 31 日:
af_sky
- 2025 年 1 月 2 日:ONNX v0.19
ebef4245
许可证
评估

训练详情
- 计算资源:在从 Vast.ai(推荐链接)租用的 A100 80GB vRAM 实例上进行训练。
- 训练数据:仅使用许可/无版权的音频数据和 IPA 音素标签,总时长少于 100 小时。
- 训练轮数:少于 20 轮。
🔧 技术细节
Kokoro v0.19 在某些方面存在局限性,主要由于其训练集和/或架构:
- 数据方面:缺乏语音克隆能力,可能是由于训练集小于 100 小时。
- 架构方面:依赖外部 g2p(espeak-ng),会引入一类 g2p 失败模式。
- 数据方面:训练数据集主要是长篇阅读和叙述,而非对话。
- 架构方面:8200 万个参数的 Kokoro 很可能会被训练良好的 10 亿+参数扩散变压器或像 GPT - 4o / Gemini 2.0 Flash 这样的数千亿参数 MLLM 超越。
- 数据方面:多语言能力在架构上可行,但训练数据主要是英语。
若想更好地理解这些局限性,请参考 理念讨论。
📄 许可证
本项目采用 Apache 2.0 许可证。具体请参考仓库中的相关文件。
致谢
模型卡片联系人
在 Discord 上联系 @rzvzn
。服务器邀请链接:https://discord.gg/QuGxSWBfQy

Kokoro 相关介绍