字幕切点是怎么定的
切点是可读性问题,不只是时间问题。本文给出把逐词对齐结果切成可读字幕行的规则,以及每条规则优先级的顺序。
约 1 分钟
逐词时间戳告诉你每个词是什么时候说的,但它不告诉你一条字幕应该在哪儿结束。后一个问题才是观众真正会注意到的,而它的答案来自规则,不是来自波形。
真正的约束是阅读速度,不是音频
观众读字幕的同时还在看画面。行业内的经验上限大约是每秒 17 个字符(面向非母语观众的成人),母语舒适观看约每秒 20 个字符。也就是说,一条停留两秒的字幕只能放下 34–40 个字符——分两行的话,每行约 12–14 个字符。这也是为什么大多数规范把单行限制在 42 个字符、并且更倾向两行。
忽略这个约束的时间轴,产物是「技术上准确、但根本读不完」的字幕:那些词确实是在那个时刻说的,只是没有观众来得及读。
五条规则,按优先级排序
- 绝不从语法单位内部切开。 名词短语、介词短语、主语和它的谓语,都不能拆。如果音频逼着你在那里断,宁可把上一条字幕延后,也不要在短语中间切。
- 在可用的最强句法边界处断。 从句边界优于连词,连词优于逗号,逗号优于无处可断。
- 两行要均衡。 30/10 的分法比 20/20 难读,因为眼睛用整行去加速,结果撞上一行很短的。
- 最后一行要是一个完整的意思。 一条字幕以「的」或「在」结尾,观众的眼睛白做一次功,而这条功下一条字幕立刻就要撤销。
- 宁可持续,不要闪。 短于约 0.8 秒的字幕就是一次潜意识闪动。即使合并后比语音略长,也要和相邻那条合并。
第 1 条和第 5 条经常互相冲突,这正是切点难以完全自动化的原因。那些声称已经全自动的产品,通常只是把第 5 条单独执行了。
强制对齐能帮上什么
因为对齐器知道的是每一个词的时间戳,而不只是整句的,它可以把「在这里断」当成一个有可测答案的问题:这个词结束的位置,距离下一个词开始是否超过 200 毫秒?如果是,那就是一个自然停顿,也是当前可用的最佳切点。
基于语音转写的工具做不到这件事,因为它们的时间戳继承了识别器的错误:一个听错的词,会被安上一个看起来合理的时间戳,配上错误的字符串;而在那里切出来的位置,说话人其实从没停顿过。
我们不做的事
我们不会自动压缩文案。如果一行在它的时长里按可读速度放不下,诚实的输出是一条警告,而不是悄悄截短的字幕。截短会改变说话人实际说的话——那是另一个产品,不是这里在卖的这个。