
pocket-tts
普通 CPU 也能本地跑的文字转语音工具
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-10-25 · 当前星标 ★ 10043
使用教程
环境要求
- Python 3.10、3.11、3.12、3.13 或 3.14
- PyTorch 2.5+(CPU 版即可,无需 GPU 版)
- 在 Linux 上建议从 PyTorch CPU 索引安装,以避免下载数 GB 的 CUDA 依赖
- 无需独立显卡,可以在普通笔记本或小型设备上推理
安装与启动步骤
-
1确认 Python 版本
先确认本机 Python 版本在 3.10~3.14 之间,版本不符需要先切换解释器。
python --version -
2安装 pocket-tts
用 pip 安装。Linux 上加上 PyTorch CPU 索引,只装 CPU 版 torch,体积从约 3GB 降到约 200MB。
pip install pocket-tts --extra-index-url https://download.pytorch.org/whl/cpu -
3生成第一段语音
用 generate 子命令合成语音,--text 指定文本,--voice 选择内置音色,默认英文模型。
pocket-tts generate --text "Hello world, this is a test." --voice alba -
4启动 Web 界面
serve 子命令会在本地 8000 端口起一个网页界面,模型常驻内存,比命令行反复调用更快。
pocket-tts serve -
5在代码中调用
也可以当作 Python 库使用:先加载模型,再取音色状态,最后生成音频。
from pocket_tts import TTSModel import scipy.io.wavfile tts_model = TTSModel.load_model() voice_state = tts_model.get_state_for_audio_prompt( "alba" ) audio = tts_model.generate_audio(voice_state, "Hello world, this is a test.")
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--voice | 否 | 指定音色,可选内置音色名,也可直接给本地 wav 文件做音色克隆 | alba |
--text | 否 | 要合成的文本内容 | Hello world, this is a test. |
--language | 否 | 选择预训练语言模型,默认 english;其他语种可用 24 层大模型变体 | italian_24l |
--config | 否 | 自定义权重配置,支持本地 YAML 路径、https URL 或 hf:// 路径 | hf://kyutai/pocket-tts/config.yaml |
如何确认成功
执行 serve 后浏览器打开 http://localhost:8000 能看到网页界面,输入文本即可生成语音;命令行方式则检查输出音频文件是否正常播放。
常见问题
Q:Linux 上安装为什么要加 --extra-index-url?
A:Linux 的 PyPI 默认给 torch 装 CUDA 版本,会额外拉入 nvidia-* 依赖、多出数 GB 体积,而本项目只跑 CPU,指定 CPU 索引即可避免。
Q:macOS 和 Windows 也要加这个索引吗?
A:不需要。这两个平台上默认的 PyTorch wheel 本身就是 CPU-only 版本,直接 pip install pocket-tts 即可。
Q:不想安装能直接试吗?
A:可以用 uvx 临时运行:uvx --index https://download.pytorch.org/whl/cpu pocket-tts generate。也可以直接访问官网在浏览器里试用。
Q:怎样换成自己的声音?
A:给 --voice 传一个普通 wav 文件路径即可做音色克隆;建议先对参考音频做降噪清理,因为样本的音质会被一并复现。
Q:可以用显卡加速吗?
A:没有官方支持,TTSModel.load_model() 不接受 device 参数;但它是普通的 nn.Module,可以加载后自行调用 tts_model.to("cuda")。
注意事项
- 首次运行会下载模型权重与音色文件,请保证网络通畅且留有足够磁盘空间。
- 模型为 100M 参数级别,英文小模型最低到 1.9M 参数,单核即可跑出实时速度。
- 音色克隆效果与参考音频质量强相关,建议先清理样本再使用。
- GPU 推理属于非官方用法,是否更快取决于硬件,部分设备上 CPU 已足够。
核心亮点
- 纯 CPU 推理,无需独立显卡即可本地合成语音
- Python 实现,接入现有脚本或应用的成本低
- 模型轻量,适合在笔记本和小型设备上部署
不足之处
- 轻量化定位下音质和表现力通常弱于大型 GPU 模型
- 多语言、多音色等高级能力覆盖情况需按文档确认
适用场景
- 在无 GPU 的笔记本上为短视频或播客生成旁白
- 为本地工具或脚本增加离线语音播报能力
- 在资源受限设备上做语音合成原型验证
替代项目
Coqui TTS、Piper、espeak-ng
同类项目推荐
editts
开源
用扩散模型精准编辑语音,改音高语速不动原声
Official implementation of EdiTTS: Score-based Editing for Controllable Text-to-Spee···
ComfyUI-FL-YuE2
开源
在 ComfyUI 里生成音乐并手动改音符,边听边调
YuE2 music generation and an editable piano roll for ComfyUI
ha-tts-bluetooth-speaker
开源
让 Home Assistant 用蓝牙音箱说话,无需额外硬件
TTS Bluetooth Speaker for Home Assistant
AudioMAE-pytorch
开源
用掩码自编码器预训练音频模型,轻松提取通用音频特征
Unofficial PyTorch implementation of Masked Autoencoders that Listen
piper-app
开源
在苹果设备上离线运行 Piper TTS,快速生成自然语音。
The original Piper(https://github.com/OHF-Voice/piper1-gpl), now on iOS and macOS
cnn_vocoder
开源
用CNN快速生成语音波形,比传统声码器更快
A fast cnn-based vocoder
arguing-robots
开源
在终端里看两个机器人实时吵架,还能听声
Watch and hear macOS robots argue live in your terminal
obsidian-tts
开源
选中笔记文字,一键朗读,解放双眼。
Text to speech for Obsidian. Hear your notes.
hands-on-music-generation-with-m···
开源
跟着书撸代码,用Magenta快速上手AI音乐生成
The "Hands-On Music Generation with Magenta" book code repository and info resource