KittenTTS 是什么?

KittenTTS 是基于 ONNX Runtime 的轻量英文语音合成 Python 库,官方模型从 15M 到 80M 参数、25MB 到 80MB,CPU 可运行。它提供 8 个预设声音、语速参数和 24kHz 音频输出。

⭐ 14,980 Stars 🍴 856 Forks Python Apache-2.0 作者: KittenML
来源:github.com/KittenML/KittenTTS 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

官方列出 mini 80M、micro 40M、nano 15M 和 nano int8 15M;磁盘占用范围为 25MB 到 80MB。基础依赖使用 onnxruntime、phonemizer 和 espeak-ng loader,README 的示例直接生成数组并用 soundfile 写出 24kHz WAV。

来源:github.com/KittenML/KittenTTS

核心功能

四档轻量模型

官方列出 mini 80M、micro 40M、nano 15M 和 nano int8 15M;磁盘占用范围为 25MB 到 80MB。

来源:github.com/KittenML/KittenTTS
本地 ONNX 推理

基础依赖使用 onnxruntime、phonemizer 和 espeak-ng loader,README 的示例直接生成数组并用 soundfile 写出 24kHz WAV。

来源:github.com/KittenML/KittenTTS/blob/main/pyproject.toml
八个预设声音

README 列出 Bella、Jasper、Luna、Bruno、Rosie、Hugo、Kiki 和 Leo,并允许通过 speed 参数调整语速。

来源:github.com/KittenML/KittenTTS

技术架构

KittenTTS 接收文本和 voice/speed 参数,经文本预处理与 phonemizer 转成模型输入,再由 ONNX Runtime 执行本地推理,返回音频数组;示例用 soundfile 写成 24000Hz WAV。模型通过 Hugging Face Hub 标识加载,首次运行需要下载权重。

来源:github.com/KittenML/KittenTTS

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) espeakng_loader phonemizer onnxruntime soundfile numpy 四档轻量模型 本地 ONNX 推理 八个预设声音 KittenTTS 项目本体 核心功能 关键依赖

技术栈

语言Python >=3.8框架ONNX Runtime
espeakng_loaderphonemizeronnxruntimesoundfilenumpyhuggingface_hub
基础路径可只用 CPU;首次加载会访问 Hugging Face 下载模型,GPU 路径需另装官方 requirements_gpu.txt
来源:github.com/KittenML/KittenTTS/blob/main/pyproject.toml

快速上手

在独立虚拟环境中安装官方 0.8.1 wheel,随后实例化 KittenTTS('KittenML/kitten-tts-mini-0.8'),用 Jasper 等内置 voice 调用 generate,最后以 24000Hz 写出 WAV。首次下载后记录模型仓库 revision,避免未来同名权重变化。
来源:github.com/KittenML/KittenTTS

使用场景

适合英文离线播报、边缘设备原型和需要小模型的本地语音界面。它仍是 developer preview,不宜在未做发音、延迟和许可证验收时直接进入生产,也不应把开源仓库与托管 API 的数据边界混在一起。

来源:github.com/KittenML/KittenTTS

优势与局限

优势

  • 模型和 wheel 都有明确版本入口
  • CPU 路径不要求独立 GPU
  • 四种体积档位和八个预设声音便于快速比较
  • Apache-2.0 仓库许可清楚

局限

  • 官方标注 developer preview,API 可能变化
  • nano int8 在 README 中有已知问题提示
  • 首次本地加载依赖 Hugging Face 网络
  • 当前 README 只展示英文句子和预设声音,没有训练自定义声音流程
  • 托管 API 与本地开源推理是两条不同路径
来源:github.com/KittenML/KittenTTS

最新版本

最新 GitHub release 是 0.8.1,发布于 2026-02-24;pyproject.toml 也写为 0.8.1,官方安装命令直接指向该 release 的 wheel。0.8 于 2026-02-19 增加新模型和文本预处理改进。

来源:github.com/KittenML/KittenTTS/releases

实测与证据

status: docs-only  |  checked_at: 2026-09-23  |  environment: 核对官方 README、pyproject.toml、requirements_gpu.txt、GitHub Releases 和官方平台入口  |  limitations: 未安装 wheel,未下载任何模型,未合成或试听音频,未测 CPU/GPU 延迟,也未向托管 API 上传文本  |  observed_output: pyproject.toml 版本为 0.8.1、Python 下限 3.8;GitHub 最新 release 为 0.8.1,发布于 2026-02-24

来源:github.com/KittenML/KittenTTS/releases/tag/0.8.1

同类项目对比

Open Home Foundation 的 Piper 也是本地神经 TTS,但提供 CLI、Web server、Python 与 C/C++ API,并有多语言 voice 目录和训练资料;KittenTTS 的当前入口更小,重点是 15M 到 80M 的英文预设模型与 Python API。需要语言覆盖和系统级集成时先评估 Piper;只想快速试轻量英文模型时 KittenTTS 更直接。

来源:github.com/OHF-Voice/piper1-gpl

总结评价

保留。项目存在企业支持入口,但未发现充值、订阅额度或转售闭环;页面应清楚区分本地开源推理、首次模型下载和托管 API 三种不同的数据边界。

来源:github.com/KittenML/KittenTTS

常见问题

KittenTTS 不联网也能合成语音吗?

模型权重缓存完成后,本地 ONNX 推理可以离线进行;第一次用 Hugging Face 模型标识加载时需要联网。若改用官方托管 API,输入文本会发送到外部服务。

KittenTTS 0.8.1 应该选哪个模型?

先用 README 示例中的 mini 0.8 建立音质基线,再按设备限制测试 micro 或 nano。官方特别提示 nano int8 有用户报告的问题,不应只按 25MB 体积直接选它。

KittenTTS 的输出采样率是多少?

官方示例把 generate 返回的数组以 24000Hz 写入 WAV。接入播放或转码链路时,应保持 24kHz 或明确重采样,避免把失真误判为模型质量问题。

KittenTTS 可以训练自己的声音吗?

当前仓库 README 展示的是 8 个预设声音和推理接口,没有给出本地自定义声音训练流程。官方另列商业支持和 custom voices 联系入口,不能据此假定开源包已包含训练能力。

KittenTTS 和 Piper 怎样选?

KittenTTS 更适合快速试用体积很小的英文 Python 模型;Piper 提供 CLI、Web server、C/C++ 与 Python 接口,并有更广的 voice 生态。还要同时比较 Apache-2.0 与 GPL-3.0 对你的分发方式是否合适。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件