minimax-tts-pipeline
yangagent/minimax-tts-pipeline-skill · skills.sh
Open source Repository Open in the app JSON README (API)
About
Skill publicada por yangagent/minimax-tts-pipeline-skill no skills.sh. Instale com: npx skills add yangagent/minimax-tts-pipeline-skill@minimax-tts-pipeline
Details
- Kind
- Agent skills
- Publisher
- yangagent
- Origin
- skillssh
- Category
- ferramentas
- Stars
- 21
- Forks
- 5
- Last push
- 2026-05-27T08:37:31Z
- Repository state
- ativo
- Language
- Python
- Added
- 2026-10-07 05:32:42
- Updated
- 2026-10-07 05:32:42
- Origin id
yangagent/minimax-tts-pipeline-skill/minimax-tts-pipeline
README
# MiniMax TTS Pipeline Skill
一个TTS Skill,用于将中文口播逐字稿文本通过 MiniMax TTS API 生成高质量音频,自动处理多音字、英文缩写、品牌名、版本号等高频发音错误。
## 工作流程
```
输入.txt
│
├─ Step -1: 环境预检测(检查 API Key)
├─ Step 0: 初始化运行目录 + 标点规范化 + 候选词扫描
├─ Step 1: 大小写规范化判断(LLM)
├─ Step 2: 发音读法判断 + 多音字识别(LLM)
├─ Step 3: 质量复核(LLM)
├─ Step 4: 调用 MiniMax TTS API 生成音频 + 字幕 JSON
└─ Step 5: 生成 SRT 字幕
```
核心数据流:
```
input.txt → normalize_punctuation.py → input.txt
→ scan_terms.py → terms.json(草稿)
→ [Step 1] 补全规范化 → terms.json
→ generate_normalized.py → normalized.txt
→ [Step 2] 补全读法 + 多音字 → terms.json
→ [Step 3] 复核 → terms.json(终稿)
→ call_tts.py → output.wav + output.title
→ title_to_srt.py → output.srt
```
## 输出文件
每次运行在输入文件同目录下创建 `tts-YYYYMMDD-HHMMSS/` 目录:
| 文件 | 说明 |
|------|------|
| `input.raw.txt` | 原始输入(只读) |
| `input.txt` | 标点规范化后的输入(只读) |
| `terms.json` | 全流程唯一结构化工作文件 |
| `normalized.txt` | 规范化后的文本 |
| `output.wav` | TTS 输出音频 |
| `output.title` | MiniMax 返回的字级时间戳字幕 JSON |
| `output.srt` | SRT 字幕文件 |
## 快速开始
### 1. 安装 Skill
通过 `npx skills add YangAgent/minimax-tts-pipeline` 命令安装
### 2. 配置 API Key
在 `skills/minimax-tts-pipeline/.env` 中配置:
```
MINIMAX_API_KEY=your_api_key_here
```
首次使用时 Skill 也会自动检测并提示输入。
### 3. 使用
在 Agent 中触发 Skill,提供文本文件路径即可:
> 使用 MiniMax 生成口播音频,内容文件路径:/path/to/your/script.txt
### 4. 自定义发音规则
支持通过对话管理发音规则,规则持久化到 `user-rules.json`:
- 添加:`"Qwen 都读作千问"`
- 查询:`"看看有哪些发音规则"`
- 删除:`"删掉 Qwen 的规则"`
- 修改:`"把 Qwen 的读法改成千问三"`
用户规则优先级最高,各步骤处理时会优先采用。
### 5. 调整声音参数
修改 `scripts/call_tts.py` 中 `voice_setting` 对象:
| 参数 | 说明 | 范围 | 默认值 |
|------|------|------|--------|
| `voice_id` | 音色 ID | 见 MiniMax 文档 | `male-qn-qingse` |
| `speed` | 语速 | `[0.5, 2]` | `1` |
| `vol` | 音量 | `(0, 10]` | `1` |
| `pitch` | 语调 | `[-12, 12]` | `0` |
## 项目结构
```
skills/minimax-tts-pipeline/
├── SKILL.md # Skill 定义(触发条件、工作流、约束)
├── .env # MiniMax API Key
├── user-rules.json # 用户自定义发音规则
├── scripts/
│ ├── normalize_punctuation.py # 标点规范化
│ ├── scan_terms.py # 候选词提取
│ ├── validate_terms.py # terms.json 校验
│ ├── generate_normalized.py # 生成规范化文本
│ ├── call_tts.py # 调用 MiniMax TTS API
│ └── title_to_srt.py # 生成 SRT 字幕
└── references/
├── pronunciation-rules.md # 发音规则速查
├── manage-user-rules.md # 用户规则管理指引
├── api-voice-settings.md # API 声音参数说明
├── step-1-normalize.md # Step 1 操作指南
├── step-2-reading.md # Step 2 操作指南
└── step-3-review.md # Step 3 操作指南
```
## 设计原则
- **LLM 只改 terms.json**:文本替换、tone 生成、API 调用全部由 Python 脚本执行
- **单文件工作流**:全流程只维护一份 `terms.json`,各步骤直接修改同一文件
- **阶段校验**:每个阶段完成后运行校验脚本,失败则停止,不进入下一阶段
- **不过度控制**:MiniMax TTS 本身能正确朗读大部分常见英文词,只为真正容易读错的词添加 tone 规则
## 依赖
- Python 3.10+
- `requests` 库
- MiniMax API Key(Speech 2.8 Turbo 模型)