動画/音声 文字起こし + 要約
動画 or 音声ファイルを OpenAI Whisper (ローカル) で文字起こしし、全文md と 要約md の 2ファイルを出力するスキル。
対応拡張子: mp3 / m4a / wav / ogg / flac / mp4 / mov / mkv / webm / avi など(whisper が内部で ffmpeg を呼ぶため動画もそのまま渡せる)。
実行手順
- ユーザーが指定したファイルパスを確定する(ドラッグ&ドロップ時は引用符で囲む)
- 以下のコマンドで文字起こしを実行:
基本(推奨デフォルト: turbo = large-v3-turbo + Whisper自然分割):
python .claude/skills/media-transcriber/scripts/transcribe.py "入力ファイル" --language ja
最高精度(固有名詞多い議事録・重要案件):
python .claude/skills/media-transcriber/scripts/transcribe.py "入力ファイル" --model large-v3 --language ja
軽量・高速(下書き用途):
python .claude/skills/media-transcriber/scripts/transcribe.py "入力ファイル" --model base --language ja
N秒ごとに強制区切り(約5秒刻みで拾いたい):
python .claude/skills/media-transcriber/scripts/transcribe.py "入力ファイル" --language ja --segment-seconds 5
文(センテンス)単位で区切る(句読点検出+最大60秒cap):
python .claude/skills/media-transcriber/scripts/transcribe.py "入力ファイル" --language ja --sentence
単語ごと(発話タイミング分析用、行数が大量に増えるので注意):
python .claude/skills/media-transcriber/scripts/transcribe.py "入力ファイル" --language ja --word-level
- 出力された全文md (
<プロジェクトルート>/YYYYMMDD_HHMMSS_{basename}.md) をReadで読む - 全文の内容を踏まえて、Claude自身が 要約md を
Writeで作成する。ファイル名はYYYYMMDD_HHMMSS_{basename}_summary.md(全文mdと同じタイムスタンプ・同じディレクトリ)。要約の構成は下記「要約mdテンプレ」を既定とし、ユーザー指示があればそれに従う - 全文mdと要約mdの両パスをユーザーに報告する
引数
| 引数 | 説明 | デフォルト |
|---|---|---|
file |
入力音声/動画ファイルパス(必須) | — |
--model |
whisperモデル名 (tiny / base / small / medium / large-v3 / turbo) |
turbo |
--language |
言語コード(例: ja, en)。未指定時は自動検出 |
auto-detect |
--output-format |
出力フォーマット (md / json) |
md |
--segment-seconds |
N秒ごとに行を区切る | 未指定 |
--sentence |
文(センテンス)単位で区切る。句読点検出+上限秒capで再チャンク | false |
--word-level |
単語ごとに1行出力。最優先 | false |
--sentence-max-seconds |
--sentence 時のフォールバック上限秒。句読点が無い音声で1文が長大化しないよう強制flush |
60.0 |
分割粒度の優先順位(上が強い): --word-level > --segment-seconds > --sentence > Whisper自然分割(デフォルト)
設定
プロジェクトルートの .env に以下の環境変数を設定する(任意。未設定時はプロジェクトルート直下に出力):
# 例: transcripts/ 配下に出したい場合
TRANSCRIPT_OUTPUT_PATH=transcripts
| 変数名 | 説明 |
|---|---|
TRANSCRIPT_OUTPUT_PATH |
出力先ディレクトリ(デフォルト: . = プロジェクトルート直下) |
出力
全文md の例
# 文字起こし: meeting_20260421.mp4
- 元ファイル: /path/to/meeting_20260421.mp4
- モデル: medium
- 言語: ja (auto-detected)
- 実行日時: 2026-04-21 14:30:00
- 総尺: 00:45:12
## 全文
[00:00:00] 今日は四半期の振り返りから始めましょう。
[00:00:12] まず売上の件ですが、前年同月比で...
- ファイル名:
YYYYMMDD_HHMMSS_{basename}.md(basenameは入力ファイルの拡張子を除いた名前) - 保存先: プロジェクトルート直下(デフォルト)。
.envのTRANSCRIPT_OUTPUT_PATHで上書き可
要約md のテンプレ
Claude がこのテンプレを既定の骨格として書き出す:
# 要約: meeting_20260421.mp4
- 元ファイル: /path/to/meeting_20260421.mp4
- 総尺: 00:45:12
- 文字起こし: 20260421_143000_meeting_20260421.md
## 概要
3〜5行で全体像
## キーポイント
- 箇条書き5〜8個
## トピック別まとめ
### トピック1
...
## 次のアクション
- 担当 / 期限 / 内容
- ファイル名:
YYYYMMDD_HHMMSS_{basename}_summary.md(全文mdと同じタイムスタンプ) - 保存先: 全文mdと同じディレクトリ
要約の注意点
クライアント会議録・議事録としても使うことを前提に、以下のトーンで書く:
- 「全滅」「即停止」「劣後」「死蔵」「失敗」等のネガティブ断定語は使わない
- 数値での事実提示はOK。事実に対する評価表現で相手を否定しない
- ユーザーから別のトーン指示があればそれを優先する
モデル選択の目安
| モデル | サイズ | 速度 | 日本語精度 | 用途 |
|---|---|---|---|---|
tiny |
~75MB | 超高速 | 低 | 下書き・英語短尺 |
base |
~150MB | 高速 | 中の下 | 英語短尺・スピード優先 |
small |
~500MB | 中速 | 中 | 簡易な日本語 |
medium |
~1.5GB | やや遅 | 高 | 旧定番(turboで置き換え可) |
turbo |
~1.5GB | 高速 | 高 (v2相当) | 推奨デフォルト(日本語・汎用) |
large-v3 |
~3GB | 遅い | 最高 | 固有名詞多め・重要な議事録 |
2025年の実測比較では日本語用途で turbo (large-v3-turbo) が speed/accuracy のバランス最優秀。medium とメモリ・速度が同等で精度は同等以上なので、通常 turbo を第一選択に。最高精度が必要なときのみ large-v3。
初回実行時はモデルが ~/.cache/whisper/ にダウンロードされる(1回だけ)。turbo は約1.5GB。
依存パッケージ確認
初回エラー時は以下でインストール:
pip install -U openai-whisper python-dotenv
ffmpeg が別途必要(whisper が内部で呼ぶ):
brew install ffmpeg