pocket-tts 是什么?

Pocket TTS 是 Kyutai 发布的本地语音合成项目,默认模型约 1 亿参数,可在 CPU 上流式生成语音,并提供 CLI、Python API、本地 Web 服务和声音克隆。

⭐ 7,379 Stars 🍴 744 Forks Python MIT 作者: kyutai-labs
来源:github.com/kyutai-labs/pocket-tts 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

官方仓库没有充值、订阅额度或转售入口,项目仍在 2026 年 9 月更新,并在 v3.1.0 补充 CPU 安装和训练资料,因此保留改造。

来源:github.com/kyutai-labs/pocket-tts/releases/tag/v3.1.0

核心功能

CPU 流式推理

官方列出的模型约 1 亿参数,支持音频流式输出;README 报告 MacBook Air M4 上首个音频块约 200ms,速度约为实时的 6 倍,这些数字是官方特定硬件测量。

来源:github.com/kyutai-labs/pocket-tts
多语言模型

官方预训练入口覆盖英语、法语、德语、葡萄牙语、意大利语和西班牙语;部分非英语语言另有更慢的 24 层版本。

来源:github.com/kyutai-labs/pocket-tts
声音克隆与导出

generate 可把 WAV 作为 voice 输入;export-voice 能把音频提示转换为 safetensors 状态,重复使用时避免每次重新处理音频。

来源:github.com/kyutai-labs/pocket-tts
CLI、API 与本地服务

命令行可直接生成 WAV,Python API 可复用模型和 voice state,serve 命令在本机 8000 端口提供 Web 界面和 HTTP 请求入口。

来源:github.com/kyutai-labs/pocket-tts

技术架构

Pocket TTS 先由 tokenizer 和 text conditioner 处理文本,再让 PyTorch 声学模型结合预训练或克隆的 voice state 逐块生成音频。CLI 封装 generate、export-voice 和 serve;Python API 通过 TTSModel.load_model 加载权重。模型和声音资源可来自 Hugging Face,所以首次运行及使用 URL/hf 配置时需要网络。

来源:github.com/kyutai-labs/pocket-tts

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) numpy 2+ sentencepiece tokenizers safetensors huggingface_hub CPU 流式推理 多语言模型 声音克隆与导出 CLI、API 与本地服务 pocket-tts 项目本体 核心功能 关键依赖

技术栈

语言Python 3.10 至 3.14框架PyTorch 2.5+、FastAPI/Uvicorn
numpy 2+sentencepiecetokenizerssafetensorshuggingface_hubscipy可选 torchao 量化
默认可在 CPU 推理;Linux 普通 pip 可能额外拉取约 3GB CUDA wheels,应显式选 PyTorch CPU index;serve 默认本地端口 8000
来源:github.com/kyutai-labs/pocket-tts/blob/main/pyproject.toml

快速上手

准备 Python 3.10 至 3.14 的独立环境。Linux CPU 机器执行 uvx --index https://download.pytorch.org/whl/cpu pocket-tts generate,或用同一 extra index 安装 pocket-tts 3.1.0;macOS 和 Windows 默认 wheel 已是 CPU 路径。先用内置 voice 生成短句,再测试自己的授权音频。需要服务时运行 pocket-tts serve,并确认 8000 端口只绑定可信接口。
来源:github.com/kyutai-labs/pocket-tts

使用场景

适合本地播报、离线语音原型、CPU 服务器上的流式 TTS,以及经授权的声音克隆实验。需要已验证的生产 SLA、精确跨硬件延迟或公开网络服务时,还要自行做质量、并发、认证和滥用防护测试。

来源:github.com/kyutai-labs/pocket-tts

优势与局限

优势

  • CPU 路径和 Linux 精简安装写得清楚
  • CLI、Python API 与本地 Web 服务覆盖常见接入方式
  • 支持六种官方语言入口和声音克隆
  • 训练代码已公开,仓库采用 MIT 许可

局限

  • 官方速度来自特定硬件,不能直接套到其他 CPU
  • 首次模型和声音下载依赖外部网络
  • serve 没有替用户完成公网认证与访问控制
  • 声音克隆涉及授权、冒用和隐私风险
  • GPU 不是完整支持路径,serve 与 Docker 不暴露 device 选项
  • 不同声音和社区模型可能有各自许可
来源:github.com/kyutai-labs/pocket-tts

最新版本

截至 2026-09-23,最新 release 是 v3.1.0,发布于 2026-09-03。该版补充 Linux CPU-only 安装、训练测试、长文本切分修复、serve 默认 voice、语言微调说明及更多社区模型入口。

来源:github.com/kyutai-labs/pocket-tts/releases/tag/v3.1.0

实测与证据

status: docs-only  |  checked_at: 2026-09-23  |  environment: 核对官方 README、pyproject.toml、模型入口和 GitHub Releases  |  limitations: 未安装 Python 包,未下载模型或声音,未生成、试听和测速,也未启动 8000 服务或上传任何真人音频  |  observed_output: 最新 release 是 v3.1.0,发布于 2026-09-03;包版本同为 3.1.0,要求 Python >=3.10,<3.15 与 torch>=2.5.0;Linux CPU-only 文档说明普通 pip 可能多下载约 3GB CUDA 运行库

来源:github.com/kyutai-labs/pocket-tts/releases/tag/v3.1.0

同类项目对比

KittenTTS 同样主打 CPU 本地推理,模型为 15M 到 80M 参数,当前 README 聚焦英文与 8 个预设声音;Pocket TTS 约 100M 参数,官方列出六种语言、声音克隆、流式输出和训练代码。只看最小模型体积可先试 KittenTTS;需要多语言或自有授权声音时,Pocket TTS 的官方路径更完整。

来源:github.com/KittenML/KittenTTS

总结评价

适合本地播报、离线语音原型、CPU 服务器上的流式 TTS,以及经授权的声音克隆实验。需要已验证的生产 SLA、精确跨硬件延迟或公开网络服务时,还要自行做质量、并发、认证和滥用防护测试。采用前需要核对:官方速度来自特定硬件,不能直接套到其他 CPU。

来源:github.com/kyutai-labs/pocket-tts;https://github.com/kyutai-labs/pock…

常见问题

Pocket TTS 在 Linux 安装为什么会多出几 GB?

PyPI 可能默认选择带 CUDA 运行库的 PyTorch wheel。只做 CPU 推理时,应按官方说明加入 PyTorch CPU index,可把大约 3GB 的默认安装降到约 200MB。

Pocket TTS 的声音克隆需要一直读取原始 WAV 吗?

不需要。export-voice 可先把授权音频转换成 safetensors voice state,之后直接加载该状态。原始音频和导出的声音状态都应按敏感数据管理。

Pocket TTS serve 可以直接开放到公网吗?

不建议直接暴露。官方 serve 主要用于本地 8000 端口试用,公网部署还需反向代理、认证、限流、上传大小限制、日志脱敏和声音克隆滥用防护。

Pocket TTS 用 GPU 一定比 CPU 快吗?

不一定。官方在 Apple Silicon 上没有观察到收益,在一台 T4 云主机上测到约 2.6 倍加速;GPU 路径也未完整支持,serve 和 Docker 当前始终走 CPU。

Pocket TTS 和 KittenTTS 怎样选?

Pocket TTS 提供六种官方语言、声音克隆、流式生成和训练代码;KittenTTS 的 15M 到 80M 英文模型更小。选择前应在目标硬件上比较音质、首包延迟、许可和安装体积。

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

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