本项目旨在处理和优化字幕文件(SRT格式),通过自动语音识别(ASR)数据的分段合并与拆分,提高字幕的可读性和同步精度。主要功能包括:
确保你有需要处理的SRT文件,例如:test_data/演讲.srt
该脚本将读取指定的SRT文件,进行预处理、分段合并与拆分,并生成一个合并后的SRT文件,如test_data/演讲_merged.srt
假设你有一个名为演讲.srt的字幕文件,内容如下:
1
00:00:09,100 --> 00:00:09,260
大
2
00:00:09,260 --> 00:00:09,420
家
3
00:00:09,420 --> 00:00:09,620
好
4
00:00:09,820 --> 00:00:09,940
我
5
00:00:09,940 --> 00:00:10,180
叫
6
00:00:10,220 --> 00:00:10,420
杨
7
00:00:10,420 --> 00:00:10,580
玉
8
00:00:10,580 --> 00:00:10,740
溪
...
运行main.py后,将生成一个合并后的文件李白_merged.srt,内容示例如下:
1
00:00:09,100 --> 00:00:09,620
大家好
2
00:00:09,820 --> 00:00:10,740
我叫杨玉溪
3
00:00:11,220 --> 00:00:14,220
来自有着良好音乐氛围的福建厦门
4
00:00:14,700 --> 00:00:15,420
自记事起
合并分段:原始SRT文件中每个单一字符或单词作为一个分段,经过处理后,分段被合并为一句完整的句子,提升了字幕的可读性。
时间同步:合并后的字幕段落时间跨度根据原始分段的起止时间自动调整,确保字幕与视频内容同步。
智能拆分:对于合并后仍然超过最大词数的字幕段落,系统将自动利用LLM进行语义拆分,避免在不适当的位置断句,保持字幕的连贯性和自然性。
$ claude mcp add SubtitleSpliter \
-- python -m otcore.mcp_server <graph>