mcpField
S
subtitle-correction

subtitle-correction

github.com/sugarforeverクリエイティブ・メディア139537 回インストール1 週間前に更新
リポジトリ

subtitle-correction について

subtitle-correction は、字幕の音声認識ミスを修正するスキルです。SRT 字幕の校正に使え、先に分野固有の用語を確認したうえで、タイムスタンプ、番号、エントリー構造を保持し、検証と差分レポートを提供します。

主な機能

  1. 01指定用語を基準に認識ミスを修正
  2. 02タイムスタンプと字幕番号を維持
  3. 03エントリー数を保ち、結合や分割をしない
  4. 04構造を検証し差分レポートを作成
  5. 05HTML で変更を確認

活用シーン

  1. 01技術チュートリアルの固有名詞を校正
  2. 02SRT 字幕の同音語認識ミスを修正
  3. 03修正後も字幕のタイムラインが保たれているか確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sugarforever/01coder-agent-skills --skill subtitle-correction

インストール後、Claude Code で/subtitle-correctionを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
srt-format.md
terminology.md
scripts/
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:理解を確認する

用語を受け取ったら、次の手順で確認します:

  1. 受け取った用語を列挙する
  2. 想定される分野や文脈(AI/ML チュートリアル、ウェブ開発など)を特定する
  3. 作業を進める前に、ほかに追加する用語がないか尋ねる

応答例:

收到以下术语:
- 技术框架:LangChain, LangGraph, OpenAI
- 技术概念:Agent, checkpointer, runtime

看起来这是一个 LangChain 智能体开发的教程视频。

还有其他需要补充的术语吗?如果没有,我将开始修正字幕。
ステップ 3:用語を使って処理する

提供された用語を使って、次のことを行います:

  1. 想定される語彙のメンタルモデルを作る
  2. 起こりやすい音声認識エラーを特定する
  3. 全体を通して一貫した修正を適用する
ユーザーが用語を提供しない場合

ユーザーが「ありません」/「いいえ」/「そのまま始めて」と言った場合:

  1. 組み込みのパターンを使って修正を進める
  2. 確信の持てない修正には、ユーザーの確認が必要であることを示す
  3. 完了後、見落とした用語がないか尋ねる

基本的なワークフロー

  1. 字幕ファイルを読む - ユーザーが提供した .srt ファイルを読み込む
  2. エラーパターンを特定する - よくある音声認識の誤りを見つける
  3. 修正を適用する - タイムスタンプを正確に保持しながら誤りを修正する
  4. 修正済みファイルを出力する - ユーザーの状況に応じて返すか保存する

厳守事項

タイムラインの保持
  • タイムスタンプは絶対に変更しない - すべての 00:00:00,000 --> 00:00:00,000 行をそのまま保持する
  • 字幕番号は絶対に変更しない - 連番を保持する
  • 字幕エントリを結合または分割しない - 1 対 1 の対応関係を保つ
エラーの分類
1. 音声上の誤り(同音異字/類音による誤り)

中国語の音声認識でよく発生します:

  • 会話 ↔ 絵画(huìhuà)
  • メタデータ ↔ ソースデータ(yuán shùjù)
  • この講義 ↔ 学部課程(běnkè)
  • 例 ↔ 事例(shìlì)
  • 実践 ↔ 時間(shíjiàn)
2. 技術用語の誤り

音声認識では、次の用語が正しく認識されないことがよくあります:

  • フレームワーク名:LangChain、LangGraph、OpenAI、PyTorch、TensorFlow
  • プログラミング用語:API、SDK、ランタイム、チェックポインター、ミドルウェア
  • コード識別子:snake_case の名前、関数名、クラス名
3. 英語と中国語の混在コンテンツ
  • Luncheon/lunch → langchain
  • open EI/open Email → OpenAI
  • land GRAPH → langgraph
  • a memory Server → MemorySaver
4. コード関連用語

話し言葉で説明された表現を適切な形式に変換します:

  • 「アンダースコア」→ 変数名では「_」
  • 「ドット」→ メソッド呼び出しでは「.」
  • camelCase、snake_case、PascalCase のパターンを認識する

ユーザー提供の用語

ユーザーが用語リストを提供した場合は、修正の第一の参照情報として使用します:

用户提供的术语:LangChain,Agent,OpenAI,LangGraph

これらの用語から、次の情報が得られます:

  • 技術用語の正しい表記
  • コンテンツの分野に関する文脈
  • 音声認識エラーを特定するための手がかり

処理戦略

長いファイル(200 行超)の場合
  1. view_range パラメーターを使用してチャンクごとに処理する
  2. チャンク間で文脈を維持する
  3. 修正済みファイル全体を段階的に組み立てる
技術的なコンテンツの場合
  1. 分野(AI/ML、ウェブ開発など)を特定する
  2. 想定される用語のメンタルモデルを作る
  3. 分野固有の修正を一貫して適用する
品質チェック

出力する前に、次の点を確認します:

  • すべてのタイムスタンプが変更されていないこと
  • 字幕数が変わっていないこと
  • 用語の一貫性が全体を通して保たれていること
  • 修正が中途半端に残っていないこと

よくある修正パターン

中国語の AI/ML 講座のコンテンツ
誤り修正文脈
ブルードッグ/ブルー巻/LanternLangChainフレームワーク名
絵画会話セッション/会話
トゥー/tourtoolツールの概念
checkpointコンポーネントcheckpointerコンポーネントメモリコンポーネント
ソースデータメタデータメタデータ
大まかなモデルLLM大規模言語モデル
中間キーミドルウェアミドルウェア
コード識別子
話し言葉表記
user underscore 001user_001
thread underscore idthread_id
create underscore agentcreate_agent
runtime dot stateruntime.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 レポート(レビューにおすすめ)

詳細な比較レポートを生成します。レポートには以下が含まれます:

  • すべてのエントリーを表示(変更あり・変更なし)
  • 左右に並べた列:Original | Corrected | Diff View
  • 視覚的なハイライト:削除箇所は赤い取り消し線、追加箇所は緑色で表示
  • 概要統計:エントリーの合計数、変更数、変更なしの数
  • ジャンプリンク:変更されたエントリーへすばやく移動
  • 変更インジケーター:変更された行に黄色の点を表示
python scripts/subtitle_tool.py diff original.srt corrected.srt --html diff_report.html

その後、ブラウザーで diff_report.html を開きます。

検証ワークフロー
  1. 修正前:analyze を実行して、潜在的なエラーを特定します
  2. 修正後:validate を実行して、構造の整合性を確認します
  3. 変更のレビュー: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:[用語を確認してから、そのまま修正を開始します]

修正プロセス
  1. アップロードされた .srt ファイルを読み取ります
  2. analyze を実行して、潜在的なエラーを特定します
  3. 指定された用語を主な参照情報として、修正を適用します
  4. validate を実行して、構造の整合性を確認します
  5. 修正済みファイルを -corrected サフィックスを付けて保存します
  6. 差分レポートを生成し、変更内容の概要を提示します
  7. 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?

コメント