Tencent Hunyuan AuK 语音生成与编辑全攻略 · 干货攻略
- 链接: https://x.com/_akhaliq/status/1932500627265006730
- 分类: x-tips
- 来源: X @_akhaliq
- 作者: Jay
- 更新: 2026-09-12
- 仓库: Tencent-Hunyuan/AuK
这是什么
AuK(发音接近 "auk",一种海鸟)是腾讯混元(Tencent Hunyuan)于 2026 年 9 月 9 日 开源的多任务语音生成与编辑统一模型,arXiv 论文编号 2609.08936,MIT 许可证,代码与权重全部公开。
核心定位:一个模型、一套指令格式,覆盖 5 大类 20+ 任务,不再需要为每个子任务部署独立模型。
为什么值得关注
一个接口替代 16 个工具
传统语音系统把 TTS、变声、去混响、情感编辑、语速调节、语音分离……拆成独立管线。AuK 用纯自然语言指令 + 可选参考音频统一处理,GitHub README 明确列出了以下任务族:
| 类别 | 代表任务 |
|---|---|
| 语音生成 | Zero-shot TTS(声音克隆)、Instruct TTS(纯文字音色描述生成) |
| 内容编辑 | 语音内容改写、歌词编辑(保留旋律和音色) |
| 声学编辑 | 音高调节、语速调节、音量调节 |
| 副语言编辑 | 情感变换、音色变换、去口音、耳语↔正常语音转换、非语言声音增删 |
| 增强与分离 | 语音增强、语音分离、音乐人声分离、目标说话人提取 |
架构上的硬核工程
官方技术报告(arXiv 2609.08936)披露了具体数字:
- 训练数据量:约 30.3 亿条指令-音频对 + 195 万小时有效监督信号
- 参数规模:1.5B(15 亿)
- 模型架构:三层解压 conditioning: 1. MLLM Encoder(Qwen2.5-Omni-3B Thinker)负责语义理解,推理时 frozen 2. Joint VAE:在语音、通用音频、音乐上联合训练,50 Hz / 64 通道 latent 3. Hybrid Rectified-flow Transformer:Flux-style MMDiT(10 个双流块 + 20 个单流块,dim=1536,24 头),接着统一单流 DiT 块做生成
- 训练策略:先生成-only 热启动 → 联合生成-编辑预训练 → 后训练阶段用人类反馈偏好优化(编辑方向)+ 基于强化学习的语音生成优化
AuK-Flash:4 步推理的工程压缩
全量 AuK 需要 32 步推理(Euler 采样器,CFG=2.0)。AuK 团队用 一致性蒸馏(Consistency Distillation)+ 任务路由解耦 DMD(Task-routed Decoupled DMD) 将步数压到 4 步,且 无需 CFG(Classifier-Free Guidance),在匹配条件下达到 4.5 倍 wall-clock 加速(arXiv 原文;第三方 orcarouter.ai 验证一致)。
评测结果(官方数据,arXiv + alphaXiv 交叉验证)
- Zero-shot TTS(Seed-TTS-Eval):WER 2.65%,SIM 分数 0.795(官方声称"最低 WER / 最高相似度",alphaXiv 独立复述一致)
- Instruct TTS:在 DSD(Dumping/Style/Description)评测中优于此前所有模型
- 编辑任务(MMAE-Speech EMR、SpeechEditBench):各编辑类型平均领先
- 增强/分离:DNSMOS-OVRL、UTMOS、DNS Challenge、Libri2Mix 上均有竞争力表现
生态支持:Day 0 SGLang-Omni 集成
开源当天 SGLang-Omni 即支持 AuK 和 AuK-Flash,提供服务端部署路径,降低生产集成门槛。
核验过程
| 说法 | 来源 | 核验结论 |
|---|---|---|
| 1.5B 参数,MIT 许可证 | GitHub README Tencent-Hunyuan/AuK | ✅ 确认 |
| 2026/09/09 开源 | GitHub README | ✅ 确认 |
| arXiv 2609.08936 | GitHub README → arXiv abs 页 | ✅ 确认 |
| 3.03B 指令对,195 万小时监督 | arXiv abstract | ✅ 确认(原文:~3.03B instruction-audio instances and 1.95M hours of effective supervision) |
| Qwen2.5-Omni-3B 作为 MLLM encoder | SGLang-Omni cookbook | ✅ 官方 cookbok 原文:Frozen Qwen2.5-Omni-3B Thinker |
| MMDiT 10 双流 + 20 单流块,dim=1536 | SGLang-Omni cookbook | ✅ 同上 |
| VAE 50 Hz,64 通道 latent | SGLang-Omni cookbook | ✅ 同上 |
| AuK 32 步推理,AuK-Flash 4 步,4.5x 加速 | arXiv abstract + SGLang-Omni cookbook | ✅ 两处一致;alphaXiv 独立引用亦一致 |
| AuK-Flash 无需 CFG | SGLang-Omni cookbook:factory nfe/cfg_strength/sway 被忽略 | ✅ 确认 |
| Zero-shot TTS WER 2.65%,SIM 0.795 | alphaXiv(技术报告解读) | ⚠️ 原帖主张,arXiv 摘要仅列出图表,未直接附表字数值;alphaXiv 引用准确但非原始论文章节,建议以官方论文图表为准 |
| HuggingFace / ModelScope 均已上线 | GitHub README 列明链接 | ✅ 确认 |
| SGLang-Omni Day 0 支持 | GitHub README | ✅ 确认 |
说明:WER/SIM 数字来自 alphaXiv 对论文的解读,arXiv 原文仅以图表呈现,第三方解读准确性高但未直接在官方摘要中出现,已在文中注明。
上手步骤
1. 安装依赖
推荐使用 uv(官方首选):
git clone https://github.com/Tencent-Hunyuan/AuK.git
cd AuK
uv sync
或使用 Conda:
git clone https://github.com/Tencent-Hunyuan/AuK.git
cd AuK
conda env create -f environment.yaml
conda activate auk
2. 下载权重
# 基础模型(约 6.1 GB)
huggingface-cli download tencent/AuK --local-dir ckpts/AuK
# 蒸馏快速版(约 6.1 GB)
huggingface-cli download tencent/AuK-Flash --local-dir ckpts/AuK-Flash
# MLLM Encoder(必须,推理时 frozen)
huggingface-cli download Qwen/Qwen2.5-Omni-3B --local-dir ckpts/Qwen2.5-Omni-3B
目录结构应为:
ckpts/
├── AuK/ # 包含 auk_base.safetensors + config.yaml
├── AuK-Flash/ # 包含 auk_flash.safetensors + config.yaml
└── Qwen2.5-Omni-3B/
⚠️ 提示:
text_encoder.开头的 key 加载时 missing 是预期行为——checkpoint 只含 DiT 和 Layer-Fusion 权重,MLLM Encoder 和 VAE 从独立路径加载。
3. CLI 推理(原生方式)
Zero-shot TTS(声音克隆):
auk-infer \
--audio assets/demo-input-audio/zero-shot-tts/ref.wav \
--instruction "Say the following with the same voice: 'Ladies and gentlemen, it is an honor to have the opportunity to address such a distinguished audience.'" \
--output out_zeroshot_tts.wav \
--gen_seconds 6.0
Instruct TTS(纯文字音色描述,无参考音频):
auk-infer \
--instruction 'Based on the following description: "A warm, relaxed female voice." The content to speak is: "Welcome home, how was work today?."' \
--output out_instruct_tts.wav \
--gen_seconds 3.0
Speech Enhancement(语音增强):(无需指定 gen_seconds,输出时长自动匹配源音频)
auk-infer \
--audio path/to/noisy_speech.wav \
--instruction "Enhance the speech: denoise, dereverberate, and make it sound natural and clear." \
--output out_enhanced.wav
4. Python API
from auk.infer.infer_auk import AukInfer, save_audio
# 基础模型
checkpoint = "ckpts/AuK/auk_base.safetensors"
config = "ckpts/AuK/config.yaml"
# 换成 AuK-Flash:
# checkpoint = "ckpts/AuK-Flash/auk_flash.safetensors"
# config = "ckpts/AuK-Flash/config.yaml"
engine = AukInfer(config, checkpoint)
def run_auk(instruction, output_path, audio_path=None, gen_seconds=None):
content = [{"type": "text", "text": instruction}]
if audio_path is not None:
content.append({"type": "audio", "audio": audio_path})
messages = [{"role": "user", "content": content}]
audio, sr = engine.generate(messages, gen_seconds=gen_seconds)
save_audio(audio, sr, output_path)
# 声音克隆
run_auk(
"Say the following with the same voice: 'Hello, this is a test.'",
"clone.wav",
audio_path="ref.wav",
gen_seconds=3.0,
)
# Instruct TTS(无需参考音频)
run_auk(
"Generate speech based on the following description: 'A cheerful young male voice.' The content to speak is: 'Hello world!'",
"instruct.wav",
gen_seconds=2.0,
)
5. SGLang-Omni 服务端部署
# 启动 AuK 服务
python -m sglang_omni.cli serve --model-path tencent/AuK --port 8000
# 或启动 AuK-Flash(4 步高速)
python -m sglang_omni.cli serve --model-path tencent/AuK-Flash --port 8000
调用示例(cURL):
curl http://localhost:8000/v1/audio/speech \
-H 'Content-Type: application/json' \
-d '{
"input": "Welcome home.",
"instructions": "warm, relaxed female voice",
"stage_params": {"auk_engine": {"gen_seconds": 3}},
"seed": 1234,
"response_format": "wav"
}' --output speech.wav
坑与适用边界
⚠️ 坑 1:Checkpoint 不含 Encoder 和 VAE
AuK/AuK-Flash checkpoint 仅含 DiT 和 Layer-Fusion 权重,MLLM Encoder(Qwen2.5-Omni-3B)和 VAE 必须从独立路径加载。缺少 text_encoder. keys 是正常行为,不是报错。
⚠️ 坑 2:gen_seconds 必须正确设置
Instruct TTS、内容编辑、语速编辑等任务需要显式指定输出时长;增强/分离类任务可省略(自动匹配源音频时长)。用错了会导致生成失败或时长不符预期。
⚠️ 坑 3:ComfyUI 有额外的 30 秒预算限制
使用 ComfyUI 集成时,参考音频 + 目标音频的总时长超过 30 秒会触发预算检查,建议长音频用例拆段处理。
⚠️ 坑 4:硬件门槛不低
1.5B 模型 + DiT + VAE + Qwen2.5-Omni-3B Encoder,推理显存需求较高。腾讯官方 OrcaRouter 博客明确标注硬件是真实约束。边缘设备建议直接用 AuK-Flash。
适用边界
| 场景 | 推荐 |
|---|---|
| 高质量语音生成、声音克隆 | AuK(32 步,质量优先) |
| 低延迟、实时应用、流式场景 | AuK-Flash(4 步,4.5x 加速) |
| 语音增强、去混响 | AuK(无 CFG 需求,效果稳定) |
| 边缘 / 移动部署 | 当前不推荐(模型体积大),关注后续量化版本 |
| 精确中文语音编辑 | 支持,但 prompt enhancer(中文指令模板)需参考 Cookbook |
一句话结论
腾讯 AuK 是目前开源生态中最完整的语音统一模型,1.5B 参数 + MIT 许可证 + SGLang-Omni Day 0 支持,AuK-Flash 以 4 步推理实现 4.5 倍加速,适合需要 TTS / 声音克隆 / 语音编辑能力且不愿维护多条链路的团队直接接入生产。
核验来源:GitHub Tencent-Hunyuan/AuK README + arXiv 2609.08936 摘要 + SGLang-Omni cookbook;WER/SIM 数字采自 alphaXiv 对论文图表的引用,存在以官方论文图表数据为准的保留空间。