transcribe-audio について
WhisperXで動画音声を文字起こしし、単語ごとのタイミングを含むJSONを生成するButterCutのスキルです。ライブラリ処理では共通ジョブが実行し、別工程で素材情報を使った修正もできます。
主な機能
- 01WhisperXによる音声文字起こし
- 02単語単位の時刻を含むJSON
- 03言語とモデルの設定
- 04独立したコンテキストベースの修正
活用シーン
- 01動画クリップの時刻付き文字起こし
- 02映像分析用の文字起こし準備
- 03ライブラリ情報に基づく名前の修正
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ barefootford/ buttercut --skill transcribe-audioインストール後、Claude Code で/transcribe-audioを入力して読み込まれたか確認します。
同梱ファイルagent_prompt.mdrefine_instructions.md
詳細
スキル:音声の文字起こし(親向けブリーフ)
注記: ライブラリのパイプラインでは、文字起こしはサブエージェントを呼び出すのではなく、
ruby lib/buttercut/process_footage.rb transcripts <library>(TranscribeJobを使用)で機械的に実行されます。そのため、映像の分析結果はモデル間で同一になります。WhisperX コマンドはlib/buttercut/transcribe_job.rbの1か所だけに記述されており、単独でも実行できます:ruby lib/buttercut/transcribe_job.rb <video_path> <output_dir> <language_code> <whisper_model>。refine_instructions.mdは、analyze-videoのステップ3でディスパッチされる、別個の(判断を伴う)リファインメント手順のための手引きです。
WhisperX を使って動画の音声を文字起こしし、単語単位のタイミング情報を含む整った JSON 形式の文字起こしデータを生成します。
SKILL.mdは親エージェント向けのディスパッチブリーフです。サブエージェントの作業用プロンプトはagent_prompt.mdにあります。Task エージェントを起動するときに、その内容をインラインで含めてください。SKILL.mdは渡さないでください。
並列処理
同時に起動できるのは最大2つです。WhisperX は内部ですでにマルチスレッド化されています(CTranslate2 経由で約4 CPUスレッド)。16GBのマシンでは、処理量とメモリ使用量のバランスが最もよいのは2プロセスです。
収集してインラインで渡す入力
親エージェントはlibrary.yamlとsettings.yamlを読み取り、各エージェントのプロンプトに次の値をインラインで渡します。
video_path— 動画ファイルの絶対パスtranscript_output_dir— 文字起こし JSON の保存先(例:libraries/<library>/transcripts)language_code— ISO 639-1 コード(例:en、es)。親エージェントが library.yaml のlanguage名から変換しますwhisper_model— settings.yaml のモデルサイズ(例:small、medium、turbo)transcript_refinement— library.yaml のブール値。trueの場合は、次の値も渡します:user_context(空文字列の場合があります)footage_summary(空文字列の場合があります)
エージェントから応答があったら、library.yamlを更新してtranscript: <filename>.jsonを設定します。
次のステップ
すべての動画の音声文字起こしが完了したら、映像の説明を作成するためにanalyze-videoをディスパッチします。
依存関係
WhisperX がインストールされている必要があります。確認にはsetupスキルを使用してください。