首页 / 开源热榜 / kittentts / 使用教程

KittenTTS 0.8.1 教程:先跑 mini,再决定要不要缩模型

更新于 2026-09-23 · NGJOO AI 实验室 · 约 10 分钟

KittenTTS 是一套轻量英文语音合成模型和 Python 接口。官方给出 15M 到 80M 参数、25MB 到 80MB 的四个档位,基础路径走 ONNX Runtime,CPU 就能运行。

当前最新 GitHub release 是 0.8.1,发布于 2026-02-24;pyproject.toml 与官方 wheel 也是 0.8.1。项目仍标为 developer preview,接口可能变化。

1. 四个模型不要只看文件大小

模型参数/体积使用建议
mini80M / 80MB先用它建立音质基线
micro40M / 41MB再比较速度和音质
nano15M / 56MB资源紧张时测试
nano int815M / 25MBREADME 有用户问题提示,需单独验收

八个预设声音是 Bella、Jasper、Luna、Bruno、Rosie、Hugo、Kiki 和 Leo。speed 可以调语速,但不同文本的专有名词、数字、缩写和标点仍要逐条听。

2. 固定 0.8.1 安装并生成 WAV

python -m venv .venv
source .venv/bin/activate
pip install https://github.com/KittenML/KittenTTS/releases/download/0.8.1/kittentts-0.8.1-py3-none-any.whl
from kittentts import KittenTTS
import soundfile as sf

model = KittenTTS("KittenML/kitten-tts-mini-0.8")
audio = model.generate(
    "This high-quality TTS model runs without a GPU.",
    voice="Jasper"
)
sf.write("output.wav", audio, 24000)

第一次按 Hugging Face 模型名加载会下载权重。需要复现时,不只固定 Python wheel,还应保存模型仓库 revision。权重缓存完成后,本地 ONNX 推理可以断网进行。

3. 本地推理、GPU 与托管 API 是三条路径

pyproject.toml 要求 Python 3.8+,基础依赖包括 espeakng_loader、phonemizer、onnxruntime、soundfile、numpy 和 huggingface_hub。官方另有 requirements_gpu.txt,GPU 路径要单独建立环境,不能把 CPU 安装结果当成 GPU 验证。

README 还放了免费 Kitten TTS API,以及商业集成、自定义声音和企业许可的联系入口。托管 API 会把文本送到外部服务;本地开源包则在模型下载后留在设备上。两者的隐私、可用性和许可都应分别评估。

官方材料没有公开充值、订阅额度或转售流程,因此未达到严重商业隔离阈值。

验证边界:本轮只核对官方 README、pyproject.toml、requirements_gpu.txt、Releases 与官方平台入口。没有安装 wheel、下载模型、合成或试听音频,也没有测 CPU/GPU 延迟或调用托管 API;本文属于 docs-only。

4. 与 Piper 对比

Open Home Foundation 的 Piper同样做本地神经 TTS,但提供 CLI、Web server、Python 与 C/C++ API,还有多语言 voice 目录和训练资料。KittenTTS 当前入口更小,主打英文预设声音和轻量 Python 调用。

需要多语言或系统级集成时先评估 Piper;快速试用小体积英文模型时 KittenTTS 更直接。分发产品前还要比较 KittenTTS 仓库的 Apache-2.0 与 Piper 的 GPL-3.0。

这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。

先判断这个项目是否适合你

适合谁用

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

原教程未展开的系统信息

架构与数据流

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

官方与对比资料

以下链接用于核对版本、安装方式、功能边界和同类差异。

常见问题

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 对你的分发方式是否合适。