Install
openclaw skills install qclaw-speaker四引擎本地轻量CPU TTS语音播报系统。让 QClaw/OpenClaw 像豆包一样自然开口说话。 引擎:Edge TTS(在线微软神经)→ sherpa-onnx Piper(离线13MB ONNX)→ Windows SAPI(离线原生)。 支持 11 款中文音色、自动语音播报、引擎智能降级、一键安装。 Use when: 用户说"语音播报"/"说话"/"开口"/"读出来"/"念给我听"/"tts", 要求文字转语音, 需要自动语音回复, 无障碍/驾车/做饭场景。
openclaw skills install qclaw-speaker四引擎本地轻量 CPU TTS 语音播报系统。无需 GPU,无需云 API,13MB 模型即可在 CPU 上实时合成中文语音,流畅度媲美云服务。
如果说
video-subtitle-extractor是给大模型装上了"视频字幕眼睛", 那么qclaw-speaker就是给它装上了"嘴巴",像豆包一样自然开口!
# 一键安装(2引擎 + 默认音色)
python scripts/install.py
# 说话!
python scripts/speak.py "你好,我是QClaw,很高兴为你服务!"
python scripts/speak.py "大家好" --voice yunxi # 男声
python scripts/speak.py "离线播报" --engine sherpa # 本地离线
python scripts/speak.py "系统原生" --engine win # Windows自带
# 切换默认音色
python scripts/speak.py --set-voice xiao_ya
# 开启自动播报
python scripts/speak.py --auto-speak on
| 排名 | 引擎 | 大小 | RAM | 中文 | CPU速度 | 流式 | 离线 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 🥇 | Edge TTS | 0 | ~50MB | ⭐⭐⭐⭐⭐ | <1s | ✅ | ❌ | 微软神经TTS,免费在线 |
| 🥈 | Sherpa+Piper | 13MB | ~200MB | ⭐⭐⭐⭐ | RTF 0.05 | ✅ | ✅ | ONNX推理,CPU极快 |
| 🥉 | Windows SAPI | 0 | ~50MB | ⭐⭐⭐ | <0.1s | ❌ | ✅ | 系统原生,零配置 |
| 模型 | 大小 | RAM | 中文 | CPU速度 | 流式 | 优势 |
|---|---|---|---|---|---|---|
| Kokoro v1.0 | 85MB | ~500MB | ⭐⭐⭐⭐ | RTF 0.04 | ✅ | 多语言,极快,ONNX |
| Piper C++ 原生 | 30MB | ~300MB | ⭐⭐⭐⭐ | RTF 0.03 | ✅ | 纯C++,最快,独立 |
| Matcha-TTS | 72MB | ~500MB | ⭐⭐⭐⭐⭐ | RTF 0.05 | ✅ | 中文轻量最优质量 |
| ChatTTS 2.0 | 600MB | ~2GB | ⭐⭐⭐⭐⭐ | RTF 0.5 | ❌ | 最自然人声(非实时) |
| MeloTTS | 160MB | ~1GB | ⭐⭐⭐⭐ | 快 | ❌ | MIT开源,微软出品 |
| ZipVoice(int8) | 104MB | ~600MB | ⭐⭐⭐⭐⭐ | RTF 0.08 | ✅ | 中英混合极好 |
| espeak-ng | 6MB | ~100MB | ⭐⭐ | 闪电 | ✅ | 超轻量,全语言 |
需要离线? ─YES→ 选择 Sherpa+Piper (13MB) 或 Windows SAPI (0MB)
需要实时流式? ─YES→ Edge TTS / Sherpa / Kokoro
最小RAM? ─→ Windows SAPI (50MB) / Sherpa (200MB)
最佳中文? ─→ Edge TTS (在线) / Matcha-TTS (离线72MB)
最快速度? ─→ Piper C++ 原生 (RTF 0.03) / Kokoro (RTF 0.04)
| 特性 | ☁️ Edge TTS | 🏠 Sherpa+Piper | 💻 Win SAPI |
|---|---|---|---|
| 网络 | 需要 | 无需 ✅ | 无需 ✅ |
| 模型下载 | 零 | 13MB | 零 |
| RAM占用 | ~50MB | ~200MB | ~50MB |
| 首字延迟 | ~0.5s | <0.1s | <0.05s |
| 中文音色 | 6款 | 3款 | 1款 |
| 流式输出 | ✅ | ✅ | ❌ |
| 隐私 | 数据上云 | 本地处理 | 本地处理 |
| 安装 | pip edge-tts | pip sherpa-onnx | 系统自带 |
请求播报
├── 1. Edge TTS (品质最优)
├── 2. Sherpa-onnx (本地离线) ← 网络不佳时
└── 3. Windows SAPI (终极兜底) ← 都不行时
| 音色 | 风格 | 推荐场景 |
|---|---|---|
xiaoxiao ⭐ | 晓晓,标准女声 | 默认通用 |
yunxi | 云希,活泼男声 | 讲解/教程 |
xiaoyi | 晓依,温柔女声 | 情感内容 |
xiaochen | 晓辰,自然男声 | 新闻播报 |
yunyang | 云扬,沉稳男声 | 正式场合 |
xiaohan | 晓涵,少女声 | 轻快内容 |
| 音色 | 大小 | 风格 | RTF |
|---|---|---|---|
xiao_ya ⭐ | 13MB | 小雅,温暖女声 | 0.05 |
chaowen | 13MB | 超稳,沉稳男声 | 0.05 |
huayan | 64MB | 花颜,柔和女声 | 0.10 |
| 音色 | 大小 | 风格 |
|---|---|---|
huihui | 0 | 慧慧,系统中文语音 |
┌─────────────────────────────────────────────────────────┐
│ QClaw / OpenClaw │
│ │
│ ┌──────────┐ ┌──────────────┐ ┌─────────────┐ │
│ │ LLM 输出 │ → │ speak.py │ → │ 音频输出 │ │
│ │ (文本) │ │ 引擎调度器 │ │ (WAV/MP3) │ │
│ └──────────┘ └──────┬───────┘ └─────────────┘ │
│ │ │
│ ┌─────────────┼─────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Edge TTS │ │ Sherpa │ │ Win SAPI │ │
│ │ (在线) │ │ (ONNX) │ │ (原生) │ │
│ │ 0MB │ │ 13MB │ │ 0MB │ │
│ └──────────┘ └────┬─────┘ └──────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ Piper VITS │ │
│ │ (int8量化) │ 纯CPU, <0.1s延迟 │
│ └─────────────┘ │
└─────────────────────────────────────────────────────────┘
| 层 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 在线引擎 | edge-tts | latest | 微软神经网络,免费 |
| 离线引擎 | sherpa-onnx | 1.13.2 | C++ ONNX Runtime |
| 模型 | Piper VITS (int8) | - | 13MB, 中文, CPU |
| 本地引擎 | pyttsx3 (SAPI) | latest | Win原生语音 |
| 音频 | soundfile | latest | WAV 读写 |
| ORT修复 | onnxruntime | 1.26+ | 自动覆盖sherpa内置旧版DLL |
开启后,每次 AI 回复自动朗读:
用户: 开启语音播报
→ config.json: auto_speak = true
→ 后续每次回复自动调用 TTS
→ 语音消息发送至当前聊天
关闭:
用户: 关闭语音播报 / 安静 / 别说了
→ config.json: auto_speak = false
一个答案只会开一次口,工具调用/系统消息不会触发朗读。
# 全自动安装(edge-tts + pyttsx3 + sherpa-onnx)
python scripts/install.py
# 仅安装在线引擎
python scripts/install.py --edge-only
# 仅安装离线引擎
python scripts/install.py --win-only
# 下载 sherpa-onnx 模型
python scripts/install.py --sherpa xiao_ya
# 检查安装状态
python scripts/install.py --check
python scripts/speak.py "文本" [选项]
选项:
--voice, -v NAME 音色名称
--engine, -e ENGINE 引擎: auto / edge / sherpa / win
--speed, -s FLOAT 语速 (0.5-2.0, 默认 1.0)
--output, -o PATH 输出音频文件
--list-voices 列出全部音色
--set-voice NAME 设置默认音色
--set-speed FLOAT 设置默认语速
--auto-speak on|off 开启/关闭自动语音播报
--config 显示当前配置
--config-path 显示配置文件路径
| 引擎 | 模型 | 首句 | RTF | RAM |
|---|---|---|---|---|
| edge | xiaoxiao | 0.5s | — | 50MB |
| sherpa | xiao_ya (int8) | 0.08s | 0.05 | 200MB |
| win | huihui | 0.03s | — | 50MB |
| 问题 | 解决 |
|---|---|
No module named 'edge_tts' | pip install edge-tts |
No module named 'pyttsx3' | pip install pyttsx3 |
sherpa-onnx ORT version mismatch | 已自动修复:skills/scripts 自动覆盖旧版 ORT DLL |
| 模型未找到 | python scripts/install.py --sherpa xiao_ya |
| Edge TTS 超时 | 网络问题,自动降级到 sherpa/win |
| 中文 SAPI 不可用 | 安装 Windows 中文语言包 |
| 维度 | 本技能 | qwen-tts | edge-tts | sherpa-onnx-tts |
|---|---|---|---|---|
| 引擎数 | 4个 | 1个 | 1个 | 1个 |
| 模型大小 | 13MB | 1.7GB | 0 | 需自行下载 |
| 中文支持 | ✅ | ✅ | ✅ | ❌(英文为主) |
| 智能降级 | ✅ | ❌ | ❌ | ❌ |
| 自动播报 | ✅ | ❌ | ❌ | ❌ |
| 离线可用 | ✅ | ✅ | ❌ | ✅ |