Communitygithub.com

AungMinThu1722/subtitle-voiceover

映像からビルマ語吹き替えを作成:話者分離・音声割り当て・編集可能字幕・音楽除去済みステム。スキル作成パッケージツール付き。

subtitle-voiceover とは?

このスキルは、映像または音声ファイルからビルマ語吹き替えを自動生成するためのエンドツーエンドのパイプラインです。主な特徴として、話者認識による自動的な話者分離、女性話者には `my-MM-NilarNeural`、男性話者には `my-MM-ThihaNeural` といった音声モデルの自動割り当て、エージェントが翻訳するビルマ語字幕、オープニングフックの自動生成、音楽除去済みの吹き替えステム出力を提供します。出力は編集可能なSRT字幕、FCPXML/EDLファイル、JSON品質レポートなど、プロの編集ワークフローに直接組み込める形式で生成されます。パイプラインはすべてPythonスクリプトで構成され、エージェントは翻訳とオプションのフック行のみを担当するため、タイムコードの編集ミスなどが発生しません。対応プラットフォームはClaude CodeのAgent Skillsで、AssemblyAI(文字起こし)、edge-tts(音声合成)、ffmpegなど外部ツールと連携します。また、`skill-forge` と呼ばれるスキル作成・検証・パッケージ化ツールも含まれており、SKILL.mdのフォーマットチェックや配布可能なアーカイブ生成が可能です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add AungMinThu1722/subtitle-voiceover

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ビルマ語映画吹き替え — エージェントスキル

映画からビルマ語吹き替え(ダブ)を構築するための、および同様のスキルを構築するための2つのエージェントスキル。

フォルダ説明
subtitle-voiceover/スキル本体:映像/音声ファイルから、話者検出、エージェント作成のオープニングフック、編集可能な字幕ペア、自動クリーンアップを備えたビルマ語吹き替えを生成します。
skill-forge/ツール類:SKILL.md スキルの作成、検証、パッケージ化を行い、このリポジトリ自身の2つのスキルを仕様準拠に保ちます。

subtitle-voiceover は何をしますか?

パイプラインはエンドツーエンドでPythonスクリプト化されています。エージェントが行う仕事はただ1つ:話者タグ付きのSRTをビルマ語に翻訳すること — それに加えて、任意の1行、オープニングフックです。 パイプラインのその他の部分はモデルを動作させることはありません。

movie.mp4 ──transcribe.py──▶ transcript.json ──srt_from_transcript.py──▶ movie.en.srt
   └─ detect_voices.py 各話者のピッチを測定 ──▶ voices.detected.yaml  (手動マッピング不要)
        └── AGENT が translation.my.json を入力 (+ hook.text) ──apply_translation.py──▶ movie.my.srt
             └── render_voiceover.py ──▶ voiceover.mp3  (フィルム長のステム、音楽なし)
                  └── チェック、FCPXML/EDL 出力、cleanup.py

インストールするには、フォルダをエージェントのスキルディレクトリにコピーするか、パッケージ化されたアーカイブを解凍します:

cp -r subtitle-voiceover ~/.claude/skills/                    # クローンから
unzip subtitle-voiceover/packages/subtitle-voiceover.skill -d ~/.claude/skills/

必要環境:python3 -m pip install --user edge-tts pyyaml、ffmpeg + ffprobe、および subtitle-voiceover/.env 内の AssemblyAI キー(ASSEMBLYAI_API_KEY=...、git管理対象外)。

映画1本を1コマンドで:

python3 scripts/run_pipeline.py night-shift.mp4 --work-dir work --config voiceover.config.yaml \
    --language en --speakers-expected 2 --hook --stages python
# エージェントが work/translation.my.json を入力(各キューのテキスト + hook.text)
python3 scripts/run_pipeline.py --work-dir work --config voiceover.config.yaml --stages post

出力:voiceover.mp3(吹き替えステム、00:00:00から開始、映画の長さにパディング、音楽なし)、movie.my.srt(話者ラベル付き)と movie.my.subs.srt(通常字幕トラック)、voiceover.fcpxml / .edl / .cue-list.csv、JSON品質レポート — そしてワーキングファイルを削除した work/ ディレクトリ。編集者はステムの下に独自の楽譜を配置し、字幕はPremiere Pro、DaVinci Resolve、Final Cut Proの字幕トラックにそのままドロップできます。

ハイライト:

  • 自動音声割り当て。 話者のピッチは映画自体の音声から測定されます(自己相関、Pure-Pythonフォールバック付き)— 女性キャラには my-MM-NilarNeural、男性キャラには my-MM-ThihaNeural が割り当てられます。手動でのマッピングは不要ですが、設定で特定の話者を固定することも可能です。
  • タイムスタンプはスクリプトが管理。 翻訳は書き込み可能なタイムコードを一切参照しません。マージ時に元のタイムコードが再付与され、破棄せざるを得なかった編集があれば報告されます。
  • オープニングフック。 最初の5〜10秒を、エージェントが作成した1行の台詞に置き換えることができます。元の会話と見分けがつかず、references/hook-guide.md に実例があります。
  • 実行中に何も生成されません。 すべてのステージはフラグを受け取る事前作成スクリプトです。スキルには独自のテストスイート、フィクスチャ映像、および2回の完全な記録実行が demo-film/ に同梱されています。

完全なウォークスルーは subtitle-voiceover/README.md を、エージェントが読む内容は SKILL.md を参照してください。

skill-forge

スキルディレクトリの雛形を作成し、SKILL.md を公開フォーマット(name/descriptionルール、段階的開示、バンドルファイル参照、行数制限)に照らしてチェックし、シークレットを漏洩せずにスキルを配布可能な .skill アーカイブにパッケージ化します。

python3 skill-forge/scripts/validate_skill.py subtitle-voiceover --strict
python3 skill-forge/scripts/package_skill.py subtitle-voiceover --out subtitle-voiceover/packages

テスト

bash skill-forge/tests/run_tests.sh              # バリデーター/パッケージャースイート(オフライン、<1秒)
cd subtitle-voiceover && bash tests/run_tests.sh # パイプラインスモークテスト(実際のedge-tts呼び出し)

両スイートはCIに組み込まれています(ci/github-actions-ci.yml — .github/workflows/ci.yml に移動して有効化。ファイルのヘッダーを参照)。パイプラインスイートはAssemblyAIキーを使用しません。フィクスチャのトランスクリプトに対して実際のスクリプトを実行します。

リポジトリ構成

subtitle-voiceover/     スキル本体(scripts/, references/, assets/, tests/, demo/, demo-film/, packages/)
skill-forge/            検証・パッケージ化ツール(scripts/, references/, assets/, tests/, packages/)
ci/github-actions-ci.yml  CI定義(.github/workflows/ci.yml に移動して有効化)

ライセンス

MIT — LICENSE を参照。

関連スキル