AIで日本語の自動字幕を作る方法|文字・時間・書き出しを分けて確認

自動字幕の固有名詞・数字・否定を照合し、時間と表示を別に確認。架空の修正表とWebVTT例で、構造エラーと再生確認を分けます。

AIものさし編集部

AIで日本語の字幕を作るときは、文字、時間、表示を分けて確認します。文章が自然でも、金額が違う、否定が消える、字幕が別の場面に出ると、そのまま使えません。まず短い素材で生成し、原音と照合してから書き出します。

この記事では、字幕の修正表と、字幕ファイルを点検する小さな例を作ります。音声認識サービスを実行した結果ではありません。発言、字幕、時刻はすべて説明用の架空例で、実動画や原音を用意したものではありません。

素材と、字幕の使い方を先に決める

試験素材は普段扱う動画に近い条件を選びます。話者、マイク、BGM、固有名詞、早口、言い直しを記録し、比較するなら同じ範囲を使います。きれいな音声一つで得た結果を、別の話者や録音環境へ広げません。

先に、動画へ字幕を焼き込むのか、別の字幕ファイルとして渡すのかを決めます。焼き込みと字幕ファイルを両方作るなら、文字と時間を直す元データを一つにし、別々の修正で内容が食い違わないようにします。

表は横にスクロールできます

入力・用途記録する条件確認する成果物
日本語音声の文字起こし素材版、話者、音質、言語設定原音と対応する字幕
翻訳字幕確定した原文字幕、翻訳先言語原文との意味の一致
焼き込み動画動画版、画面比率、配置書き出した映像
別字幕ファイル形式、投稿先、対応言語ファイルと再生時の表示

CapCutの公式ヘルプは、Auto Captionsで言語を選び、生成後に文字や時間を編集する流れを案内しています。機能や書き出し条件は端末、地域、アプリ版で異なるため、実際の画面で確認します。この記事のWebVTT例は形式の検査用で、CapCutからそのまま出力できることを示す例ではありません。CapCut公式:字幕認識(新しいタブで開く)

正しい表記と、音を聞く箇所を一覧にする

ブランド名、製品名、型番、数字、単位、否定を先に拾います。表記資料があっても、話者が何と言ったかは原音へ戻ります。資料と発言が違う場合に、字幕だけ都合よく合わせないようにしてください。

次は、原音照合で起こり得る判断を説明するための手製の表です。「照合用の発言」は実際に聞き取った結果ではありません。

表は横にスクロールできます

ID架空の生成字幕架空の照合用発言・資料修正・確認の判断
L01AI物差しを開きます表記資料:AIものさしブランド表記を照合して直す
L02月額1,500円です発言例:月額15,000円です金額と桁を確認。表示資料との差も調べる
L03この設定を変更してください発言例:この設定は変更しないでください否定の欠落を直す
L04公開日は11月1日です原音が判別できない想定日付を推測せず、確認待ちにする

L04を、前後の文として自然だからという理由だけで確定しません。該当箇所、聞き取れない語、確認先を残します。字幕の文章を短くする際も、否定や条件、数値の桁を落とさないよう原文と照合してください。

文字を確認してから、時間と区切りを直す

各字幕にIDを持たせ、文字の修正と開始・終了の修正を別列で記録します。改行だけを変えたのか、発話内容を変えたのか、時間を変えたのかが分かる形にします。

字幕が長い場合は、意味のまとまりで分け、発話と読み切れる時間を再生で確かめます。一律の文字数だけで、すべての媒体に適した字幕とは判断できません。専門語、画面サイズ、視聴者、話す速さで条件が変わります。

AIへは次のように依頼できます。

