AutoPulse Captions は何をしますか?
パイプライン: video → Whisper (単語タイムスタンプ) → Mini-ML補正 (EN/ID) →
マイクロチャンク .ass (アクティブワード強調) → オプションのプレビューエディタ → FFmpeg焼き付け。
PROJECT_DIR(generate_captions.py と gpu_check.py を含むフォルダ)を特定する:
generate_captions.pyがこのSKILL.mdと同じディレクトリにある場合、PROJECT_DIRはこのディレクトリです。- この
SKILL.mdが.agents/skills/autopulse-captions/内にある場合、PROJECT_DIRはリポジトリルート (../../..) です。 - それ以外の場合、デフォルトは
C:\Users\Evan\.gemini\antigravity\scratch\autopulse-captionsです。
以下のコマンドはすべて PROJECT_DIR から実行します。
Python実行ファイル (PY): PROJECT_DIR/.venv/Scripts/python.exe (Windows) または PROJECT_DIR/.venv/bin/python (macOS/Linux)。
0. 初回セットアップ (.venv/ または hardware_profile.json がない場合のみ)
- まずハードウェアを確認します(インストール不要、ネットワーク不要):
python gpu_check.py— どのWhisperモデルが適合するかを表示します(例: RTX 3060 →large-v3、 GTX 1650 Ti 4 GB →large-v3-turbo、GPUなし → CPUlarge-v3-turbo/small)。 - Python 3.10~3.12 でvenvを作成します(3.13 最大; 3.14 ではCTranslate2のホイールがありません):
py -3.11 -m venv .venv(Windows) /python3.11 -m venv .venv。 - ハードウェアに合わせた依存関係をインストールします(ネットワークが必要):
PY install.py --download-model(WindowsでFFmpegがない場合は--install-ffmpegを追加)。 NVIDIA GPUが見つかった場合のみCUDA 12ランタイムライブラリをインストールし、GPUのスモークテストを行い、hardware_profile.jsonを書き込みます。 - 確認: インストーラーは
SELESAI -> Whisper: <model> / <device> / <compute>で終了します。
1. 実行前の確認(必須)
新しい動画を文字起こしする前に、必ず最初にユーザーに確認してください(ask_question を使用するか、プロンプトで指定されていない場合はプレーンテキストで)— 推測しないでください:
- キャプションの言語:
- 英語 (
--lang en) - インドネシア語 (
--lang id) - インドネシア語音声 → 英語字幕 (
--lang id --translate) - 自動検出 (
--lang auto)
- 英語 (
- 不明な場合のみ: 動画に焼き付けるか (
--burn)、.assのみ生成するか。
エージェントがスクリプトを実行するときは、必ず明示的に --lang を指定してください(スクリプト自身のインタラクティブプロンプトは、実際のインタラクティブターミナルでのみ表示されます)。
2. キャプションを生成する
PY generate_captions.py "<video>" --lang en --burn --output-video "<out>.mp4"
- モデル/デバイス/計算はデフォルトで
autoになります(gpu_check.pyから取得)。メモリ不足やCUDAエラー時には自動フォールバックします(例:large-v3 → large-v3-turbo → CPU)。ユーザーが要求しない限り--modelを上書きしないでください。 - 向き(縦/横/正方形)は ffprobe で検出され、フォントサイズ、マージン、行の長さが自動的に調整されます。
- モデルの初回実行時はHugging Faceからダウンロードします(ネットワークが必要)。
- 出力は入力ファイルの隣に生成されます:
<name>.ass、<name>_raw_words.json、<name>_captioned.mp4; さらにlast_run.jsonと更新されたpreview_player.html。
検証: 終了コード 0、ログ行 model dipakai: ...、出力動画が存在すること。
使用されたモデルと、スクリプトが出力する疑わしい単語のリストをユーザーに報告してください。
3. レビューと修正(疑わしい単語がある場合、またはユーザーが変更を希望する場合)
- ブラウザで
PROJECT_DIR/preview_player.htmlを開きます(--open-previewで自動的に開きます)。 ユーザーは単語/タイムスタンプを編集し、見逃した単語を挿入し(➕ Kata)、 次に 💾 Simpan words.json をクリックします(words_revised.jsonをダウンロード)。 - 修正されたJSONから再レンダリングします — これにより、最後の生のWhisper出力との差分を取ることで Mini-MLが学習します(
learned_memory.json、 言語ごとにen/idのプロファイルを分離):ソース動画はPY generate_captions.py "<パス>/words_revised.json" --burn --output-video "<out>.mp4"last_run.jsonから取得されます(--videoで上書き可能)。
4. 動画生成後のチェーン処理
別のステップで動画(例: draft.mp4)が生成された場合、言語の質問をしてから、そのファイルに対して手順2を --output-video final.mp4 付きで実行します。
トラブルシューティング
| 症状 | 対処法 |
|---|---|
No module named faster_whisper | .venv から PY を使用するか、手順0を実行してください |
| すべてのGPUオプションが失敗し、CPUにフォールバックする | NVIDIAドライバーを更新し、PY install.py を再実行してください |
| CPUで処理が遅い | 予想通り(約1倍速)。ドラフト作成には --model small を推奨します |
ffmpeg tidak ditemukan | winget install Gyan.FFmpeg / brew install ffmpeg / apt install ffmpeg を実行してください |
| 誤った単語/スラング/固有名詞 | エディタ(手順3)を使用してMini-MLに学習させるか、--hotwords "名前1 名前2" を使用してください |
| 翻訳の品質が低い | --translate はターボモデルを使用しません(ターボは翻訳用に訓練されていません)。large-v3 には約3.6GB以上の空きVRAMが必要です |
完全なフラグリファレンス: references/cli.md · Mini-MLの仕組み: references/mini-ml.md