YM

yangagent/minimax-tts-pipeline-skill

API 开发
21 stars 质量 44 趋势 31

一个TTS Skill,用于将中文口播逐字稿文本通过 MiniMax TTS API 生成高质量音频,自动处理多音字、英文缩写、品牌名、版本号等高频发音错误。

概览

一个TTS Skill,用于将中文口播逐字稿文本通过 MiniMax TTS API 生成高质量音频,自动处理多音字、英文缩写、品牌名、版本号等高频发音错误。 每次运行在输入文件同目录下创建 tts-YYYYMMDD-HHMMSS/ 目录: 通过 npx skills add YangAgent/minimax-tts-pipeline 命令安装 使用 MiniMax 生成口播音频,内容文件路径:/path/to/your/script.txt - 添加:"Qwen 都读作千问" - 查询:"看看有哪些发音规则" - 删除:"删掉 Qwen 的规则" - 修改:"把 Qwen 的读法改成千问三" 修改 scripts/call_tts.py 中 voice_setting 对象: - :文本替换、tone 生成、API 调用全部由 Python 脚本执行 - :全流程只维护一份 terms.json,各步骤直接修改同一文件 - :每个阶段完成后运行校验脚本,失败则停止,不进入下一阶段 - :MiniMax TTS 本身能正确朗读大部分常见英文词,只为真正容易读错的词添加 tone 规则 - Python 3.10+ - requests 库 - MiniMax API Key(Speech 2.8 Turbo 模型)

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 模型)
在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add yangagent/minimax-tts-pipeline-skill
新手?先看 mcpskill.org 教程 →