コンテンツにスキップ

素材を文字起こしして字幕にする

業務のデジタル化手順 /動画制作・編集

1 か月前 · 2026-08-16

撮った映像・録った音声を検索できる形にし、字幕まで持っていく手順と、そこで詰まる上限を押さえる

工程

  1. 素材を整理する確度 C

    どの音声を、どの単位で文字にするかを決める。ファイルの切り方が後で効く

    この工程で使える製品は、この図書館ではまだ確認できていません。

  2. 文字起こしする確度 A

    音声をテキストにする。使うモデルで後工程の選択肢が変わる

    • OpenAI Speech to textmp3 / mp4 / mpeg / mpga / m4a / wav / webm に対応。`gpt-transcribe` などのモデルがあり、話者分離は `gpt-4o-transcribe-diarize`
    • Gemini CLI の read_fileテキスト・画像・音声・PDF に対応。この図書館の 3 ツールで音声を直接読めるのは Gemini CLI だけ
  3. 25MB を超える素材を分割する確度 A

    上限に当たる前に切る。切り方を間違えると内容が壊れる

  4. 内容を検索して使う場面を探す確度 B

    映像を頭出しで探すのをやめる。テキストを検索して時刻に戻る

    この工程で使える製品は、この図書館ではまだ確認できていません。

  5. 字幕の形にする確度 A

    時刻付きのテキストにする。ここでモデルの制約が効く

  6. 人が通しで見て直す確度 C人が見る

    固有名詞・数字・言い間違いを直す。ここは機械では終わらない

    この工程で使える製品は、この図書館ではまだ確認できていません。

この手順の価値は字幕より「検索できるようになること」

字幕を作るのが目的だと思われがちですが、実務でいちばん効くのは工程 4 です。

3 時間のインタビュー素材から使う 2 分を探すとき、いまは映像を頭出しして探します。文字起こしがあれば、テキストを検索して時刻に戻れます。 字幕を出さない案件でも、この工程だけで元が取れます。

詰まるのは上限(工程 3)

いちばん最初にぶつかるのがこれです。

Files can be up to 25 MB.

25MB です。 動画の音声としては短い部類で、長尺の収録はまず超えます。

超える場合の案内は 2 つ書かれています。

  1. 音声を圧縮する
  2. 25MB 以下に分割する。ただし文の途中で切らないこと(avoiding mid-sentence splits to preserve context)

2 番目が重要です。 時間で機械的に等分すると、切れ目にかかった発話が両側で壊れます。「文の途中で切らない」を守るには、無音区間で切る必要があります。

つまり、分割は「25MB ごと」ではなく「無音で切って、25MB を超えない範囲でまとめる」という処理になります。ここを雑にやると、後段の精度が下がった原因が分割にあることに気づけません。

字幕を作るならモデルが決まる(工程 5)

時刻付きの出力について、公式はこう書いています。

timestamp_granularities[] は whisper-1 専用

字幕を作るなら whisper-1 を使うことになります。 新しいモデル(gpt-transcribe など)は、文字起こしとしては選択肢に入りますが、タイムスタンプが要る用途では選べません。

verbose_json と組み合わせると、**単語単位(word)とセグメント単位(segment)**の時刻が得られます。

  • セグメント単位 — 字幕の 1 行に対応させやすい
  • 単語単位 — カラオケ字幕や、特定の語で映像を切る用途

工程 2 の時点で工程 5 の要否を決めておく必要があります。後から「やっぱり字幕も」となると、別モデルで取り直しになります。

話者が複数いる場合

gpt-4o-transcribe-diarize が話者の識別・ラベル付けに対応しています。インタビュー、対談、会議の素材ではこちらになります。

ただし話者分離とタイムスタンプは別モデルです。 「誰がいつ何を言ったか」を両方欲しい場合、どちらを優先するかを決めるか、2 回通すことになります。ここは出典上、1 つのモデルで両立できるとは書かれていません。

この図書館の 3 ツールとの関係

音声を直接読めるのは Gemini CLI だけです(read_file がテキスト・画像・音声・PDF に対応)。Claude Code の Read は音声に対応していません(実務ファイルを読ませる)。

つまり用途が分かれます。

やりたいこと使うもの
字幕を作る(時刻が要る)文字起こし API(whisper-1)
音声の内容を要約・確認するGemini CLI にそのまま渡す
大量の素材をまとめて処理する大量ファイルを一括処理する

素材が何十本もあるなら、1 本ずつ手で流すのではなくループにします。そのときの注意(終了コード 0 でも中身が失敗のことがある、出力形式を固定する)はそのまま当てはまります。

最後は人が通しで見る(工程 6)

この工程を削ると成果物になりません。 機械が苦手なものが決まっています。

  • 固有名詞 — 人名、社名、商品名。文脈から推測できないものは高確率で外れる
  • 数字 — 金額、日付、型番。聞き取れていても表記が揺れる
  • 言い間違いと言い直し — 話者が直した後の形にするか、そのまま残すかは編集判断

確度 C にしているのは、この工程の型を出典で示せないからです。「どのくらい直りますか」という問いに答えられる公開データを見つけられていません。

この分野で分かっていないこと

  • 国産の文字起こしサービスを調べていない。 日本語の精度は各社が自社条件で測った数字しかなく、比較できる形になっていない
  • 編集ソフト側の文字起こし機能を確認できていない。 Adobe Premiere Pro のテキストベース編集を確認しようとしたが、公式ヘルプへの接続がタイムアウトして取得できなかった
  • SRT / VTT への出力が公式ドキュメント上で明示されているか確認できていない。タイムスタンプは得られるが、字幕ファイル形式そのものへの言及は見つけられなかった
  • 話者分離とタイムスタンプの両立が可能かどうかの記載が無い
  • 実名の制作事例が 0 件(動画制作・編集の巻)

この手順が跨ぐ工程

この手順が根拠にしているページ