YouTube API データ活用

Whisperで文字起こしして要約する方法【Pythonサンプル+実行結果付き】

2025年9月29日

WhisperはOpenAIが公開している高精度な音声認識モデルで、動画や音声ファイルからテキストを自動生成できます。
本記事では YouTube動画のダウンロード → Whisperで文字起こし → 要約 の一連の流れをPythonで解説します。

Whisperの処理結果は、字幕作成・要約記事・配信ログの整理などに活用できます。

注意事項

  • ダウンロードや文字起こしは 個人利用・研究用途に限定 してください。
  • 著作権者の許可なく動画・音声・字幕を再配布することは禁止されています。
  • YouTube利用規約に反する使い方は行わないでください。

前提条件(事前準備)

Whisperを使う前に以下の準備が必要です。

Whisperのインストール

pip install -U openai-whisper

GPUが使える環境(CUDA)があると処理が速くなりますが、CPUでも動作します。

1. 動画ファイルを読み込んで文字起こし

yt-dlpでMP4として保存したファイルをそのまま処理できます。

import whisper

# Whisperモデルの読み込み
model = whisper.load_model("small")

# 動画ファイルを指定
VIDEO_PATH = r"D:\youtube_downloads\動画タイトル.mp4"

# 文字起こし
result = model.transcribe(VIDEO_PATH, language="ja")

print("=== Transcribed Text ===")
print(result["text"][:500])  # 最初の500文字を表示

2. 音声ファイルを読み込んで文字起こし

yt-dlpでWAV形式に変換保存した場合はこちらを利用します。

import whisper

model = whisper.load_model("small")

# 音声ファイルを指定
AUDIO_PATH = r"D:\youtube_downloads\動画タイトル.wav"

result = model.transcribe(AUDIO_PATH, language="ja")

print("=== Transcribed Text ===")
print(result["text"][:500])

動画でも音声でも呼び出し方法は同じですが、処理速度は音声ファイル(WAV/MP3)の方が軽く済みます。

3. 要約の例(日本語テキストを短くまとめる)

Whisperの出力をそのまま使うと長文になるため、要約処理を組み合わせると便利です。以下はOpenAI APIを使ったシンプルな要約例です。

from openai import OpenAI

# 環境変数 OPENAI_API_KEY を設定しておく
client = OpenAI()

transcribed_text = result["text"]

# ChatGPTで要約
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "以下の日本語テキストを3〜5行で要約してください。"},
        {"role": "user", "content": transcribed_text}
    ]
)

print("=== Summary ===")
print(response.choices[0].message.content)

実行結果(例)

=== Transcribed Text ===
その胸に刻めパワーエ…はい、ということで今日もリアルイベント空ボズ…
[以下省略]

=== Summary ===
・イベントの締めに代表曲を披露
・観客との掛け合いが盛り上がりを見せた
・感謝と次回の予告で締めくくられた

よくあるエラーと対処法

  • ffmpegが見つからない → PATH設定を再確認
  • CUDA関連エラー → GPU非対応環境では "small" や "base" モデルを利用
  • 日本語がうまく認識されないlanguage="ja" を必ず指定

次に読む

yt-dlpでYouTubeの動画・音声・字幕を保存する方法【Python/CLI・実行例付き】

ffmpegのインストールとPATH設定(Windows)

YouTubeの情報を取得する方法まとめ【公式APIと非公式ライブラリ】

-YouTube API, データ活用