微软开源7B流式说话人转写,两秒出字会议cpWER优于Azure

VibeVoice-ASR-Streaming Technical Report

Yujie Tu, Zhiliang Peng, Jianwei Yu, Li Dong, Songchen Xu, Yaoyao Chang, Wenhui Wang, Zilong Wang, Zehua Wang, Yan Xia, Jiajun Zhang, Xie Chen, Furu Wei

eess.AS

2026-09-03

微软把离线VibeVoice-ASR改成音频块与已生成文本交错的流式模型。7B五套平均WER24.66,说话人指标13项里12项最优,期望延迟2秒。

这篇在解决什么

会议转写要同时给出「说了什么」和「谁说的」,而且要边说边出,不能等整段录完。离线的 LLM 方案已经能把 ASR 和说话人标注捏成一次生成,VibeVoice-ASR、MOSS Transcribe Diarize、SoulX-Transcriber、SpeakerLM 都走这条路,但它们读完整段录音才吐字。

另一边,流式 Speech-LLM 已经能按块吃音频、带着上文继续写,但多半只做单说话人。流式多人系统则通常另挂说话人分支、说话人缓存或在线 diarization。说话人标注对历史特别苛刻:当前块里的人可能几分钟前才第一次出现,丢掉历史就得重新引入外部说话人库。这篇要在一个模型里同时满足流式和「谁说了什么」。

方法

VibeVoice-ASR-Streaming 建在离线 VibeVoice-ASR 上。24 kHz 波形经冻结的 Acoustic 和 Semantic 双 tokenizer,每 133.3 ms 一帧,拼进可训练的 Qwen2.5 骨干。输入按块交错:音频块、对应的带说话人文本、下一块音频。每块后面固定跟 4 帧、约 0.5 秒的 lookahead,再开始写这一块的字。

说话人用首次出现的序号,后面复用同一标签。重叠语音被串成相邻的带标签片段,不是并行流。可选热词、人名、术语可以在会话开始时注入,全程可见。

训练分三步。先离线多说话人,再切到交错流式格式做预训练,约 42 万小时中英语音;最后用约 1.3 万小时公开训练集加合成会议数据精调。合成数据有 50,884 条、4,519.6 小时,专门叠说话人、加房间脉冲响应。15 帧(2.0 秒)和 22 帧(2.9 秒)两套配置各自训练。发布的是 1.5B 和 7B,默认报 7B、22 帧。

结果

识别不看说话人时,7B 在 AliMeeting、AISHELL-4、AMI-IHM 最好,AMI-SDM 输给 Gemini 3.5 Transcribe Live。五套平均 WER/CER:

系统五套平均
VibeVoice-ASR-Streaming 7B24.66
Gemini 3.5 Transcribe Live25.23
GPT Realtime Whisper39.31
GPT Live Transcribe40.55
ElevenLabs Scribe v2 Realtime41.39

带说话人的 cpWER/cpCER,13 个设置里 12 个最好或并列最好。相对 Azure ConversationTranscriber,四套会议改善 2.39 到 12.45 点;MLC-Challenge 九语平均从 27.06 降到 22.75。延迟是算法期望 2.00 秒,Azure 实测 8.21 秒,Google STT 首次标签 9.12 秒、整段改完要 51.06 秒。葡萄牙语是那一项没赢的:Azure cpWER 36.11,这篇 38.25。

流式相对离线母模型有代价:WER 升 0.75 到 3.53 点,cpWER 升 5.13 到 6.67 点,说话人这一头掉得更狠。块从 15 帧加到 22 帧,7B 五套平均 WER 降 1.46、cpWER 降 4.06;1.5B 升到 7B,22 帧下 cpWER 再降 12.76 点。标签放段首或段尾几乎一样,平均 cpWER 31.55 对 31.56。lookahead 从 0 加到 4 帧,平均 WER 从 27.18 降到 24.66。7B 在 15 帧、单卡 A100 上每块解码 146 到 208 ms,RTF 不超过 0.104。单说话人短音频不是它的主场,22 帧四套平均 5.76,和 X-ASR 的 5.77 持平。

为什么重要

语音助手一旦面对两个人以上,就必须边听边标说话人。这篇证明交错生成本身就能扛住说话人一致性,不必再挂 diarization 模块。权重和 vLLM 推理代码开源,2 秒延迟、RTF 0.1 这个量级已经能进实时链路。

它是从离线模型改出来的流式版,不是从零训一个流式系统。会议场景有用,单说话人短音频没有优势。识别平均只比 Gemini 好 0.57 点,真正拉开的是说话人和延迟。

局限与存疑

作者自己列了四条。语言覆盖被 Qwen3-ForcedAligner-0.6B 卡住,目前训练评测十种语言。长时间重叠会掉,因为解码器必须把重叠串成一条输出。发布权重最长支持 8 分钟,再长是算力而不是结构。2.00 秒是稳态期望,第一包要等完整一块加 lookahead,22 帧是 3.5 秒,15 帧是 2.5 秒。

对照也不完全公平。Azure 和 Google 拿到了语言先验,Google 还拿到了参考说话人数;VibeVoice 什么副作用信息都没给。评测录音截到 480 秒,正好贴着发布上限。和云 API 比的是识别加说话人,不是端到端产品体验。

术语

原文与代码

社区讨论

相关论文

全部论文解读