toolsmith

アップロードなし · すべてブラウザ内で処理

SRTとVTT — どちらの字幕ファイルが必要か

テキストエディタで両方を開いても見分けがつきにくいはずです。違いはごく小さいのですが、そのうちのひとつが、ウェブページで字幕がまったく出ないかどうかを決めています。

更新

どちらも時刻の付いたただのテキストです

SRTは番号の付いた塊の一覧です。各塊に番号、`00:00:01,000 --> 00:00:04,000`のような開始・終了時刻、そして出す行が入ります。形式はそれで全部です。単純だからこそどこでも通ります — 再生ソフト、テレビ、編集ソフト、動画プラットフォーム。

VTTは同じ発想をウェブ向けに書き直したものです。ブラウザーがHTMLの動画要素で字幕をそのまま描けるよう標準化され、SRTには置き場のなかったものを入れる余地ができました。

違いのすべて

多くはなく、どれも機械的なものです。

  • VTTファイルは`WEBVTT`という行で始まらなければなりません。この行がないとブラウザーはファイル全体を拒みます — 字幕が何も言わずに出ない、いちばん多い理由です。
  • 1秒未満を区切る記号が、SRTはコンマ、VTTはピリオドです。
  • SRTは塊の番号が必須です。VTTはあってもなくてもよい見出しとして扱います。
  • VTTは位置・揃え・文字の見た目・話者表示を持てます。SRTにはその概念自体がありません。
  • HTML5動画の`<track>`要素はVTTしか受け付けません。SRTは読み込みません。

ではどちらが要るのか

自分の作るウェブページで動画を再生するならVTTです。選択の余地はありません。それ以外のすべての場所ではSRTが安全です — デスクトップの再生ソフト、スマートフォン、テレビ、編集ソフト、主要な動画プラットフォームがすべて受け付け、そのうちいくつかはVTTを受け付けません。

変換は機械的な作業なので悩む価値はありません。当サイトの字幕ツールは同じ認識結果から両方のファイルを書き出すので、渡す先が求めるほうを持っていってください。

自動字幕はどう作られ、どう間違うのか

自動字幕は音声認識モデルから出てきます。音声を復号して16kHzに落としてモデルに入れると、文字と各区間の開始・終了時刻が返ります。ここではそれがブラウザーのタブの中で起きるので、モデルを先に受け取る必要があります — 選ぶものによって151MBか291MBなので、ツールは始めた後ではなく押す前にその数字を言います。

知っておくべき失敗の仕方は、音が悪いと文字が少し悪くなるのではなく同じ言葉を繰り返して崩れることです。1948年の演説録音を入れたら同じ音節ばかりを返しました。同じ言語のきれいな現代の録音では40語ほどのうち2か所を間違えただけでした。言語が難しいのではなく録音品質の問題だったのです。いちばんよく出会う失敗なので、FAQではなく画面の常時警告にしています。

ただし代償がいちばん大きい間違いは言語の選択です。認識モデルに違う言語を指定しても止まりません。流暢で自信のあるでたらめを作り出します — 英語の録音が日本語の百二十行として書き起こされた例を実際に見ました。音声と何の関係もないのに文章はもっともらしい、というときはまずここを確認してください。

翻訳はまた別の仕事です

翻訳はさらに別のモデルが行います。4億1800万パラメータの多言語モデルで、100の言語をどの向きにも訳します。タブの中で回る程度に小さく、その大きさが品質を決めています。

正直に書くとこうです。20行のうち15行ほどはよく出て、5行はぎこちないが意味は通ります。普通の文は問題ありません。滑るのは慣用句です — 「let's wrap this up」(そろそろ終わりにしよう)がスペイン語でもドイツ語でも「さあ始めよう」寄りに出ました。小さな誤りではありません。

非常に短い感嘆文だけは、滑るどころか同じ語を繰り返して崩れます。それをそのまま出す代わりに、ツールは崩れを見つけて原文をそのまま残します。人の手が要る行がどこかを見えるようにするためです。

アップロードせずに、いま試す

.srtを.vttに名前だけ変えればよいですか。

だめです。`WEBVTT`の見出し行がなく、時刻の小数点の位置にピリオドではなくコンマが入っています。ブラウザーはその場で拒みます。変換自体は簡単ですが、名前の変更ではありません。

字幕は動画に焼き込まれますか。

いいえ。字幕ファイルは動画の横に別にあり、再生ソフトがそれを描きます。そのほうが良いのです — 見る人が消せますし、誤字を直すのに動画を再エンコードする必要がなく、同じ動画に複数の言語を付けられます。

文章は滑らかなのに音声とまったく関係のない内容です。

言語設定が違います。音声モデルは違う言語を求められても失敗せず、その言語で意味の通る文章を自信たっぷりに作り出します。実際に話されている言語に合わせて、もう一度実行してください。

読んでおくと役に立つ記事