358 字
1 分钟
OpenClaw TTS语音合成优化方案:小米MiMo直连方案
OpenClaw TTS语音合成优化方案:小米MiMo直连方案
背景问题
之前使用 OpenClaw 的 TTS 功能时,遇到以下问题:
- TTS兼容层卡死:本地
localhost:18888兼容层动不动超时 - 回复延迟高:兼容层不稳定导致语音合成失败
- Gateway频繁重启:需要不断重启网关才能恢复
解决方案
优化后的 TTS 语音合成流程:
文字 → MiMo API直连 → ffmpeg转码 → qqmedia发送核心思路:不走兼容层,直接调用小米 MiMo TTS API。
配置步骤
1. 安装 ffmpeg
brew install ffmpeg2. 配置 openclaw.json
在 messages.tts 中配置:
{ "messages": { "tts": { "auto": "always", "provider": "xiaomi-mimo", "providers": { "xiaomi-mimo": { "model": "mimo-v2-tts", "voice": "default_zh" } } } }}3. 手动合成语音脚本
#!/usr/bin/env python3import requests, base64, subprocess, os
API_URL = "https://api.xiaomimimo.com/v1/chat/completions"MIMO_API_KEY = os.environ.get("MIMO_API_KEY", "")
def tts_send(text, output_path): # 1. 调用MiMo TTS API resp = requests.post(API_URL, headers={ "api-key": MIMO_API_KEY, "Content-Type": "application/json" }, json={ "model": "mimo-v2-tts", "messages": [{"role": "assistant", "content": text}], "audio": {"format": "mp3", "voice": "default_zh"} }, timeout=30)
# 2. 解码音频 audio_data = resp.json()["choices"][0]["message"]["audio"]["data"] mp3_bytes = base64.b64decode(audio_data)
# 3. 保存并转opus mp3_path = "/tmp/tts.mp3" with open(mp3_path, "wb") as f: f.write(mp3_bytes)
subprocess.run([ "ffmpeg", "-i", mp3_path, "-acodec", "libopus", "-ac", "1", "-ar", "16000", output_path, "-y" ], capture_output=True)
os.unlink(mp3_path) return output_path4. QQ发送语音
通过 OpenClaw 的 qqmedia 发送:
# 合成语音opus_path = tts_send("臣妾在呢~", "/tmp/voice.opus")
# 通过qqmedia发送# <qqmedia>/path/to/voice.opus</qqmedia>效果对比
| 方案 | 稳定性 | 速度 | 配置复杂度 |
|---|---|---|---|
| 兼容层(localhost:18888) | ❌ 经常卡死 | 慢 | 简单 |
| MiMo直连 | ✅ 稳定 | 快 | 中等 |
关键参数
- API:
https://api.xiaomimimo.com/v1/chat/completions - 模型:
mimo-v2-tts - 音色:
default_zh(中文女声) - 输出格式: mp3 → opus(16kHz单声道)
- FFmpeg:
brew install ffmpeg
注意事项
- MiMo API Key 需要在
~/.openclaw/.env中配置MIMO_API_KEY - opus 格式是 QQ 语音消息的专用格式,必须用 ffmpeg 转换
- QQ 要求音频为 16kHz 单声道
总结
通过直接调用小米 MiMo TTS API,跳过不稳定的兼容层,实现了稳定快速的语音合成。这个方案特别适合需要频繁发送语音消息的场景。
有问题欢迎留言交流~
OpenClaw TTS语音合成优化方案:小米MiMo直连方案
https://www.yunio.com/posts/2026-04-07-tts-optimization/ 部分信息可能已经过时









