Qwen3-TTS 语音生成
SkillSearchGenerate voiceover speech (TTS) with Qwen3-TTS on an AutoDL GPU instance. Use when the user needs narration, voiceover, dubbing, line reading, text-to-speech, a specific voice style (e.g., sweet girl voice, deep male voice, mature female voice), cloning someone's voice, or adding dialogue/narration
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Qwen3-TTS 语音生成 skill
What this skill tells your AI
The instructions your AI receives, as published by mini-yifan/open-source-video-gen-skill in skills/qwen3-tts/SKILL.md and read by ahel’s review.
在 AutoDL 应用实例(与 MiniMax H3 视频同一台机器)上,通过 ComfyUI 的
ComfyUI-TD-Qwen3TTS 节点调用 Qwen3-TTS(1.7B,24kHz 单声道)生成语音。
一条命令完成:构建工作流 → SSH 提交 → 轮询 → 下载落盘 → ffprobe 校验。
三种音色模式
| 模式 | 参数 | 适用 | 模型 |
|---|---|---|---|
| VoiceDesign(默认首选) | --voice-design "音色描述" | 任意想象得到的声线:甜妹音、御姐音、低沉男声、少年音、机器人音……用一句话描述说话人+语气 | VoiceDesign |
| CustomVoice | --speaker Serena --instruct "风格指令" | 要稳定复用一个固定音色时;内置 Aiden/Dylan/Eric/Ono_anna/Ryan/Serena/Sohee/Uncle_fu/Vivian,instruct 可微调语气 | CustomVoice |
| VoiceClone | --clone 参考音频 --ref-text "参考音频说的话" | 克隆指定人声;ref_text 必须是参考音频里实际说的内容,实在没有才加 --x-vector-only(相似度下降) | Base |
用户说「随便来个甜妹声」这类模糊需求时直接用 VoiceDesign,把声线特征翻译成 描述(年龄段+性别+音色质感+语气+语速),不要追问。
用法
实例生命周期由 autodl-app-instance 管理:先 boot,再跑本脚本,全部结束后 off --wait。
本脚本不开关机。Token 读取规则与 autodl_app.py 相同:环境变量,缺时自动回退读
~/.config/autodl.env 私有文件。
SCRIPT="$HOME/.zcode/skills/qwen3-tts/scripts/generate_tts.py"
# 1) 文字设计音色:甜妹声 5 秒旁白
python3 "$SCRIPT" --uuid <UUID> \
--text "哈喽~今天也要开开心心的哦,我们一起加油吧!" \
--voice-design "一个二十岁左右的年轻女性声音,甜美软萌,音色清亮可爱,语气活泼俏皮" \
--out 旁白01.flac
# 2) 内置音色 + 风格指令
python3 "$SCRIPT" --uuid <UUID> \
--text "欢迎回到本频道。" \
--speaker Serena --instruct "沉稳大气,语速适中" \
--out 开场白.flac
# 3) 克隆参考音频的音色
python3 "$SCRIPT" --uuid <UUID> \
--text "这段台词用她的声音读出来。" \
--clone 参考音频.flac --ref-text "参考音频里实际说的话" \
--out 克隆台词.flac
其他参数:--language(默认 Auto)、--timeout(轮询超时,默认 900s)、
--prefix(服务器端文件前缀)。
与 MiniMax H3 视频批次配合
- 共用同一批次生命周期:H3 视频批次已
boot的实例直接跑 TTS,绝不单独开关机; 视频 job 轮询等待窗口正是跑 TTS 的时机。批次终态仍由autodl-app-instance统一off。 - TTS 音频进 H3 音频槽时走
minimax-h3的槽位纪律:不留空槽、占位文件垫其他音频槽, 防止服务器模板音频(如p2.MP3)污染生成。 - 只做后期配音(不进 H3 生成)时,把 TTS 文件混入成片音轨属于关机后的本地活。
- H3 自带对白能力。用户没有明确要旁白/替换声线时,不要默认给每段视频配 TTS。
时长与文本
- 中文语速约 4–5 字/秒:5 秒 ≈ 20–25 字。按目标时长控制台词字数。
- 想要「~」「~啦」「么么哒」这类软萌语气,直接写进文本,模型会带出来。
- 输出为 24kHz 单声道 FLAC。要 mp3/wav 时本机用 ffmpeg 转(脚本
--out x.mp3会自动转, 无 ffmpeg 时保留 FLAC 并提示)。
硬规则
- 首次生成要加载 3.8GB 模型(约 40–60s),同模型连续生成每次仅十几秒;不要因为第一次慢就中断重试。
--ref-text与参考音频内容不符会显著降低克隆质量;--x-vector-only是兜底不是捷径。- SSH 密码只经环境变量注入 expect,Token、密码不写入任何文件、提示词或日志。
- 脚本会自动检查实例是否安装了
TDQwen3TTSModelLoader节点;报TTS_NODE_MISSING时 换预装节点与模型的实例,不要试图在视频实例上临时装节点。 - 下载后脚本自动校验 FLAC 头与大小;最终交付前用 ffprobe 确认时长。
依赖缺失处理
| 缺失 | 动作 |
|---|---|
AUTODL_TOKEN | 按 autodl_app.py 报错转达申请与存储指引(~/.config/autodl.env),不启动生成 |
| 实例无 Qwen3TTS 节点/模型 | 阻断并说明需要预装节点与三个 1.7B 模型的实例;不在用户实例上临时改装 |
expect 缺失 | macOS 自带;Linux 提示 apt install expect |
| 克隆缺 ref_text 且拒绝 x-vector-only | 向用户要参考音频的文字内容,不要静默降级 |
在 short-drama-production 管线内:TTS 配音是可选增强(H3 视频自带音轨与对白)。
失败时按上表说明原因,交付自带音轨的母版并把配音阶段标记待更新,不伪装完成。
Signals
- GitHub stars
- 21
- Forks
- 4
- Last commit
- Sep 2026
ahel review
K1binfo
installs-packages
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
qwen3-tts- Source
- github.com/mini-yifan/open-source-video-gen-skill