kyutai-labs/pocket-tts
A TTS that fits in your CPU (and pocket)
Pocket TTS – 轻量级仅限 CPU 的文本转语音
这是什么 – Pocket TTS 是一个 Python 库(和 CLI),可将书面文本转换为语音音频。它内置一个 1 亿参数的神经 TTS 模型,可在普通 CPU 上高效运行,因此您不需要 GPU 或远程 Web API。该项目还提供训练脚本、一组预制语音,以及从短音频片段克隆任何语音的方法。
主要功能
- CPU 优先:适用于仅限 CPU 的 PyTorch 构建;在 MacBook Air M4 上,仅使用两个核心即可生成约 6 倍于实时速度的语音。
- 低延迟:第一个音频块约 200 毫秒内出现,支持流式输出。
- 多语言:英语、法语、德语、葡萄牙语、意大利语、西班牙语、荷兰语(可添加更多)。
- 语音克隆:提供 wav 文件(或预计算的 safetensors 嵌入)即可合成该说话者音色的语音。
- 流式 / 无限长度文本:模型可为任意长度的输入持续生成音频。
- CLI 和 HTTP 服务器:
pocket-tts generate用于一次性文件,pocket-tts serve用于本地 REST 端点,附带小型 Web UI。 - Python API:
TTSModel.load_model()、get_state_for_audio_prompt()、generate_audio()– 返回一维 torch 张量,可使用scipy.io.wavfile写入。 - 浏览器内可能性:社区移植到 WebAssembly、ONNX-Runtime-Web、Rust 基础的 XN 等。
- 训练代码:
training/文件夹可让您微调或训练新模型;社区训练的检查点列于 README 中。
如何开始
- 安装包(建议使用仅限 CPU 的 PyTorch):
pip install pocket-tts # 或 `uv add pocket-tts` # 在 Linux 上,避免 CUDA wheels: pip install pocket-tts --extra-index-url https://download.pytorch.org/whl/cpu - 使用 CLI 生成 wav:
文件pocket-tts generate --text "Hello world" --voice albatts_output.wav会出现在当前目录中,并打印速度统计。 - 运行本地服务器以进行重复调用:
pocket-tts serve # 然后 POST 到 http://localhost:8000 - 在代码中使用库:
导出语音嵌入以快速重用:from pocket_tts import TTSModel, export_model_state model = TTSModel.load_model() voice = model.get_state_for_audio_prompt("alba") audio = model.generate_audio(voice, "Hello from Python!")export_model_state(voice, "alba.safetensors")
社区与扩展
- 多种替代运行时(适用于 Apple Silicon 的 MLX、Candle、ONNX、C++、C#、Rust 等)可让您在嵌入式设备、Windows 或浏览器中直接运行 Pocket TTS。
- 越来越多的社区训练语言模型(捷克语、印地语、韩语、波斯语、印尼语等)可通过
--config标志调用。 - 该项目是开源的,接受贡献,并为开发者提供
CONTRIBUTING.md。
何时使用
- 您需要在没有 GPU 驱动程序的笔记本电脑、服务器或边缘设备上进行快速、离线的 TTS。
- 您想要将 TTS 嵌入 Python 应用程序、CLI 工具或轻量级 Web 服务。
- 您偏好小型模型占用空间(约 1 亿参数,数百 MB),而不是大型、仅限云端的解决方案。
链接
- 演示网站:https://kyutai.org/pocket-tts
- GitHub:https://github.com/kyutai-labs/pocket-tts
- Hugging Face 模型中心:https://huggingface.co/kyutai/pocket-tts
- 论文(arXiv):https://arxiv.org/abs/2509.06926
- 技术报告:https://kyutai.org/blog/2026-01-13-pocket-tts
相关
- 项目
- 项目
- 项目
- 项目
- 项目