メインコンテンツへスキップ
SubtitleMatrix

字幕をプレーンテキストに

書き出しプレーンテキストの文字起こし
字幕テキストを貼り付けることもできます

オプション

ある字幕が終わって次が始まるまでの無音の長さ(ミリ秒)です。この値に達すると文字起こしは新しい段落を始め、下回る場合は2つを続いた発話として扱います。この数値は内容ではなく読みやすさを決めます。2000 なら字幕が文を3つか4つに分けていても1つの文としてまとまり、0 なら字幕ごとに1段落になります。間隔は最後に言葉があった字幕から測るため、途中の空の字幕が段落を分けることはありません。

既定ではオフで、そのまま文書に貼り付けられるプレーンテキストになります。オンにすると各段落の先頭に [HH:MM:SS] が付きます。その段落の最初の字幕の開始時刻を秒単位で示し、ミリ秒は含みません。読み手はこの印を手がかりにプレーヤーでその瞬間を探せます。開始・中間・終了の3つの候補のうち、プレーヤーの表示と一致するのは開始だけです。

タイミングを数える基準のフレームレートです。形式のページでは MicroDVD が必要とする値で、同形式は時間をフレーム番号で保存します。フレームレートのページでは、そのファイルがどのレートを前提に作られたか(字幕が合わせて作られた版)を指し、ページの2つ目の欄には実際に使う動画のレートを入れます。よく使われるのは 23.976、24、25、29.97、30、50、59.94、60 です。間違えると時間軸全体がずれます。フレームレートのページでは、ずれは固定量ではなく比率で生じます。

この頁は字幕ファイルを読み、同じ言葉を流れるプレーンテキストの段落として返します。画面の都合で入っていた改行はつなぎ、続けて現れる cue は 1 つの連続した文章として読みます。ファイルを投入して実行すれば、議事録、レビュー用の紙、記事に貼れる散文の塊が出ます。ブラウザのタブから何も出ないので、送信できない素材もその場に留まります。

はっきりさせておくべきは改行です。字幕ファイルの改行は文と関係のない理由で使われます。行が画面に長すぎるようになったので切り、2 つの半分の長さを揃えたのです。字幕ファイルを .txt として保存するとその改行が残り、1 cue が 1 行になります。テキストをプレーヤーに戻すならそれが欲しい形です。文字起こしは人が頁の上で読むもので、文の途中の改行は雑音なので、この頁はつなぎます。文の 2 つの半分は 1 行になり、後から画面の改行がどこにあったかを知る方法はありません。

段落は cue ではなく沈黙で決まります。1 cue 1 段落にすると 3、4 秒ごとに文が切れます。普通の字幕ファイルは 1 つの発話をいくつかの cue に切り、それぞれをタイミングに収めるからです。代わりに頁は、ある cue の終わりから次の cue の始まりまでの間隔を見ます。約 2 秒の間隔で新しい段落が開き、それより短ければ言葉は続きます。その数は箱にあり、考える価値のある唯一の設定です。速いやり取りには低く、1 つの考えの中に長い沈黙がある講義には高くします。0 にするとすべての cue が自分の段落になり、この頁で 1 cue 1 行に最も近い形になります。

各段落の先頭に開始時刻を付けるスイッチもあり、既定では切っています。入れると [00:42:17] のような刻印が各段落の前に付き、その段落の最初の cue から読み取ります。秒までで、ミリ秒は意図的に落とします。刻印は読者がプレーヤーでその瞬間を探すためのもので、00:42:17 でそれができます。代わりにすべての cue に刻印を付けると、文字起こしが余計な句読点の付いた字幕ファイルに戻ってしまいます。

この頁がしないのは、何かに名前を付けることです。ここで読む字幕形式はどれも誰が話しているかを記録しません。SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV はすべて時刻とテキストを保存し、そのテキストの中のラベルは人が言葉の中に打ち込んだものです。だからこの頁の文字起こしは話者名を運ばず、行の形から推測して発明することもしません。中身がまったくない cue は空の段落として残さずに飛ばし、各行は前後の空白を落とすので、cue が短く切れた場所に余計な空白の連なりは残りません。

例

1 つの文として読める 2 つの cue

入力

1
00:00:01,000 --> 00:00:03,000
I missed the last train home
and had to walk.

2
00:00:03,400 --> 00:00:05,000
Back before midnight,
you said.

3
00:00:09,000 --> 00:00:11,000
Every night this week?

出力

I missed the last train home and had to walk. Back before midnight, you said.

Every night this week?

3 つの cue が入って 2 つの段落が出ました。最初の 2 つの cue は 400 ミリ秒差で 2 秒の沈黙より十分短いので 1 つの段落に留まり、各 cue の 2 行の表示行は 1 行につながります。3 番目の cue は 4 秒の間隔の後に来て 2 つ目の段落を開きます。言葉はすべて残っており、変わったのはどの改行が生き残ったかです。

