Overtone Captions:一种用于响应式视频的多格式字幕系统

概述

Overtone 是一个字幕系统,旨在通过生成能够适应不同屏幕纵横比的响应式字幕,来解决僵化、一刀切的字幕问题。通过将单词级的时间戳和说话人数据存储在单个 .overtone.json 文件中,该系统允许开发者从单一源文件为各种播放器形状(例如 16:9 的桌面播放器和 9:16 的移动社交媒体格式)生成不同的字幕剪辑。

响应式字幕与格式化

传统的字幕格式(如 WebVTT 或 TTML)存储的是已完成的提示信息,这限制了播放器针对不同屏幕宽度有效重排文本的能力。Overtone 通过存储每个口述单词及其关联的时间戳和说话人身份来解决这一问题。

这种方法使系统能够针对不同的显示配置文件应用特定的换行规则。这些规则通过避免在弱词(如 "the" 或 "of")处换行、保持姓名和数字的完整性,并确保语音停顿反映为文本中的断点,从而优先考虑语言的可读性。该系统包含一个 video.js 插件,允许将这些响应式字幕无缝集成到基于 Web 的视频播放器中。

转录与处理流水线

Overtone 利用多引擎流水线来提高转录准确性和格式化质量:

  • 转录: 系统使用多个引擎来处理音频。基于文本的引擎 (gpt-transcribe) 处理单词识别,而计时引擎 (Azure AI Speech) 提供单词级的时间戳和说话人标签。
  • 校正: 基于 LLM 的编辑器会审查转录内容,以纠正听错的术语、识别说话人并标记关键词。它使用提供的上下文和词汇表来提高准确性,并将不确定的编辑标记出来以供人工审查。
  • 重切: 现有的字幕(SRT 或 WebVTT)可以使用 overtone recut 命令导入系统,该命令将提示信息重新处理为 Overtone 格式,而无需进行完整的重新转录。

性能与基准测试

Overtone 专注于最大限度地减少“静默失败”,并提高换行质量,使其优于标准的自动字幕生成方法。基准测试表明,与基于长度限制的标准算法相比,Overtone 显著降低了尴尬换行(即行尾以连词或介词结尾)的频率。该系统旨在具有可扩展性,支持各种转录提供商,并为特定语言的规则集提供模块化架构。

社区反馈

围绕该项目的讨论凸显了人们对现代媒体中自动字幕质量下降日益增长的挫败感。用户指出,当前的行业标准往往存在准确性差和缺乏人工监督的问题。关于未来功能的潜力,评论者表达了对更好地处理屏幕文本翻译的强烈愿望:

"我恳求你们确保有一种系统可以翻译屏幕上的外语文本——最理想的情况是,使用一种略有区别的字体。经常有人走过一块其他语言的标志,他们对标志的评论被翻译了,但标志本身却没有!" — @handle

技术实现

Overtone 构建为一组 Node.js 包,包括用于处理的 CLI、用于播放的 video.js 插件以及格式规范包。它支持通过 whisper.cpp 和 Ollama 进行离线处理,或通过 OpenAI 和 Azure 等提供商进行云端处理。该项目采用 MIT 许可证,可在 GitHub 上获取。

Sources