生成SRT最终结果
最后,这是管道的最后一个模块!通常一段字幕持续2-3秒,这意味着大约有4-6个连续帧包含相同的字幕。问题仍然是我们如何将不同帧的结果合并为一个,决定语音的开始时间、结束时间和副标题。我们只需要检查当前字幕是否与最后一个字幕匹配。一个主要挑战是有时两个帧具有相同的字幕,但OCR预测不同的结果。你需要确定两个字幕是否相同的算法应该能够处理这些情况。

上面的代码基于启发方法的。如果来自当前帧和最后一帧的这两个字符串中的字符与70%相同,则返回True,而不管每个字符的顺序如何。
结论
如果你正确遵循上述说明,则表明你已成功构建自动语音识别数据集收集管道。你可以根据FFMPEG指定的时间轻松分割音频,但有一个小问题,由于字幕出现的时间和相应语音的时间可能有些不同,因此语音和文本之间可能存在一些没有对齐的情况。这可以通过语言模型来解决,以基于语音稍微调整每个字幕的时间。
有关更多信息和详细信息,请参阅此https://github.com/khuangaf/ITRI-speech-recognition-dataset-generation

