最強の字幕生成フローを構築する
「文字起こしはWhisper、整形はGemini」
それぞれの強みを活かしたハイブリッド構成で、動画編集のテロップ作業を自動化するPythonツールの実装ロジックを完全解説します。
1. 今回作成するツールの概要とメリット
動画編集において最も手間がかかる「テロップ作成」。これを完全に自動化するために、今回は以下の技術を組み合わせたPythonツールを開発しました。
- 文字起こし:
Stable Whisper(OpenAI Whisperの改良版) - 文章校正・整形:
Gemini 3 Flash(Googleの最新AIモデル) - 字幕動画生成:
Pillow+FFmpeg
なぜこの構成なのか?
単純なWhisperだけでは「えー、あー」といったフィラーが残ったり、句読点が不自然だったりします。そこで、文字起こし特化のWhisperで正確に音声を拾い、そのテキストデータをGemini 3 Flashの高い推論能力で「自然な字幕」にリライトさせるアプローチをとります。
2. 必要な準備(環境構築・インストール)
本ツールはPython 3.10または3.11での動作を推奨しています。以下のライブラリを使用します。
- stable-ts: タイムスタンプ精度が高いWhisperの実装
- google-genai: Google Gemini APIを利用するためのSDK
- Pillow: 字幕画像の描画に使用
- Janome: 日本語の形態素解析(重要語句の色付け用)
まず、FFmpegをシステムにインストールし、パスを通してください。その後、Pythonライブラリをインストールします。
pip install stable-ts google-genai Pillow janome torch torchaudio※GPUを使用する場合は、PyTorchをCUDA対応版にする必要があります。
3. 実装解説1:Stable Whisperによる高精度文字起こし
通常のWhisperではなく stable-ts を採用する理由は、字幕生成に不可欠な「単語ごとのタイムスタンプ」の精度が非常に高いためです。
scripts/runners/transcriber.py の実装を見てみましょう。
import stable_whisper
model = stable_whisper.load_model("large-v3-turbo", device="cuda")
result = model.transcribe(
audio_data,
regroup=True,
vad=True
)ここでは large-v3-turbo モデルを使用しています。これにより、高速かつ高精度な日本語認識が可能になります。取得した結果はSRT形式にフォーマットして保存します。
4. 実装解説2:Gemini 3 FlashによるSRT整形
生成されたSRTファイルは、AI特有の誤字や不自然な改行を含んでいます。これを修正するために Gemini 3 Flash (gemini-3-flash-preview) を使用します。
ここでのポイントは、「SRTのタイムスタンプ構造を壊さずにテキストだけを修正させる」ことです。prompts/refine_srt_prompt.txt に定義したプロンプトで、以下のルールを徹底させます。
- 誤字(同音異義語)の修正
- フィラーの削除
- 文節を考慮した自然な改行
- タイムスタンプの維持(絶対条件)
また、長い動画を一度に処理するとAIがコンテキストを見失うため、30〜50ブロックごとに分割して処理する「チャンク処理」を実装しています。
5. 実装解説3:PillowとFFmpegで透過字幕生成
最後に、整形されたSRTを元に、背景透過の動画ファイル(MOV)を生成します。重い動画編集ライブラリを使わず、画像処理ライブラリ Pillow と FFmpeg コマンドを直接叩くことで軽量化しています。
処理の流れ:
Pillowで1枚ずつ字幕画像(PNG)を生成Janomeで形態素解析し、名詞や動詞などの重要語句を強調色で描画FFmpegを使い、各画像をフェードイン・アウト付きの動画クリップに変換- 全クリップを結合して1本のMOVファイルにする
これにより、DaVinci ResolveやPremiere Proのタイムラインに置くだけで使える、ハイクオリティな字幕素材が完成します。
6. まとめ
Whisperの「聴く力」とGemini 3の「整える力」、そしてPythonの「自動化力」。これらを組み合わせることで、実用レベルの字幕ツールを自作することが可能です。
特に最新の Gemini 3 Flash は処理が高速で、こうしたパイプライン処理のバックエンドとして最適です。ぜひ皆さんも、自分だけの業務効率化ツールを開発してみてください。
この記事の自動化に使われた技術と思考法は、
すべて以下のアカデミーでインストールできます。