关于 subtitle-correction
subtitle-correction 是用于修正字幕语音识别错误的技能,面向需要校对 SRT 字幕的人。它先收集领域术语,并严格保留时间戳、编号和条目结构,还提供校验与差异报告。
主要功能
- 01根据术语修正识别错误
- 02保持时间戳和字幕编号不变
- 03保留条目数量且不合并拆分
- 04校验结构并生成差异报告
- 05支持 HTML 差异查看
适用场景
- 01校对技术教程中的专有名词
- 02修复 SRT 字幕的同音误识别
- 03确认修正未改变字幕时间轴
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sugarforever/ 01coder-agent-skills --skill subtitle-correction安装后在 Claude Code 中输入/subtitle-correction确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/srt-format.mdterminology.mdscripts/subtitle_tool.py详细介绍
字幕纠错技能
此技能用于纠正字幕文件中的语音识别错误,同时严格保留时间轴信息。
交互式工作流
步骤 1:向用户询问术语
重要:开始任何纠错前,务必先询问用户是否有领域专用术语。
向用户提示:
在开始修正之前,请提供一些关键术语,帮助我更准确地识别和修正语音识别错误:
1. **专有名词**:人名、品牌名、产品名等(如:Anthropic、Claude)
2. **技术术语**:框架、库、工具名称(如:LangChain、OpenAI、PyTorch)
3. **领域词汇**:行业特定词汇(如:checkpointer、middleware、runtime)
4. **其他关键词**:视频中频繁出现的重要词汇
请用逗号分隔,例如:`LangChain, Agent, OpenAI, checkpointer`
面向英语用户:
Before I begin correction, please provide key terms to help me accurately identify speech recognition errors:
1. **Proper nouns**: Names, brands, products (e.g., Anthropic, Claude)
2. **Technical terms**: Frameworks, libraries, tools (e.g., LangChain, PyTorch)
3. **Domain vocabulary**: Industry-specific terms (e.g., checkpointer, middleware)
4. **Other keywords**: Important words that appear frequently
Please separate with commas, e.g.: `LangChain, Agent, OpenAI, checkpointer`
步骤 2:确认理解
收到术语后:
- 列出收到的术语
- 判断可能的领域/背景(AI/ML 教程、Web 开发等)
- 询问是否还有其他术语,然后再继续
回复示例:
收到以下术语:
- 技术框架:LangChain, LangGraph, OpenAI
- 技术概念:Agent, checkpointer, runtime
看起来这是一个 LangChain 智能体开发的教程视频。
还有其他需要补充的术语吗?如果没有,我将开始修正字幕。
步骤 3:根据术语处理
使用提供的术语来:
- 建立预期词汇的心理模型
- 识别可能的语音识别错误
- 在全文中统一应用纠正
用户未提供术语时
如果用户表示“没有”/“no”/“直接开始”:
- 使用内置模式进行纠错
- 标记不确定的纠正,供用户审核
- 完成后询问是否有遗漏的术语
核心工作流
- 读取字幕文件 - 加载用户提供的 .srt 文件
- 识别错误模式 - 识别常见的语音识别错误
- 应用纠正 - 修正错误,同时原样保留时间戳
- 输出修正后的文件 - 根据用户的使用场景返回或保存文件
严格规则
保留时间轴
- 绝不修改时间戳 - 完全保留所有
00:00:00,000 --> 00:00:00,000行 - 绝不更改字幕编号 - 保留序列编号
- 绝不合并或拆分字幕条目 - 保持一一对应
错误类别
1. 语音错误(同音字/谐音错误)
中文语音识别中的常见错误:
- 会话 ↔ 绘画(huìhuà)
- 元数据 ↔ 源数据(yuán shùjù)
- 本课 ↔ 本科(běnkè)
- 示例 ↔ 事例(shìlì)
- 实践 ↔ 时间(shíjiàn)
2. 技术术语错误
语音识别经常无法正确识别:
- 框架名称:LangChain、LangGraph、OpenAI、PyTorch、TensorFlow
- 编程术语:API、SDK、runtime、checkpointer、middleware
- 代码标识符:snake_case 名称、函数名称、类名称
3. 中英混合内容
- Luncheon/lunch → langchain
- open EI/open Email → OpenAI
- land GRAPH → langgraph
- a memory Server → MemorySaver
4. 代码相关术语
将口述描述转换为正确格式:
- 变量名中的“underscore” → "_"
- 方法调用中的“dot” → "."
- 识别 camelCase、snake_case、PascalCase 模式
用户提供的术语
用户提供术语列表时,应将其作为纠错的主要参考:
用户提供的术语:LangChain,Agent,OpenAI,LangGraph
这些术语表明:
- 技术术语的预期正确拼写
- 内容领域的背景
- 识别语音识别错误的线索
处理策略
对于长文件(>200 行)
- 使用
view_range参数分块处理 - 在各块之间保持上下文
- 逐步构建完整的修正文件
对于技术内容
- 识别领域(AI/ML、Web 开发等)
- 建立预期术语的心理模型
- 统一应用领域专用纠正
质量检查
输出前:
- 确认所有时间戳均未更改
- 确认字幕数量未更改
- 检查全文术语是否一致
- 确保没有未完成的纠正(只修正了一部分)
常见纠正模式
中文 AI/ML 课程内容
| 错误 | 纠正 | 上下文 |
|---|---|---|
| 蓝犬/蓝卷/Lantern | LangChain | 框架名称 |
| 绘画 | 会话 | 会话/对话 |
| 拖/tour | tool | 工具概念 |
| checkpoint组件 | checkpointer组件 | 记忆组件 |
| 源数据 | 元数据 | 元数据 |
| 大约模型 | 大模型 | 大模型 |
| 中间键 | 中间件 | 中间件 |
代码标识符
| 口述 | 书写 |
|---|---|
| user underscore 001 | user_001 |
| thread underscore id | thread_id |
| create underscore agent | create_agent |
| runtime dot state | runtime.state |
输出格式
保存时,请使用 -corrected 后缀:
- 输入:
filename.srt - 输出:
filename-corrected.srt
验证脚本
使用 scripts/subtitle_tool.py 验证和分析字幕文件:
# Validate corrected file preserves structure
python scripts/subtitle_tool.py validate original.srt corrected.srt
# Show word-level diff with colored output (default, changes only)
python scripts/subtitle_tool.py diff original.srt corrected.srt
# Show ALL entries (changed and unchanged) in terminal
python scripts/subtitle_tool.py diff original.srt corrected.srt --all
# Generate HTML diff report (recommended for review)
python scripts/subtitle_tool.py diff original.srt corrected.srt --html report.html
# Show simple line-based diff (original/corrected lines)
python scripts/subtitle_tool.py diff original.srt corrected.srt --simple
# Disable colors for piping to files
python scripts/subtitle_tool.py diff original.srt corrected.srt --no-color
# Analyze file for potential speech recognition errors
python scripts/subtitle_tool.py analyze input.srt --terms "LangChain,OpenAI"
差异输出格式
终端输出(默认)
以颜色显示词级别的更改:
[1] 00:00:01,500 --> 00:00:04,500
今天我们来学习[-Luncheon-]{+LangChain+}框架
[3] 00:00:08,000 --> 00:00:12,500
我们可以用它来创建[-绘画-]{+会话+}应用程序
[-deleted-]- 删除的文本(在终端中显示为红色){+added+}- 添加的文本(在终端中显示为绿色)- 使用
--all也显示未更改的条目
HTML 报告(建议用于审阅)
生成完整的对比报告,包含:
- 显示所有条目(已更改和未更改)
- 并排列:原文 | 修正后 | 差异视图
- 视觉高亮:删除内容显示为红色删除线,添加内容显示为绿色
- 统计摘要:条目总数、更改数量、未更改数量
- 跳转链接:快速导航到已更改的条目
- 更改标记:黄色圆点标记已更改的行
python scripts/subtitle_tool.py diff original.srt corrected.srt --html diff_report.html
然后在浏览器中打开 diff_report.html。
验证工作流
- 修正前:运行
analyze,识别潜在错误 - 修正后:运行
validate,确保结构完整 - 审阅更改:运行
diff --html report.html,生成可视化对比报告
验证检查
- 条目数量与原文件一致
- 所有时间戳保持不变
- 所有序列号均已保留
- 未发生格式损坏
交互示例
交互 1:用户上传文件时未提供术语
用户:帮我修正这个字幕文件
Claude:
在开始修正之前,请提供一些关键术语,帮助我更准确地识别语音识别错误:
1. **专有名词**:人名、品牌名、产品名
2. **技术术语**:框架、库、工具名称
3. **领域词汇**:行业特定词汇
4. **其他关键词**:视频中频繁出现的重要词汇
请用逗号分隔,例如:`LangChain, Agent, OpenAI`
用户:LangChain、Agent、OpenAI、LangGraph、checkpointer
Claude:
收到以下术语:
- 技术框架:LangChain, LangGraph, OpenAI
- 技术概念:Agent, checkpointer
这是一个 LangChain 相关的技术教程。还有补充吗?
用户:没有了,开始吧
Claude:[开始修正工作流]
交互 2:用户提前提供术语
用户:帮我修正字幕,术语:LangChain、OpenAI、Agent
Claude:[确认术语后,直接开始]
修正流程
- 读取上传的 .srt 文件
- 运行
analyze,识别潜在错误 - 以提供的术语为主要依据进行修正
- 运行
validate,确认结构完整 - 使用
-corrected后缀保存修正后的文件 - 生成差异报告,并提供更改摘要
- 提供 HTML 报告:询问用户是否需要 HTML 差异报告,以便更轻松地审阅
输出:提供已完成修正的分类摘要。
完成后,提示用户:
修正完成!我可以生成一个 HTML 差异报告,方便您在浏览器中查看所有修改。
需要生成 HTML 报告吗?
Correction complete! I can generate an HTML diff report for easier review in your browser.
Would you like me to generate the HTML report?
评论
支持 Markdown