pocket-tts

普通 CPU 也能本地跑的文字转语音工具

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 音频音乐 🍴 复刻 1070 🐛 待处理 64 👀 关注 63
GitHub ↗
GitHub 星标 ★ 10043
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,需自行部署

项目预览

pocket-tts 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类音频音乐
开发团队kyutai-labs
定价模式🏷️完全免费
价格说明开源免费,需自行部署
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
GitHub 星标★ 10043
上线时间2026-01-07 00:00:00
代码更新2026-10-22
仓库体积2.1 MB
本站数据更新2026-10-25
维护状态活跃
收录时间2026-10-25
浏览次数0

项目介绍

pocket-tts 是一个面向 CPU 环境的轻量级文本转语音(TTS)开源项目,核心目标是在不依赖独立显卡的前提下完成语音合成,让普通笔记本甚至小型设备也能本地运行。项目以 Python 实现,强调模型体积小、资源占用低、部署门槛低,适合对实时性要求不极端、但希望离线生成语音的场景。它解决的是传统 TTS 方案往往依赖 GPU、模型体积大、部署链路复杂的问题,把语音合成能力压缩到可在 CPU 上直接推理的程度。核心能力包括文本到语音的本地合成、轻量化推理、便于嵌入到现有 Python 应用或脚本中。项目星标已过万,说明在轻量 TTS 方向有较高关注度,适合做原型验证、辅助工具、内容配音等用途。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-10-25 · 当前星标 ★ 10043

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 5 步

环境要求

  • Python 3.10、3.11、3.12、3.13 或 3.14
  • PyTorch 2.5+(CPU 版即可,无需 GPU 版)
  • 在 Linux 上建议从 PyTorch CPU 索引安装,以避免下载数 GB 的 CUDA 依赖
  • 无需独立显卡,可以在普通笔记本或小型设备上推理

安装与启动步骤

  1. 1确认 Python 版本

    先确认本机 Python 版本在 3.10~3.14 之间,版本不符需要先切换解释器。

    python --version
  2. 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. 3生成第一段语音

    用 generate 子命令合成语音,--text 指定文本,--voice 选择内置音色,默认英文模型。

    pocket-tts generate --text "Hello world, this is a test." --voice alba
  4. 4启动 Web 界面

    serve 子命令会在本地 8000 端口起一个网页界面,模型常驻内存,比命令行反复调用更快。

    pocket-tts serve
  5. 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

上一篇:KittenTTS

下一篇:OmniVoice

同类项目推荐

editts 开源

用扩散模型精准编辑语音,改音高语速不动原声

Official implementation of EdiTTS: Score-based Editing for Controllable Text-to-Spee···

★ 122 2026-08-09
ComfyUI-FL-YuE2 开源

在 ComfyUI 里生成音乐并手动改音符,边听边调

YuE2 music generation and an editable piano roll for ComfyUI

★ 222 2026-10-02
AudioMAE-pytorch 开源

用掩码自编码器预训练音频模型,轻松提取通用音频特征

Unofficial PyTorch implementation of Masked Autoencoders that Listen

★ 71 2026-08-09
piper-app 开源

在苹果设备上离线运行 Piper TTS,快速生成自然语音。

The original Piper(https://github.com/OHF-Voice/piper1-gpl), now on iOS and macOS

★ 66 2026-08-09
cnn_vocoder 开源

用CNN快速生成语音波形,比传统声码器更快

A fast cnn-based vocoder

★ 78 2026-08-09
arguing-robots 开源

在终端里看两个机器人实时吵架,还能听声

Watch and hear macOS robots argue live in your terminal

★ 53 2026-08-09
obsidian-tts 开源

选中笔记文字,一键朗读,解放双眼。

Text to speech for Obsidian. Hear your notes.

★ 123 2026-08-09