| name | xiaomi-tts |
| description | 小米 MiMo 语音合成工具,支持 MiMo-V2.5-TTS 系列模型的语音合成。 功能包括:预置音色合成、音色设计、音色克隆、风格控制(情绪/方言/角色扮演/唱歌)、 音频标签精细控制、自然语言指令控制、导演模式等。 当用户需要:(1) 使用小米语音合成生成音频 (2) 配置 TTS 参数 (3) 控制语音风格/情绪/音色 (4) 集成 MiMo TTS 到项目中 (5) 合成唱歌音频时使用此 Skill。 触发关键词:小米语音、MiMo、TTS、语音合成、文字转语音、音色设计、音色克隆、mimo-v2.5-tts。
|
小米 MiMo 语音合成
将文本转换为自然流畅的语音,支持预置音色、音色设计、音色克隆及丰富的风格控制。
API Key 配置
支持三种配置方式(按优先级):
方式 1: 环境变量(推荐用于生产环境)
export MIMO_API_KEY="your-api-key"
方式 2: .env 配置文件(推荐用于开发)
cp .env.example .env
方式 3: 交互式配置(首次使用)
python xiaomi_tts.py --setup
脚本运行时如果未检测到 API Key,会自动提示用户输入。
前置条件
- 获取 API Key: https://platform.xiaomimimo.com
- 配置 API Key(见上方三种方式)
- 安装依赖:
pip install openai
- 流式调用还需:
pip install numpy soundfile
快速开始
基础合成
python xiaomi_tts.py -t "你好世界" -o output.wav
python xiaomi_tts.py -t "你好世界" -o output.wav -v "冰糖"
使用风格
python xiaomi_tts.py -t "今天天气真好" -o out.wav -v "冰糖" -s "开心" "活泼"
python xiaomi_tts.py -t "你好" -o out.wav -u "用轻快上扬的语调,语速稍快"
python xiaomi_tts.py -t "原谅我这一生不羁放纵爱自由" -o song.wav --singing
音色设计
python xiaomi_tts.py --model voicedesign \
-vd "温暖的中年女性声音,语速缓慢" \
-t "你好" -o output.wav
核心概念
模型选择
| 模型 ID | 参数值 | 功能 | 注意事项 |
|---|
mimo-v2.5-tts | tts | 预置音色 | 支持唱歌模式 |
mimo-v2.5-tts-voicedesign | voicedesign | 文本设计音色 | 不支持预置音色/唱歌 |
mimo-v2.5-tts-voiceclone | voiceclone | 音频克隆音色 | 需要音频样本 |
预置音色
| 音色 | 语言 | 性别 |
|---|
| 冰糖 (默认中文) | 中文 | 女性 |
| 茉莉 | 中文 | 女性 |
| 苏打 | 中文 | 男性 |
| 白桦 | 中文 | 男性 |
| Mia (默认英文) | 英文 | 女性 |
| Chloe | 英文 | 女性 |
| Milo | 英文 | 男性 |
| Dean | 英文 | 男性 |
查看全部音色: python xiaomi_tts.py --list-voices
风格控制
两种方式可组合使用:
- 自然语言控制 → 放入
user role 的 content (-u 参数)
- 音频标签 → 嵌入
assistant role 的 content
自然语言控制(推荐)
直接用自然语言描述风格,支持:
- 基础风格描述: "用轻快上扬的语调向领导报喜,语速稍快"
- 多风格切换: "播报 → 低语 → 嘶吼 的风格转场"
- 多情绪混合: "压抑的愤怒"、"带着哽咽的笑意"
- 导演模式: 从角色、场景、指导三维度刻画人物
导演模式示例:
角色:百年门阀岑家的现任大当家。自出生便被过继给祖庙的守门老人抚养。
场景:在祠堂的阴影里,看着那个不顾一切冲破保安防线来找她、企图带她私奔的男人。
指导:
冰冷、慵懒却极具威压的低音御姐。发声通道非常松弛。
- 语速与顿挫:极慢,每个字都像是在舌尖滚过才吐出来。
- 气声与实声:实音重且硬,在尾音处加入极其轻微的气音收束。
- 咬字肌理:唇齿音发得极轻但极清晰。
音频标签控制
| 类型 | 示例 |
|---|
| 基础情绪 | 开心/悲伤/愤怒/恐惧/惊讶/兴奋/委屈/平静/冷漠 |
| 复合情绪 | 怅然/欣慰/无奈/愧疚/释然/嫉妒/厌倦/忐忑/动情 |
| 整体语调 | 温柔/高冷/活泼/严肃/慵懒/俏皮/深沉/干练/凌厉 |
| 音色定位 | 磁性/醇厚/清亮/空灵/稚嫩/苍老/甜美/沙哑/醇雅 |
| 人设腔调 | 夹子音/御姐音/正太音/大叔音/台湾腔 |
| 方言 | 东北话/四川话/河南话/粤语 |
| 角色扮演 | 孙悟空/林黛玉 |
| 唱歌 | 唱歌/sing/singing |
| 语速与节奏 | 吸气/深呼吸/叹气/长叹一口气/喘息/屏息 |
| 情绪状态 | 紧张/害怕/激动/疲惫/委屈/撒娇/心虚/震惊/不耐烦 |
| 语音特征 | 颤抖/声音颤抖/变调/破音/鼻音/气声/沙哑 |
| 哭笑表达 | 笑/轻笑/大笑/冷笑/抽泣/呜咽/哽咽/嚎啕大哭 |
格式:
- 整体风格:
(风格)待合成内容
- 细粒度:
前文[深呼吸]中间[叹气]后文
样例
(怅然)这么多年过去了,再走过那条街,心里一下子空了一块。
(慵懒)再让我睡五分钟……就五分钟,真的,最后一次。
(磁性)夜已经深了,城市还在呼吸。我是今晚陪你的人,欢迎收听《午夜电台》。
(东北话)哎呀妈呀,这天儿也忒冷了吧!
(粤语)呢个真係好正啊!食过一次就唔会忘记!
(唱歌)原谅我这一生不羁放纵爱自由,也会怕有一天会跌倒。
(紧张,深呼吸)呼……冷静,冷静。不就是一个面试吗……
脚本使用
详细参数:
python xiaomi_tts.py --help
| 参数 | 说明 |
|---|
-t, --text | 要合成的文本 (必填) |
-o, --output | 输出路径 (默认: output.wav) |
-m, --model | tts/voicedesign/voiceclone (默认: tts) |
-v, --voice | 预置音色名称 |
-vd, --voice-description | 音色描述 (仅 voicedesign 需要) |
-s, --styles | 风格标签列表 |
-at, --audio-tags | 音频标签列表 |
-u, --user-instruction | 自然语言风格指令 |
--audio-format | wav/pcm16 (默认: wav) |
--stream | 使用流式调用 |
--singing | 启用唱歌模式 |
--optimize-text | 智能润色文本 (仅 voicedesign) |
--list-voices | 列出所有预置音色 |
--setup | 配置 API Key 向导 |
API 集成
在 Python 项目中直接集成:
from scripts.xiaomi_tts import synthesize
synthesize(
text="你好世界",
output_path="output.wav",
voice="冰糖"
)
synthesize(
text="今天天气真好",
output_path="output.wav",
voice="冰糖",
styles=["开心", "活泼"],
user_instruction="用轻快上扬的语调"
)
synthesize(
text="你好",
output_path="output.wav",
model="voicedesign",
voice_description="温暖治愈的女声,语速缓慢",
optimize_text_preview=True
)
synthesize(
text="(唱歌)原谅我这一生不羁放纵爱自由",
output_path="song.wav",
voice="白桦"
)
注意事项