ちょうど 2 秒の沈黙

入力

1
00:12:30,000 --> 00:12:32,000
The train was late
again.

2
00:12:34,000 --> 00:12:36,000
Third time this week.

出力

The train was late again.

Third time this week.

2 番目の cue は 1 番目が終わってからちょうど 2 秒後に始まり、それが沈黙の箱の数と等しく、新しい段落が始まる瞬間です。この頁の算数を確かめるならこの例です。箱を 2500 にすると 2 つの cue は 1 つの段落につながります。2 秒の間隔はもうしきい値に届かないからです。

同じファイルに開始時刻を付ける

入力

1
00:02:15,000 --> 00:02:17,000
Here is where
we came in.

2
01:47:52,000 --> 01:47:55,000
And here is
where we leave.

出力

[00:02:15] Here is where we came in.

[01:47:52] And here is where we leave.

時刻の刻印を入れると、各段落の前にその段落を開く cue の開始時刻が秒まで付きます。2 つ目の段落は 2 時間近くの地点で、時を分に換算せず書き出す理由が分かります。01:47:52 は読者がどこへスクラブすればよいかを伝え、107:52 は伝えません。

よくある質問

字幕を .txt として保存するのとどう違いますか?

改行です。字幕ファイルを .txt として保存するとファイル自身の改行が残り、1 cue 1 行になります。その出力は字幕ファイルとして読み戻すためのものだからです。この頁は逆をします。cue 内の表示上の改行を 1 行につなぎ、間隔が短い場所では cue 全体を段落につなぎます。言葉はどちらでも同じです。元の改行を保つ必要があるならプレーンテキストへの変換が目的の頁で、人が散文として読めるものが欲しいならこの頁です。

この頁はどこで段落が終わり次が始まると決めますか?

cue 自体ではなく cue の間の沈黙で決めます。ある cue の終わりから次の cue の始まりまでの間隔を測り、その間隔が沈黙の箱の数(既定 2000 ミリ秒)に達したら新しい段落を開きます。それより近い cue は 1 つの連続した文章として読みます。1 つの発話はふつう 3、4 の cue に切られ、それぞれが自分のタイミングに収まるので、cue ごとの段落では数秒おきに文が切れ、文字起こしの見た目になりません。

沈黙を 0 にするとどうなりますか?

0 は空の箱ではなく実際の値です。すべての間隔がそれに達するので、すべての cue が自分の段落になります。各 cue 内の表示改行はつながったままで、この頁で 1 cue 1 行に最も近い形です。ファイルが連続した発話ではなく独立した文の並び — スライドの集合や構造化面接の答え — で、それぞれを独立させたいときに選ぶ設定です。

時刻の刻印が秒までしか正確でないのはなぜですか?

文字起こしの刻印は切り口ではなくしおりだからです。読者がプレーヤーでその箇所をもう一度見つけるためのもので、1 時間の番組なら 00:42:17 でその文に着地するのに十分な精度です。ミリ秒は各段落の先頭に 4 文字を足すだけで、誰かがスクラブする位置を変えません。すべての cue にミリ秒までの刻印を付けるのは字幕ファイルの役目で、投入したファイルにはすでにそれがあります。

文字起こしに話者名は現れますか?

現れません。頁が省いているからではありません。ここで読む形式に誰が話しているかの欄がありません。SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV はすべて時間範囲とテキストを保存します。ファイルが話者を名指ししている場合、その名前はセリフ自体に打ち込まれており、ふつうは大文字か先頭のダッシュ付きなので、ファイルが置いた場所にそのまま現れ、ほかには現れません。行の形から推測することはなく、話者ラベルとして提示された推測はラベルなしより悪いものです。

テキストを含まない cue はどうなりますか?

飛ばされ、空行すら残しません。中身のない cue はふつう読むためではなく位置決めのために存在し、残すと文字起こしの文の途中に説明のない穴ができます。飛ばしても段落分けは乱れません。段落を決める沈黙は、実際に言葉を持っていた最後の cue に対して測るので、2 つの発話の間に座る空の cue がそれらを分けることはありません。

画面にあった改行は文字起こしに残りますか?

残りません。これはこの頁で後から元に戻せない唯一のことです。改行の位置は出力のどこにもありません。それらは画面幅に合わせたレイアウトの判断で、頁の上の読者は画面幅ではなく文を求めます。だから頁はそれらを解決します。改行を保ったコピーが必要ならプレーンテキストへの変換を使ってください。ファイルが書いたすべての改行をそのまま、1 cue 1 行で保ちます。

関連ツール