字幕の確認表を作ってください。
入力は字幕ID、既存の開始・終了、生成字幕、確認済みの表記資料です。
出力:字幕ID|文字の修正案|根拠|時間の確認事項|未確認事項。
原音を渡していない場合、聞き取った結果として修正を断定しないでください。
資料にない数字、日付、否定、固有名詞を推測して補わないでください。
既存時刻を保持し、音声との同期を確認したことにしないでください。
区切りや時刻の変更案は、実素材で未確認の編集案として別に示してください。
入力:[必要な字幕と表記資料]

生成をやり直す場合は、確認済みの文字まで上書きされないよう、対象範囲と修正履歴を残します。カット後の動画へ古い字幕を当てる場合も、動画版と字幕版が対応するかを確認します。

字幕ファイルの構造と、読みやすさを分ける

以下はWebVTT形式に限定した例です。先頭のWEBVTT、時刻の書式、各区間の開始と終了を確認します。W3C文書では終了は開始より後、字幕は開始時刻順とされ、異なる字幕の時間の重なり自体は許されています。W3C:WebVTT(新しいタブで開く)

WEBVTT

C01
00:00:01.000 --> 00:00:03.000
AIものさしを開きます。

C02
00:00:02.500 --> 00:00:04.500
確認する項目を選びます。

C03
00:00:05.000 --> 00:00:07.000
結果を保存します。

この架空例ではC01とC02が0.5秒重なります。これだけでWebVTTの構造エラーとしません。ただし、同時に見える字幕が読みやすいか、話者や場面に合うかは再生で確認します。ファイルが読めることと、利用者が読めることは別です。

検査結果を次のように分けると、直すべき対象が明確になります。

表は横にスクロールできます

例検査で分かること次の対応
開始5秒・終了5秒終了が開始より後ではない原素材へ戻り時刻を確認
3秒開始の字幕の後に1秒開始ファイルの開始順が逆原本との対応を確認して順序を整理
1〜3秒と2.5〜4.5秒0.5秒重複。重複だけでは構造エラーにしない意図と実際の表示を確認
時刻の区切りがカンマ今回のWebVTTの時刻書式に合わない元形式を確認して適切に変換

最後の例を、別形式のSRTも不正だという意味には使いません。拡張子だけ変えるのではなく、対象の形式に合わせて変換し、読み込み結果を確認します。また、開始と終了が整っていても、正しい発話時刻だとは分かりません。音声を使わない検査から、正しい時刻を自動で決めないでください。

書き出した後は、同じ動画と一緒に再生する

原音と文字を確認したら、書き出した動画や字幕を実際の受け渡し先で再生します。編集画面だけで確認を終えず、字幕の欠落、遅れ、文字切れ、改行、話者の対応を見ます。顔、商品名、操作画面など必要な情報を隠していないかも確認します。

字幕ファイルの場合は、対応形式や選択言語、字幕を表示する操作も確認します。焼き込みの場合は、別字幕も有効になって二重表示しないかを確認します。ここまでの再生を行っていなければ、「ファイル点検済み・再生未確認」のように状態を分けて残します。

修正量を比較するときは、文字修正した字幕数、数字・否定などの重要な誤り、時間修正した字幕数、原音照合と再生確認の作業時間を記録します。同じ字幕を複数回直した場合の数え方も決めます。生成時間だけを比べても、公開に必要な作業量は分かりません。

字幕を渡すときに残すもの

動画の版、字幕の版、確認した表記資料、字幕ID別の修正、聞き取りの確認待ち、再生した環境をまとめます。文字の確認済み、時間の確認済み、表示の確認済みを分けて記録してください。

内容を確認できない字幕が残っているなら、担当者へ該当IDと理由を渡します。ファイルの構造検査を通ったことを理由に、その字幕の意味まで確認済みにしません。原音、正しい表記、対象の動画、書き出した表示が対応して初めて、使う範囲を判断できます。

参考資料

公式資料の確認日:2026年10月20日。字幕文と時刻は架空例です。限定した時刻条件をローカルで検算していますが、WebVTT全仕様への適合、音声認識、同期、読みやすさ、CapCut操作、実動画の再生・表示は検証していません。