SoulX-Transcriber
端到端多说话人转录框架,三阶段 Speech LLM 联合建模说话人分割与语音识别
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
端到端多说话人转录框架,三阶段 Speech LLM 联合建模说话人分割与语音识别
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你参加了一场 4 小时的多人研讨会,会后需要整理一份完整的文字记录。会议中有多位发言人交替讨论,有时两人同时说话打断对方,还有嘉宾穿插提问——这是真实工作中最常见的声音场景。然而,当你想让 AI 自动完成这项工作时,市面上的工具往往会给出令人失望的结果:说话人身份张冠李戴,时间戳漂移数秒,语音识别错误百出。
这背后有一个根本性的技术难题:传统方案将说话人分割(Diarization)和语音识别(ASR)拆成两个独立步骤,每一步都会积累误差,最终导致整个系统崩溃。SoulX-Transcriber 正是为解决这一问题而生——它将两个任务统一到一个端到端框架中,让 AI 能够像人类一样「听清谁在说什么时候说了什么」。

图1:SoulX-Transcriber 项目 Logo
SoulX-Transcriber 由Soul AI Lab(Soul 人工智能实验室)与西北工业大学 ASLP 实验室(Audio, Speech and Language Processing Group)联合研发,论文于 2026 年 6 月发布至 arXiv(arXiv:2606.02400)。该项目的核心作者团队来自国内顶级语音研究机构,第一作者 Yuhang Dai 同时隶属于两所机构。
从技术脉络来看,SoulX-Transcriber 基于 Qwen3-Omni-30B-A3B-Instruct(即 Qwen3 全模态大模型的 MoE 变体)进行构建,属于当前大模型时代 Speech LLM 方向的代表性工作。与市面上主流的闭源 API(如 Gemini 2.5/3.1-Pro)相比,SoulX-Transcriber 强调的是本地可部署、开源可复现,且在特定 benchmark 上实现了显著的性能超越。
SoulX-Transcriber 的推理管线采用 vllm-omni 作为底层推理引擎,这是一个支持多模态 LLM 高吞吐量推理的 vLLM 扩展项目。整个推理流程包含三个级联阶段:
Stage 0 — Thinker(LLM 推理阶段)
Thinker 是整个系统的「大脑」,基于 Qwen3-Omni-30B-A3B MoE 架构。它接收音频信号作为输入,通过多模态理解能力直接输出结构化的文本结果,包含时间戳、说话人标签和转写文字。Thinker 的输出格式为:[start_time --> end_time] Speaker X: text,精确到毫秒级别。这一阶段完成的是说话人分割与语音识别的联合建模,而非传统的串行流水线。
Stage 1 — Talker(Embedding → 声码器编码阶段)
Talker 将 Thinker 的文本 Embedding 序列解码为 RVQ(残差向量量化)编码序列。它是一个 8 层的轻量级解码器,负责将离散的语言表征转换为声学码本索引。
Stage 2 — Code2Wav(声码器波形生成阶段)
Code2Wav 是最终的声音合成阶段,接收 RVQ 编码并生成真实的音频波形。整个管线只需一次音频输入,经过三阶段处理后同时得到转写文本和对应的音频。
这种「思考→编码→合成」的三阶段设计体现了模块化解耦的工程思路:每个阶段可以独立优化,也便于后续针对不同硬件配置进行算力分配。
SoulX-Transcriber 并非简单地在预训练模型上做推理,而是采用了精心设计的两阶段训练策略:
第一阶段:说话人感知的多任务持续预训练
在继续预训练阶段,模型同时学习说话人分类和时间边界感知两个辅助任务。这相当于让模型在看到一段新音频时,学会「拆解谁的声音片段在哪里」这项基础能力。该阶段有效缓解了同性别说话人混淆问题——这是传统 cascade 方案的顽疾之一。
第二阶段:面向 SDR(说话人分割+识别)的监督微调
在精调阶段,模型直接以端到端的方式学习从音频到「说话人-时间戳-文本」三元组的映射。由于第一阶段已经建立了良好的说话人表征基础,第二阶段能够专注于优化转写质量和边界精度。
SoulX-Transcriber 在多个国际公开数据集上取得了领先成绩:
| 数据集 | 说话人语言 | 主要指标 | SoulX-Transcriber | Gemini-3.1-Pro | Qwen3.5-Omni |
|---|---|---|---|---|---|
| AISHELL-4 | 中文 | DER↓ | 2.89 | 24.84 | 22.33 |
| AliMeeting | 中文 | DER↓ | 5.39 | 30.76 | 26.46 |
| AMI-SDM | 英文 | DER↓ | 11.67 | 40.40 | 30.05 |
DER(Diarization Error Rate,越低越好)
从数据可以看出,SoulX-Transcriber 在说话人分割误差率(DER)上,相比主流闭源 API 有数量级的优势。尤其在中文会议场景(AISHELL-4、AliMeeting)上表现尤为突出,这与其基于中文语音数据训练的背景高度相关。
项目还包含一个基于 Agent 的多说话人对话模拟管线,用于生成高质量的训练数据。这一管线分为以下步骤:
这套模拟管线的设计思路颇为巧妙:通过说话人属性驱动的参考音频匹配,确保合成对话中每个说话人的声音风格前后一致、贴近真实。
SoulX-Transcriber 基于 30B 参数的 MoE 模型,推荐配置为 2× NVIDIA H100-80GB GPU。官方验证配置在单卡 H100-80G 上可运行 Stage 0(Thinker),但完整三阶段推理需要多卡支持。如果只有消费级 GPU,几乎无法运行——一个 30B MoE 模型的推理本身就对显存有极高要求。
项目推荐使用 vllm-omni 进行推理,这是一个从 vLLM 分叉出来的项目,需要从源码编译安装。安装过程包括:创建 uv 虚拟环境、编译 vLLM、安装 vllm-omni 可选组件(vllm-omni[demo] 包含 Gradio Web UI)。
模型权重托管在 HuggingFace(Soul-AILab/SoulX-Transcriber)和 ModelScope 上,通过 modelscope download 命令下载。需要注意的是,由于模型体积较大(30B 级别),下载过程可能需要较长时间。
# 进入 vllm_omni 环境
source your_env_path/vllm_omni/bin/activate
# 运行推理
bash ./inference.sh
脚本会自动从 ModelScope 下载模型权重,然后对 data/audios/movie.wav 进行处理,输出包含说话人标签和时间戳的转写结果。
| 层级 | 技术选型 |
|---|---|
| 基座模型 | Qwen3-Omni-30B-A3B-Instruct (MoE) |
| 推理引擎 | vllm-omni(支持多模态 LLM 的 vLLM 分支) |
| 开发语言 | Python 3.10+ / 3.12 |
| 包管理 | uv(推荐)/ pip |
| 训练框架 | ms-swift(ModelScope 开源微调工具) |
| 声码器 | 8层 RVQ Codec |
| 文本匹配 | BGE-M3 Embedding |
| 对话合成 | SoulX-Podcast + MOSS-TTSD |
尽管 SoulX-Transcriber 取得了令人瞩目的 benchmark 成绩,但在实际部署中仍有以下挑战:
GPU 资源门槛极高。30B MoE 模型配合三阶段推理管线,对显存和算力的要求远超普通研究机构能够承受的范围。没有 H100 级别的硬件,基本无法在生产环境运行。
vllm-omni 编译复杂度。从源码编译 vLLM 对很多开发者而言本身就是一道门槛,项目文档虽然完整,但依赖链较长,排查编译错误需要一定经验。
仅支持中英双语。虽然项目在中文场景表现优异,但对于日语、韩语等其他语言的泛化支持尚未公开验证。
训练脚本未公开。目前仅发布了推理代码,训练脚本和完整数据集尚在筹备中,这对于希望复现训练流程的研究者是一个限制。
SoulX-Transcriber 的出现标志着端到端 Speech LLM 在实际任务中开始超越级联方案。长期以来,学术界和工业界普遍认为端到端方法在大模型时代才有可行性——小模型时代的数据和建模能力不足以支撑端到端学习。SoulX-Transcriber 证明了基于 Qwen3-Omni 的强基座能力能够支撑起「一个模型解决所有问题」的愿景。
从趋势上看,多模态大模型正在快速渗透语音领域。Gemini、Qwen 等大厂都在推进 Audio-LLM 能力,而 SoulX-Transcriber 代表了学术界在开源方向上的快速跟进。随着推理成本下降和硬件迭代,这类端到端方案的实用价值将进一步凸显。
本文档基于 SoulX-Transcriber GitHub 仓库(Apache 2.0 许可)、arXiv 论文及 Demo 页面综合分析生成。