Skip to content

[P2][实时字幕] 长句译文落后语音约一整句 #3

Description

@Spc-jgs

现状(2026-09-04 实测)

打开设置里的「节奏诊断日志」,用真实语音跑了多轮,最后一轮 99 秒 34 句:

changesPerSegment avg=1.29 max=5
normalizedErasure=1.13          (re-translation 论文的朴素基线 2.11)
displayLag avg=1.56s p90=3.96s
firstToken avg=168ms

displayLag 量的是「字幕落后语音多少秒」。正常语速一句话 2-4 秒,所以中位数
约落后半句,p90 就是整整一句。按窗口长度分组能看到差距集中在长句:

 5-9 词:18 句,平均变 0.78 次,lag 0.78s
10-14 词:12 句,平均变 1.92 次,lag 1.48s
15+ 词:25 句,平均变 3.24 次,lag 2.54s   (占 41%,那轮 max 7.84s)

短句体感可接受,长句落后一整句。

与原问题的关系

原标题记的是「访谈场景约 2 秒端到端时差」。那一版的实际情况比 2 秒更差,
而且主要痛点不是延迟而是字幕反复重写(changesPerSegment 曾达 29.67、
rewriteRatio 94%)。那部分已经解决:

之前 现在
一句话在屏幕上变几次 29.67(max 76) 1.29(max 5)
译文改写占比 94% 59%
完整句子上字幕条 从不 每句

剩下的就是本 issue 现在记录的这一条:长句的端到端延迟

为什么它是结构性的

延迟由串起来的几段构成,长句每一段都更长:

  1. ASR 把 volatile 转成 finalized 要等;
  2. planner 攒够 6-12 词才切一个翻译单元;
  3. 长句要切成多个窗口,主行要等最后一个窗口定稿才翻页;
  4. 翻译时间随源文本长度增加;
  5. 展示层的阅读门槛按「这次改写要重读多少字」算,长译文门槛更高。

调参数已经到头——前几轮每次调整都是「这边好一点那边差一点」。真要往下压
需要改结构,方向大致有:

  • 让主行在 volatile 上就开始翻译,不等 finalized;
  • 按从句边界提前出译文,不等整个窗口定稿;
  • preview 与整句定稿共用一次请求,省掉一次往返。

验收边界(沿用)

  • 不得重新出现重复/错序源转录、stale 覆盖或 committed 字幕回写;
  • changesPerSegmentnormalizedErasure 不得因为降延迟而回升;
  • 有可复现的前后对照数据(诊断日志的会话总表);
  • 用户实机体验验收为最终门槛。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions