MediaScribe
🇯🇵日本語
Chromeに追加

変換 · TXT → VTT

TXTをVTTに変換

ウェブページに載せる字幕はVTTでなければならず、台本のTXTをそこへ届けるのがこの変換です。選んだ秒数の字幕ブロックが行ごとに生成され、先頭には正しいWEBVTTヘッダーが付き、あとは音に合わせて動かすだけの状態になります。タイミングの注意点、下書きの中身、ページへの組み込み方の順に説明します。

更新日

TXT→VTTブラウザ内で処理 · アップロードなし

入力 — TXT

⏱ テキストには時間情報がありません。1行が の字幕になります。これは下書きなので、実際のタイミングは編集ソフトで合わせてください。

出力 — VTT

TXTをVTTに変換する

上のツールに台本を貼り付けるか(1行が1つの字幕ブロック)、.txtファイルをドロップしてください。各行の表示秒数を選ぶと、変換後のファイルがすぐ下に用意されます。ページはローカルで動き、何も保存しないので、未発表の商品のナレーション原稿も手元の端末に留まります。

形式が初めてなら、有効なWebVTT文書に必要なもので先頭行の意味を確認しておくと安心です。書き出す拡張子は必ず小文字にしてください。大文字混じりの拡張子を弾くプレーヤーがまれにあります。

タイミングについての正直な話

ただの台本には時間の情報が一切ありません。だからこのツールは、どの行がいつ出るべきかを知りようがなく、答えを作り上げることもしません。各行には選んだ長さが同じだけ割り当てられ、0秒から連続して並びます。ダウンロードされるのは下書きです——正しい構造、そのままの言葉、仮のタイミング。

これは出発点であり、完成した字幕トラックではありません。編集ソフトで開き、音声を聴きながらブロックを合わせてください。人が耳で確認する必要があるその一点だけは、テキストから字幕を作るツールに正直できません。

前に別形式の編集に慣れていると、タイムコードの区切りにコンマを打ちたくなる場面がありますが、この形式はピリオドでなければ無効です。保存前にもう一度区切り記号を見直しておくと安心です。

下書きの中身

出力はWEBVTTで始まり、台本の1行につき1ブロックが続きます。00:00:04.000 --> 00:00:06.500のようなタイムコード行のあとに言葉が来て、ミリ秒は仕様どおりピリオド、文字コードはUTF-8なので日本語も文字化けせずに往復します。識別子や配置設定、STYLEブロックはあえて省いていて、そのほうが下書きを動かしやすいからです。ただのテキストなので、2つの版をGitで比較したり、タイムラインを開く前にブラウザ上で誤字を直したりできます。編集ソフト向けの版が欲しいなら同じ下書きをSubRipで作る変換があります。

ページへの組み込み方

同期が終われば、<video>の中に<track kind="subtitles" src="intro.vtt" srclang="ja" label="日本語">を1行置くだけです。同じオリジンから配信するか、CDN上にあるならCORSヘッダーを足し、サーバーがtext/vttを返すようにしてください。ここを間違えるのが、正しく作ったトラックが表示されない一番よくある理由です。言葉がすでに公開済みの動画のものなら、既存の字幕をそのままダウンロードすれば打ち直す必要はありません。

よくある質問

TXTをVTTに変換するには?

変換ツールに台本を入れてください(1行が1ブロック)。行ごとの表示秒数を選ぶと.vttがすぐ下に用意され、そのままダウンロードできます。料金も登録も不要です。

本当のタイミングを検出できますか?

できません。台本には時計が入っていないため、各ブロックには選んだ長さが均等に割り当てられます。音に合わせる作業はそのあと編集ソフトで行います。

SRTではなくVTTを選ぶ理由は?

字幕の行き先がウェブページだからです。HTML5のtrack要素が読み込むのはWebVTTだけで、配信プレーヤーも同じ形式を前提にしています。タイムラインで使うならSRTのほうが安全です。

出力はWEBVTTの行から始まりますか?

はい。ヘッダーは自動で書かれ、タイムコードはピリオド、文字コードはUTF-8です。仕様どおりなので、そのまま検証をパスします。