MiMo TTS — 小米 MiMo 语音合成
通过小米 MiMo V2 TTS API 将文字转为自然流畅的语音。
前置条件
1. 安装依赖
pip install requests
apt install ffmpeg # opus 格式需要
2. 配置 API Key
在 ~/.openclaw/openclaw.json 中确认 skills.entries.mimo-tts 已配置:
{
"skills": {
"entries": {
"mimo-tts": {
"env": {
"MIMO_API_KEY": "your-api-key"
}
}
}
}
}
💡 也可通过环境变量
export MIMO_API_KEY=xxx设置。
使用方式
python3 /root/.openclaw/skills/mimo-tts/scripts/tts.py --text "要合成的文字" --output audio.wav
参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--text |
要合成的文字(单条模式,必填) | — |
--batch |
批量模式:文本文件路径(每行一条) | — |
--output |
输出文件路径(单条模式) | output.wav |
--output-dir |
输出目录(批量模式) | ./voices |
--voice |
音色 | mimo_default |
--style |
语音风格(可多次指定以组合) | — |
--format |
输出格式:wav / pcm16 / opus |
wav |
--user-text |
用户侧消息(辅助上下文) | — |
可选预置音色
| voice 参数 | 说明 |
|---|---|
mimo_default |
MiMo-默认 |
default_zh |
MiMo-中文女声 |
default_en |
MiMo-英文女声 |
当前不支持音色克隆。
风格控制
将 <style>风格</style> 置于转换目标文本开头。如需设置多种风格,请将多个风格名称置于同一个 <style> 标签内,分隔符不限。
格式:<style>风格1 风格2</style>待合成内容
| 风格类型 | 示例 |
|---|---|
| 语速控制 | 变快、变慢 |
| 情绪变化 | 开心、悲伤、生气 |
| 角色扮演 | 孙悟空、林黛玉 |
| 风格变化 | 悄悄话、夹子音、台湾腔 |
| 方言 | 东北话、四川话、河南话、粤语 |
| 其他 | 唱歌、叙事、讲故事 |
音频标签细粒度控制
通过 [音频标签] 可精准调节语气、情绪和表达风格,支持插入呼吸声、停顿、咳嗽等自然表现,语速也可灵活调整。
示例:
(紧张,深呼吸)呼……冷静,冷静。不就是一个面试吗……(语速加快,碎碎念)自我介绍已经背了五十遍了,应该没问题的。
(极其疲惫,有气无力)师傅……到地方了叫我一声……(长叹一口气)我先眯一会儿,这班加得我魂儿都要散了。
(提高音量喊话)大姐!这鱼新鲜着呢!早上刚捞上来的!
示例
# 基础合成
python3 tts.py --text "你好,世界!" --output hello.wav
# 情感风格
python3 tts.py --text "明天就是周五了,真开心!" --style 开心 --output happy.wav
# 角色扮演
python3 tts.py --text "俺老孙来也!" --style 孙悟空 --output wukong.wav
# 英文
python3 tts.py --text "Hello world!" --voice default_en --output hello_en.wav
# 东北话
python3 tts.py --text "哎呀妈呀,这天儿也忒冷了吧!你说这风,嗖嗖的,跟刀子似的,割脸啊!" --style 东北话 --output dongbei.wav
# 粤语
python3 tts.py --text "呢个真係好正啊!食过一次就唔会忘记!" --style 粤语 --output cantonese.wav
# 唱歌
python3 tts.py --text "原谅我这一生不羁放纵爱自由,也会怕有一天会跌倒" --style 唱歌 --output song.wav
# 飞书语音消息(opus 格式,可直接发送)
python3 tts.py --text "你好呀" --format opus --output hello.opus
# 多风格组合(情感 + 方言)
python3 tts.py --text "好开心呀" --style "开心 四川话" --output happy_sichuan.opus
# 带上下文辅助调整语气
python3 tts.py --text "这个产品非常好用" --style 开心 --user-text "用户刚刚购买了我们的产品" --output review.wav
# 批量合成(从文件读取,每行一条)
python3 tts.py --batch texts.txt --output-dir ./voices --format opus
输出格式
支持 wav、pcm16、opus 三种格式。其中 opus 格式专为飞书语音消息设计,可直接发送。
{
"status": "success",
"file": "output.wav",
"size_kb": 128.5,
"duration_sec": 5.2,
"voice": "mimo_default",
"style": "开心",
"text": "明天就是周五了,真开心!"
}
注意事项
- 语音合成目标文本需填写在
role: assistant的消息中,不可放在 user 角色。 - user 角色消息为可选参数,但建议携带,可在部分场景下调整语音合成的语气与风格。
- 唱歌风格必须在文本最开头添加
<style>唱歌</style>,如:<style>唱歌</style>歌词 - 风格支持中文名(开心、东北话等),也支持英文名(Happy、Northeastern dialect),API 均可识别。
故障排除
| 问题 | 原因 | 解决方案 |
|---|---|---|
未设置 MIMO_API_KEY |
未配置 API Key | 在 skills.entries.mimo-tts.env 中配置 |
API 返回异常 |
Key 无效或过期 | 检查 Key 是否正确 |
未获取到音频数据 |
文本被拒绝 | 检查文本内容 |
requests 超时 |
网络问题 | 自动重试 3 次,检查网络连接 |
ImportError: requests |
缺少依赖 | pip install requests |
ffmpeg 未安装 |
缺少 ffmpeg | apt install ffmpeg / brew install ffmpeg |
技术细节
- 模型:
mimo-v2-tts - API:
https://api.xiaomimimo.com/v1/chat/completions - 采样率:24kHz(PCM16 格式)
- 风格标签格式:
<style>风格</style>放在文字开头 - 自动重试:API 调用失败时自动重试 3 次(间隔 2 秒)
更新日志
v1.2.0 (2026-03-28)
- 同步小米官方文档,风格名统一使用中文(开心、东北话、粤语等)
- 英文风格名仍可兼容使用
- 新增音频标签细粒度控制说明
- 更新注意事项和唱歌风格使用指引
- 修复配置引用路径(mimo-tts)
v1.1.0 (2026-03-27)
- 新增
--batch批量合成模式 - 支持多风格组合:多次指定
--style参数叠加效果 - 自动重试机制:API 调用失败时自动重试 3 次
- 健康检查:启动时检查 API Key 和 ffmpeg 是否可用
