实时转录终于不闪字幕了

过去十年实时 ASR 一直背着个难听的包袱:模型先说一句话,然后立刻改口。直播字幕闪一个 "你好",等半秒,变成 "你好,很高兴见到你";下游 NLP 流水线被持续漂移的文本逼到重复做状态机;LLM 智能体每收到一段新稿就要把之前的推理重做一遍。网易有道新开源的 Confucius4-R2T2 押的方向相反:流式模型理应一锤定音,签完就改不动。

R2T2 短写是 "Real Real-Time Transcription",这个绕口令本身是介绍词——市面上大多数 "实时 ASR" 实际上是伪流式,输出会随着后续音频被改写。R2T2 建立在开源的 Qwen3-ASR 之上(网易有道官方 X 公告给出 1.7B 参数的开源口径),在训练数据侧引入稳定前缀数据、强制时序对齐数据,以及 token 级音频切分,模型只把"有把握"的部分送出来,一旦确定就锁死。解码块的长度可以从 80 ms 到 2 s 自由配,业务方按场景自己拿延迟换吞吐。

这个赌注在基准测试里站得稳。官方自报的英语流式结果(AMI、Giga-clean、LS-clean、SPGI、TED-LIUM 等)在 160 ms 块长下,与离线版 Qwen3-ASR 基线的差距只有约 2 个百分点;汉语端(Wenet-net、Wenet-meeting、SPEECHIO)领先离线约 0.9 到 2.0 个 CER,仍然在做真正的流式推理。注意一个细节:这些数字的前提是 R2T2 在生成期间不被允许回头修改自己已经说出口的 token。官方把达成这一点的关键归到一个叫 Longest Stable Prefix(LSP)的学习范式——决定什么时候这段前缀已经稳得可以输出,什么时候需要再等等更多音频上下文。

下游稳定是个比基准更值钱的胜利。直播字幕不再因为说话人继续开口而跳字;接 ASR 流水的 LLM 智能体,可以在"已确认文本"上挂工具调用逻辑,不用每 250 ms 重跑一次状态机;同声传译的对齐缓冲保持单调。客服、无障碍字幕、语音智能体这些最被实时转写折磨的场景,正好是 R2T2 最对准的目标。

让它不只是一个演示,是把它做成开源可投产。两个抓手:代码以 Apache 2.0 释出,vLLM 推流后端再加一个现成的 WebSocket 服务(ws_server.py)和一个参考客户端;2B 参数权重(基座是 Qwen3-ASR-1.7B)走网易的研究友好许可证。Docker 路径也省心——用官方 qwenllm/qwen3-asr 镜像起好容器,ws://localhost:8272/asr_stream_api_v1 直接接 16 kHz 单声道 PCM,每帧约 160 ms。

往大图里看,2026 年的流式 ASR 车道已经闹起来:微软 VibeVoice 7B 主攻说话人分离,Meta 的 Muse Voice Transcribe 把流式、20+ 说话人分离、端点检测塞进一个模型,NVIDIA Nemotron 3.5 ASR 把 40 种语言照顾到。R2T2 走了另一条互补赛道:多语种流式 + append-only 稳定输出,不在说话人和语种上堆。官方口径说自己"在开源流式 ASR 中达到 SOTA,延迟上和闭源系统有竞争力"。真正决定它分量的是接下来 6 个月的端到端数字:当下游的语音智能体不再是"听说错再改一遍"而是"听一次就照办",这条流水线到底能省下多少工程?这个数字才能决定"稳定前缀"会不会成为所有后续流式模型的默认能力。