核心用法
本技能为 OpenClaw 平台配置完整的语音消息处理能力,包含双向流程:
语音输入(STT):通过 faster-whisper 本地转录语音消息。用户发送语音后,系统自动调用隔离的 Python 虚拟环境中的转录脚本,将音频转换为文本供 AI 处理。支持多模型选择(tiny 至 large),默认 small 模型平衡质量与速度。
语音输出(TTS):通过 Microsoft Edge TTS 服务将 AI 回复合成为语音。配置 auto: "inbound" 模式后,系统仅在收到语音消息时以语音回复,文本消息则保持文本回复,实现自然交互。
显著优点
1. 零成本运行:Edge TTS 完全免费,faster-whisper 本地运行无 API 调用费用
2. 隐私友好:语音识别在本地完成,音频数据不上传第三方服务
3. 硬件适配:针对 Raspberry Pi 4/ARM 优化,small 模型 20-40 秒可完成转录
4. 灵活配置:支持语速、音调、音量调节,20+ 种语音可选
5. 智能模式:inbound 自动识别避免对文本消息滥用语音回复
潜在局限
1. 本地性能依赖:medium/large 模型在低端设备上转录时间过长(40-160 秒)
2. 首次下载延迟:Whisper 模型首次运行时自动下载(约 250MB)
3. 单语言限制:需手动配置 --lang 参数,多语言场景需额外处理
4. Edge TTS 可用性:依赖微软服务,存在间歇性不可用的风险
5. 环境隔离要求:需维护独立的 Python venv,增加运维复杂度
适合人群
- 运行 OpenClaw 自托管实例的技术用户
- 希望为 Telegram Bot 添加语音交互的开发者
- Raspberry Pi 等 ARM 设备用户寻求离线语音方案
- 注重隐私、不愿将语音数据提交云端服务的场景
常规风险
| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 超时失败 | 音频过大或模型过慢导致转录超时 | 设置合理 `maxBytes` 和 `timeoutSeconds` |
| 存储膨胀 | Hugging Face 缓存模型长期累积 | 定期清理 `~/.cache/huggingface/` |
| 服务依赖 | Edge TTS 微软服务不稳定 | 准备降级到纯文本回复的预案 |
| 权限配置 | 脚本可执行权限或路径错误 | 严格遵循安装步骤验证 `chmod +x` 和绝对路径 |
| 短文本过滤 | 过短回复被 TTS 跳过 | 此为设计行为,长文本场景无影响 |