
KittenTTS
纯 CPU 就能跑的轻量开源语音合成模型
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-10-25 · 当前星标 ★ 16432
使用教程
环境要求
- Python 环境(项目为 Python 实现,README 未标注具体版本)
- pip 包管理工具,可正常访问 PyPI 安装 kittenml
- 纯 CPU 即可运行,无需 GPU;GPU 场景为可选加速
- 若要保存 wav 文件,示例中还使用了 soundfile 库
- macOS 用 MLX 后端需 Apple 芯片;vLLM 后端需 Linux + NVIDIA Ampere 及以上显卡
安装与启动步骤
-
1安装核心库
一条命令完成安装,默认包含 Kitten-TTS 2 模型和轻量 ONNX 运行时,无需额外登录。
pip install kittenml -
2跑通基础合成
新建脚本加载默认模型,generate 返回音频数组,用 soundfile 写入 wav 文件。
from kittenml import KittenTTS import soundfile as sf m = KittenTTS("KittenML/kitten-tts-2") audio = m.generate("Hi! umm.. how are you, I guess? .. uh.. nice to meet you??", voice="WeatherPresenterCheerful") sf.write("output.wav", audio, m.sample_rate) -
3选用小体积权重
默认权重约 947 MiB 且无损;weights="emb4" 约 506 MiB,量化词嵌入,质量略降。
m = KittenTTS("KittenML/kitten-tts-2", weights="emb4") -
4安装 CPU 加速后端
C++ 后端 kitten_tts_cpp 在 CPU 上更快,可设线程数与解码器,目前处于 beta。
pip install kitten_tts_cpp -
5调用 C++ 后端
用 C++ 后端直接生成文件,decoder 选 student_w4,threads 按机器核数调整。
from kitten_tts_cpp import KittenTTS model = KittenTTS("KittenML/kitten-tts-2", decoder="student_w4", threads=8) model.generate_to_file("One day, a little girl named Lily found a needle in her room.", "hello.wav", voice="Bruno") print(model.last_report) -
6Mac 启用 MLX
Apple 芯片 Mac 安装 mlx 可选依赖,初始化时指定 backend="mlx" 调用。
pip install "kittenml[mlx]" -
7GPU 用 vLLM
Linux 且显卡计算能力 8.0 以上安装 vllm 可选依赖,脚本必须保留 main 保护。
pip install "kittenml[vllm]" -
8启用 vLLM 推理
指定 backend="vllm",加 w4a16 量化约省 2 GB 显存;去掉该参数即用 bf16。
from kittenml import KittenTTS def main(): m = KittenTTS("KittenML/kitten-tts-2", backend="vllm", vllm_options={"quantization": "w4a16"}) m.generate_to_file("Hello there.", "output.wav", voice="Bruno") print("Saved output.wav") if __name__ == "__main__": main()
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
weights | 否 | 选择权重体积,默认无损 947 MiB,emb4 为 506 MiB 量化版 | emb4 |
backend | 否 | 推理后端,可选 mlx(Mac)或 vllm(NVIDIA GPU),默认自动检测 | mlx |
voice | 否 | 内置音色名,m.available_voices 可列出全部 47 个音色 | Bruno |
decoder | 否 | C++ 后端的解码器型号,README 示例使用 student_w4 | student_w4 |
threads | 否 | C++ 后端的 CPU 线程数,按机器核数设置 | 8 |
vllm_options | 否 | vLLM 后端的推理参数,如 4 位量化省显存 | {"quantization": "w4a16"} |
如何确认成功
运行脚本后当前目录出现 output.wav(或 hello.wav),能正常播放且时长与文本长度相符即成功。
常见问题
Q:没有显卡能跑吗?
A:可以。默认在 CPU 上运行,device 由程序自动检测,无需额外配置;有 NVIDIA 显卡时可选用 vLLM 后端提速。
Q:首次运行为什么比较慢、占磁盘?
A:首次会下载模型权重,默认约 947 MiB,选择 emb4 约 506 MiB,且只下载所请求的那一份。权重随包内仓库提供,不需要登录。
Q:提示找不到 soundfile?
A:README 示例用 soundfile 保存 wav,需另行安装该库;若只想拿到音频数组,可跳过写文件这一步。
Q:vLLM 脚本报进程相关错误?
A:vLLM 会启动工作进程,脚本必须保留 if __name__ == "__main__" 保护,否则会重复初始化。
Q:C++ 后端不稳定怎么办?
A:README 注明 Kitten-TTS 2 C++ 仍为 beta,遇到问题到项目仓库反馈,或先使用默认 Python 后端。
注意事项
- 旧版 KittenTTS 0.8 的 Bella、Jasper、Luna、Bruno、Rosie、Hugo、Kiki、Leo 与新模型为同一批发音人,旧代码可继续使用。
- 安装 kittenml 时会一并装上小型 ONNX 运行时,轻量 0.8 系列模型用同一套安装即可。
- vLLM 后端仅限 Linux 与计算能力 8.0 及以上的 NVIDIA 显卡;7.5 显卡可用 float16 回退但非最优。
- 音色与表达参数的完整说明见仓库 docs/voices-and-expression.md。
核心亮点
- 无需 GPU,普通 CPU 环境即可推理,部署成本低
- Python 接口清晰,便于快速集成到现有服务或脚本中
- 模型轻量,适合边缘设备和资源受限场景
不足之处
- CPU 推理在长文本或高并发下速度与吞吐有限
- 音色、情感表现力和多语言覆盖可能不如大型 GPU 模型
- 文档与预训练模型分发细节需进一步观察完善
适用场景
- 本地或服务器端语音播报与提示音生成
- 有声书、播客等文本转音频内容生产
- 智能硬件与离线设备的语音交互原型
替代项目
Coqui TTS、Piper、MeloTTS
上一篇:F5-TTS
下一篇:pocket-tts
同类项目推荐
pyttsx3
开源
离线文字转语音,一行代码让 Python 开口说话
Offline Text To Speech synthesis for python
Neural-Voice-Cloning-With-Few-Sa···
开源
用几秒样本,克隆任意人的声音
This repository has implementation for "Neural Voice Cloning With Few Samples"
tts
开源
一行命令,用 Amazon Polly 把你的文字变成语音。
:pencil: :sound: A simple text-to-speech tool. Converts your text to speech with any···
ChatTTS
开源
日常对话配音自然到像真人,再也不用听机器腔
A generative speech model for daily dialogue.
AudioMAE-pytorch
开源
用掩码自编码器预训练音频模型,轻松提取通用音频特征
Unofficial PyTorch implementation of Masked Autoencoders that Listen
edge-tts
开源
免密钥调用微软 Edge 语音,几行代码生成自然 MP3
Use Microsoft Edge's online text-to-speech service from Python WITHOUT needing Micro···
AudioMuse-AI
开源
声学分析自动挖掘曲库,生成智能歌单,找回被遗忘的好歌。
AudioMuse-AI uses sonic analysis to rediscover forgotten songs, uncover hidden conne···
tts-demo
开源
一键集成多情感男女声,实时离线都能合成,还能变声调参。
支持各种感情的男女声音,支持实时和离线文本合成tts语音;支持单模特声音变声,语音速率调···
M3-TTS
开源
零样本合成高保真语音,多模态对齐+流匹配
Pytorch Implementation of the paper "M3-TTS: Multi-modal DiT Alignment & Mel-latent ···