一句话说了九秒,比赛已经换了场景

先看一个模拟的失败案例,数字为示例,用来说明机制,不来自真实比赛。

模拟场景 一场业余篮球赛的直播里,模型在 0:00 开始生成一段关于上一次快攻的描述,语音合成大约需要九秒才能念完。0:03 时场上发生了一次三分命中,比分已经改变。模型此时正在说话,新事件只能排队。九秒后这句话说完,队列里的新事件才被处理,等它说出“三分命中”,画面里已经是下一次进攻的中段。

这个案例里,没有任何一句话是错的:快攻确实发生过,三分也确实命中了。错的是顺序和时机。听众得到的印象是解说“慢半拍”,而且不停地在补课。换言之,实时解说的质量,不只由每一句话的内容决定,还取决于每一句话什么时候出现、占了多少时间。

近期研究把问题拆成了两半

最近公开的一些工作,开始明确把实时体育解说拆成两个子问题:说什么,以及什么时候说。过去很多解说生成的研究,默认输入是一段已经截好的视频,输出是一句描述,隐含的假设是“现在就是该说话的时候”。这个假设在离线数据集上成立,在直播里几乎从不成立。

其中一个值得注意的思路,是根据上一句话预计要占用的说话时长,动态推迟下一次生成,而不是每隔固定时间触发一次。用一句话概括:模型知道自己还要说多久,就不会在还没说完时又开始想下一句。公开的对比里,这类动态间隔的做法,比固定间隔更少出现与自己前一句重叠的情况。我们只引用这个方向性的结论,不复述具体数值,不同基准的设定差异很大。

固定间隔为什么先天不够用

固定间隔的逻辑简单:每两秒生成一次,或者每五秒。它的问题在于,比赛的节奏并不均匀。

  • 间隔取得短,比赛平淡时模型也被迫说话,容易重复、凑字数,甚至编出并不存在的细节。
  • 间隔取得长,比赛密集时事件来不及覆盖,重要的连续动作被合并成一句笼统的概括。
  • 无论长短,语音的实际长度都是变量,而间隔是常量,两者迟早会错位。

更麻烦的是,间隔是“模型侧”的节拍,而观众感受到的是“比赛侧”的节拍。一次关键的抢断发生在一秒内,模型的节拍恰好落在它前后,就会错过,或者说得太晚。这也是我们在实时解说时机的研究里把事件时间和生成时间分开记录的原因。

停顿感知:让“还在说”成为模型的已知状态

停顿感知的核心并不复杂:把“我现在还要说多久”作为一个显式状态,让下一次生成与它挂钩。听起来像一个工程细节,实际上改变了解说系统的结构。生成不再是被定时器驱动,而是被“说完了”与“有值得说的新事件”这两个条件共同驱动。

模拟时间 场上事件 固定间隔的表现 停顿感知的表现
0:00 一次普通的传球组织触发生成,开始一句长描述估计这句话较长,先标记“占用中”
0:03 三分命中,比分变化 新事件排队,等待下一次触发 比较事件优先级,判断是否打断或压缩当前句
0:06 回合转换,双方回防 仍在说第一句,画面已过期 当前句已结束,优先播报得分,其余留白

这张表也点出了停顿感知没有解决的部分:它决定的是“什么时候能说”,而“该不该打断正在进行的句子”仍要一套单独的判断,这就引出了事件优先级。

流式多模态模型带来的新麻烦

把大模型接到直播流上,除了停顿,还有几件事同时发生。第一是延迟,从画面采集到语音输出的每一环都会消耗时间,这在解说延迟的拆解里逐环写过。第二是上下文过期:模型手里的画面描述是几秒前的,而比赛在继续,系统需要知道哪些信息已经不该再说。第三是事件优先级:得分、犯规、伤病、换人、普通回合,重要程度不同,同时到达时必须有取舍。第四是流式记忆,模型得记住前面发生过什么,才能说出“这是本节第三个三分”,但记忆越长,更新与检索的成本也越高。

这些问题彼此牵连。压缩延迟,可能牺牲识别的稳定性;扩大上下文,可能让过期信息更难清理。公开研究里,这几个方向目前基本是各自推进的,真正把它们放进同一个调度框架里的工作仍然较少。

半岛体育的理解:调度层要独立出来

我们目前的看法是,停顿不应该由语言模型“自己感觉”,而应该由一个独立于语言生成的调度层管理。这个调度层大致负责三件事:记录当前句子的预计占用时间,给到达的事件打优先级,决定是等待、插入、压缩还是丢弃。

丢弃是最容易被忽视的选项。一些事件在它变得可说的时候,已经过期了。硬要补一句,反而让直播更混乱。这一点与过期上下文的处理是同一个思路:宁可少说一件事,也不要把已经过去的画面讲成正在发生。

另外要说明,这一部分属于设计与研究方向,具体的调度规则仍在模拟与回放数据上迭代,我们并不声称它在真实直播里已经稳定。

沉默也是内容,但它很难被评价

还有几件我们认为暂时没有好答案的事。

首先,预计说话时长本身就是估计值,语音合成的实际时长会随语速、数字读法和标点变化。估计偏短,还是会重叠;估计偏长,又会留出过长的空白。其次,静默容易被用户理解为系统卡住了,尤其在没有画面提示的音频场景里,如何让沉默看起来是有意为之,而不是故障,需要产品设计一起配合。再次,不同风格对停顿的要求并不相同:简洁风格应该多留白,情绪风格在高潮处需要更紧的节奏,这与风格控制互相牵制。

最后是评价问题。一段解说“该不该在这里停”,很难有唯一答案,现有的评价方式多半还是围绕文本相似度,与听感存在落差。这也是我们持续观察这个领域的主要原因:语言生成已经走得很远,时机这门功课才刚刚被认真对待。