qwen3-tts-skills

围绕 Qwen3-TTS 提供本地 TTS 工作流。支持:单句语音生成(CustomVoice/VoiceDesign/VoiceClone)、长文稿批量配音生成(文章→配音稿JSON→批量TTS→合并)。适用场景:生成语音、有声书配音、视频旁白、多角色对话朗读、语音克隆。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "qwen3-tts-skills" with this command: npx skills add mu-zi-lee/qwen3-tts-skill/mu-zi-lee-qwen3-tts-skill-qwen3-tts-skills

Qwen3-TTS 技能

将文本转换为高质量语音的完整工作流。

🚀 快速开始

场景 1:单句语音生成

直接调用脚本生成语音:

# 中文语音(默认 Vivian 女声)
uv run qwen3-tts-skills/scripts/run_qwen3_tts.py custom-voice \
  --language Chinese \
  --text "你好,欢迎使用语音合成。" \
  --out-dir outputs

# 英文语音(默认 Ryan 男声)
uv run qwen3-tts-skills/scripts/run_qwen3_tts.py custom-voice \
  --language English \
  --text "Hello, welcome to text-to-speech." \
  --out-dir outputs

场景 2:长文稿批量配音

将文章转换为完整语音文件:

用户文稿 → [AI分析生成配音稿] → [用户审核] → [批量TTS] → 完整语音.wav

详见下方 长文稿批量配音 章节。


📋 模型选择指南

根据需求选择合适的模型:

模式模型适用场景命令
CustomVoiceQwen3-TTS-12Hz-1.7B-CustomVoice使用内置音色 + 情感控制custom-voice
VoiceDesignQwen3-TTS-12Hz-1.7B-VoiceDesign用自然语言描述想要的音色voice-design
VoiceCloneQwen3-TTS-12Hz-1.7B-Base克隆参考音频的声音voice-clone
TokenizerQwen3-TTS-Tokenizer-12Hz音频编解码tokenizer-roundtrip

内置 Speaker(CustomVoice 模式)

语言默认 Speaker说明
ChineseVivian女声,自然
EnglishRyan男声
JapaneseOno_Anna女声
KoreanSohee女声

🎙️ 单句语音生成

CustomVoice(推荐入门)

使用内置音色,可选情感控制:

uv run qwen3-tts-skills/scripts/run_qwen3_tts.py custom-voice \
  --language Chinese \
  --text "其实我真的有发现,我是一个特别善于观察别人情绪的人。" \
  --speaker Vivian \
  --instruct "轻松愉快的语气" \
  --out-dir outputs

参数说明

  • --language:Chinese / English / Japanese / Korean
  • --speaker:可选,不填则按语言自动选默认
  • --instruct:可选,情感/语气控制(如"开心地说"、"低沉缓慢")
  • --output:可选,指定输出文件名(默认自动生成时间戳文件名)

VoiceDesign(设计独特音色)

用自然语言描述想要的音色:

uv run qwen3-tts-skills/scripts/run_qwen3_tts.py voice-design \
  --language Chinese \
  --text "哥哥,你回来啦,人家等了你好久好久了,要抱抱!" \
  --instruct "体现撒娇稚嫩的萝莉女声,音调偏高且起伏明显。" \
  --out-dir outputs

注意:VoiceDesign 的 --instruct必填的,用于描述音色特征。

VoiceClone(语音克隆)

克隆参考音频的声音:

uv run qwen3-tts-skills/scripts/run_qwen3_tts.py voice-clone \
  --language English \
  --ref-audio "path/to/reference.wav" \
  --ref-text "参考音频的文本内容" \
  --text "要合成的新文本" \
  --out-dir outputs

参数说明

  • --ref-audio:参考音频文件路径或 URL
  • --ref-text:参考音频对应的文本(必填)
  • --x-vector-only-mode:可选,仅使用说话人特征(质量可能降低)

⚠️ 注意:VoiceClone 不支持 --instruct 情感控制。

Tokenizer(音频编解码)

用于音频的编码和解码验证:

uv run qwen3-tts-skills/scripts/run_qwen3_tts.py tokenizer-roundtrip \
  --audio "path/to/audio.wav" \
  --out-dir outputs

🎬 长文稿批量配音生成

将长文章、剧本、有声书内容转换为完整语音文件。

工作流程

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  Step 1         │     │  Step 2         │     │  Step 3         │     │  输出           │
│  AI分析文稿     │ ──→ │  用户审核修改   │ ──→ │  批量生成语音   │ ──→ │  完整语音.wav   │
│  生成配音稿JSON │     │  保存.json文件  │     │  FFmpeg合并     │     │                 │
└─────────────────┘     └─────────────────┘     └─────────────────┘     └─────────────────┘

Step 1:让 AI 生成配音稿

向 AI 说:"把下面这篇文章转成语音" + 贴上文章内容

AI 会按 dubbing-skills/SKILL.md 的规则:

  1. 智能切分(每段 200-300 字)
  2. 识别角色(【旁白】【小明】 等)
  3. 分析情感,生成 instruct
  4. 输出配音稿 JSON

Step 2:用户审核修改

检查 JSON 并调整:

  • 切分是否合理
  • 角色分配是否正确
  • 情感 instruct 是否合适
  • TTS 模式是否需要调整

保存为 article.dubbing.json 文件。

Step 3:批量生成语音

uv run qwen3-tts-skills/scripts/batch_dubbing.py \
  --input article.dubbing.json \
  --out-dir outputs

参数说明

参数说明默认值
--input配音稿 JSON 文件必填
--out-dir输出目录outputs
--silence-gap普通段落间静音(秒)0.3
--character-switch-gap角色切换时静音(秒)0.5
--clean-segments合并后删除中间片段保留

输出结构

outputs/
├── segments/
│   ├── seg_001_旁白.wav
│   ├── seg_002_小明.wav
│   └── ...
├── article.dubbing.json   # 配音稿备份
└── article_final.wav      # 最终完整语音

支持的三种模式

模式说明适用场景
custom-voice内置音色 + 情感指令大多数场景(默认)
voice-design自然语言描述音色需要特定音色(萝莉、大叔等)
voice-clone克隆参考音频需要真人/特定人声音

🔧 环境配置

推荐方式:直接用 uv run

脚本内已声明依赖,无需手动安装:

uv run qwen3-tts-skills/scripts/run_qwen3_tts.py -h

创建固定虚拟环境

uv venv --python 3.12
.\.venv\Scripts\activate
uv pip install -U qwen-tts

安装 FlashAttention 2(可选,降低显存)

uv pip install -U flash-attn --no-build-isolation

# 内存 < 96GB 时限制并行任务
MAX_JOBS=4 uv pip install -U flash-attn --no-build-isolation

使用条件

  • 硬件兼容 FlashAttention 2
  • 模型以 torch.float16torch.bfloat16 加载

安装 FFmpeg(批量配音必需)

Windows:

choco install ffmpeg -y

验证安装:

ffmpeg -version

📥 模型离线下载

使用 ModelScope(中国大陆推荐)

uv pip install -U modelscope
modelscope download --model Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --local_dir ./Qwen3-TTS-12Hz-1.7B-CustomVoice
modelscope download --model Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --local_dir ./Qwen3-TTS-12Hz-1.7B-VoiceDesign
modelscope download --model Qwen/Qwen3-TTS-12Hz-1.7B-Base --local_dir ./Qwen3-TTS-12Hz-1.7B-Base
modelscope download --model Qwen/Qwen3-TTS-Tokenizer-12Hz --local_dir ./Qwen3-TTS-Tokenizer-12Hz

使用 Hugging Face

uv pip install -U "huggingface_hub[cli]"
huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --local-dir ./Qwen3-TTS-12Hz-1.7B-CustomVoice
huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --local-dir ./Qwen3-TTS-12Hz-1.7B-VoiceDesign
huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-Base --local-dir ./Qwen3-TTS-12Hz-1.7B-Base
huggingface-cli download Qwen/Qwen3-TTS-Tokenizer-12Hz --local-dir ./Qwen3-TTS-Tokenizer-12Hz

🖥️ 本地 Web UI 演示

# 查看帮助
qwen-tts-demo --help

# 启动 CustomVoice
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --ip 0.0.0.0 --port 8000

# 启动 VoiceDesign
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --ip 0.0.0.0 --port 8000

HTTPS 支持(解决麦克风权限问题)

# 生成自签名证书
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/CN=localhost"

# 启用 HTTPS
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base \
  --ip 0.0.0.0 --port 8000 \
  --ssl-certfile cert.pem \
  --ssl-keyfile key.pem \
  --no-ssl-verify

📚 参考文档

文档说明
dubbing-skills/SKILL.md配音稿生成规范(AI 阅读用)
dubbing-skills/references/dubbing_format.md配音稿 JSON 格式详细规范
dubbing-skills/references/examples.md各种场景的配音稿示例
references/python_api.mdPython API 集成指南

⚡ 性能参数

uv run qwen3-tts-skills/scripts/run_qwen3_tts.py custom-voice \
  --device-map cuda:0 \
  --dtype bfloat16 \
  --attn flash_attention_2 \
  --language Chinese \
  --text "测试文本" \
  --out-dir outputs
参数说明
--device-map指定 GPU(如 cuda:0)或 CPU
--dtype数据类型:auto / bfloat16 / float16 / float32
--attn注意力实现:auto / flash_attention_2

❓ 常见问题

Windows 路径问题

绝对路径需要用双引号包裹:

uv run "C:/Users/lee/.config/alma/skills/qwen3-tts-skills/scripts/run_qwen3_tts.py" -h

SoX 警告

如果看到 SoX could not be found!,安装 SoX(不影响功能,只是消除警告):

choco install sox.portable -y

模型下载慢

优先使用 ModelScope(中国大陆)或提前下载到本地目录。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Downloader tiktok videos

Automatically downloads the latest video (or the N most recent) from a public TikTok account using yt-dlp. Use this skill whenever the user mentions TikTok,...

Registry SourceRecently Updated
0322
stoxca
General

Download-video-tiktok

Télécharge automatiquement la dernière vidéo (ou les N dernières) d'un compte TikTok public via yt-dlp. Utilise ce skill dès que l'utilisateur mentionne TikT...

Registry SourceRecently Updated
0232
stoxca
General

Portugal

Discover Portugal like a local with specific restaurants, hidden gems, wine regions, and tips beyond the tourist traps.

Registry SourceRecently Updated