ASS の上書きタグを削除
字幕テキストを貼り付けることもできます
オプション
欄は1つ、選択肢は7つで、それぞれに専用のページがあります。斜体(Italic)、太字(Bold)、下線(Underline)、文字色(colour)はその種類の範囲だけを削除し、行の他のスタイルはそのまま残します。すべてのスタイル(All)はツールが扱うすべての範囲(この4つにカラオケのタイミングを加えたもの)を削除し、テキストの他の部分は変えません。すべてのスタイル+山かっこのマークアップ(HTML)は同じことをしたうえで、ツールが扱わないためにテキストに残っていた山かっこのマークアップ(VTT の <v Bob> 話者タグや <c.className> など)も取り除きます。すべてのスタイル+{...} 上書きブロック(ASS)は代わりに上書きブロックを対象にし、解析時に認識されなかった {...} コード({\fad(500,500)} など)を消します。このページはタイトルが示す選択肢を欄に入れ、他は出しません。
タイミングを数える基準のフレームレートです。形式のページでは MicroDVD が必要とする値で、同形式は時間をフレーム番号で保存します。フレームレートのページでは、そのファイルがどのレートを前提に作られたか(字幕が合わせて作られた版)を指し、ページの2つ目の欄には実際に使う動画のレートを入れます。よく使われるのは 23.976、24、25、29.97、30、50、59.94、60 です。間違えると時間軸全体がずれます。フレームレートのページでは、ずれは固定量ではなく比率で生じます。
このページは ASS または SSA ファイルから上書きコードを消します。スタイル範囲、カラオケのタイミング、残った効果ブロック、位置指定です。戻ってくるのは素の時間付きテキストで、言葉、字幕のタイミング、ファイル自身の構造はそのまま、行は名前付きスタイルが置く場所に座ります。
ASS は最も多くを語れる形式で、語れることの多くは行のテキストの中の上書きコードとして書かれます。ツールがモデル化するスタイル(`{\i1}`、`{\b1}`、`{\c&H...&}`、`{\k50}`)もあれば、モデル化しない効果(フェード、移動、拡大縮小、ぼかし)もあり、どれも同じ形のブロックとして書かれます。モデル化されないブロックは読み込み中は意図的にテキストに残されます。ツールが読めないマークアップを食べるのはデータを失うことだからです。それを一掃するのがこのページです。
位置指定もここで消え、それがこのページのマークアップ削除だけではない唯一の部分です。行がどこに座るかはテキストの上の範囲ではなくイベント全体の性質なので、位置指定された行は名前付きスタイルが置く場所へ戻ります。それで出力が本当に素になります。名前付きのスタイルシート自体はそのままで、スタイルが太字の字幕は後も太字に見えます。太さがテキストではなくスタイルに属するからです。
残るコードが 1 つあり、ページは見つけるのに任せずそう告げます。`{\an8}` のような 9 マスの配置コードは書かれたとおりに保たれます。水平だけでなく垂直の配置も符号化し、ツール自身の配置の考え方は左、中央、右しかカバーしないので、残りの半分を置く場所がありません。半分だけ理解すると往復の壊れたファイルになります。何もアップロードされず、削除するもののないファイルはバイト単位でそのまま戻ります。
例
スタイルと残った効果ブロック
入力
[Script Info]
Title: fade
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\fad(500,500)}{\i1}hello{\i0}
出力
[Script Info]
Title: fade
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,hello
`{\fad(500,500)}` は行を 0.5 秒ずつでフェードイン、フェードアウトするようプレーヤーに求めます。ツールはそれをモデル化しなかったので、この実行が一掃するまでテキストに残っていました。隣の斜体の対も同じように消え、行そのものが残ります。出力のどこにもフェードがあった痕跡は残りません。
位置指定された行
入力
[Script Info]
Title: position
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\pos(100,200)}hello there
出力
[Script Info]
Title: position
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,hello there
行はもうどこに座るかを告げられていないので、イベントが名指しするスタイルが置く場所へ戻ります。これが実行の中で単なるマークアップ削除ではない唯一の部分で、ファイルを単に強調なしにするのではなく素にする必要があるときにこのページが正しい理由です。
残る 9 マスの配置コード
入力
[Script Info]
Title: alignment
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\an8}hello there
出力
[Script Info]
Title: alignment
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\an8}hello there
これは変更されずに戻り、取りこぼしではありません。`{\an8}` は上と中央を同時に言い、ツールの配置は左、中央、右しかカバーしないので、垂直の半分に居場所がありません。そのためタグを半分だけ理解するのではなく丸ごと保ちます。位置コードは消え、こちらは消えません。
よくある質問
9 マスの配置タグがこのページを生き延びるのはなぜですか?
ツールがそれを正確に表せないからです。`{\an8}` のような配置は 9 つのマスの 1 つを名指しし、水平位置と垂直位置を同時に符号化しますが、ツール自身の配置は左、中央、右しか持ちません。水平の半分を保存して残りを落とすと往復が壊れるので、タグは逐字で保たれます。位置コードは消え、配置コードは消えず、ページは見つけるのに任せずそう告げます。
上書きブロックとは何で、なぜテキストの中にあるのですか?
行のテキストの中、波括弧の間に書かれた指示の組で、その行に何かをするようプレーヤーに伝えます。スタイルを変える、動かす、フェードさせる、移動させるなどです。ツールは一般的なスタイルの部分集合をモデル化して自分の構造に読み込み、残りは見つけた場所にそのまま残します。フェード、移動、ぼかしなどは捨てずに逐字で保たれます。読めないマークアップを捨てるのは静かにデータを失うことだからです。それらが最終的に消えるのがこのページです。
上書きコードを消すとタイミングやテキストは変わりますか?
変わりません。言葉はバイト単位で同じに戻り、各字幕はミリ秒まで開始と終了を保ち、字幕の順序はファイル自身のものです。字幕の中の改行はスタイルではなく字幕の一部なので、ファイルが置いた場所に残ります。変わるのは言葉の周りの指示と、場合によっては行が画面のどこに座るかです。
コードが消えた後も出力は正しく再生されますか?
再生され、以前より予測しやすくなります。プレーヤーが理解しない上書きコードは、最良でも無視され、最悪では誤って解析されます。特に効果コードについてはプレーヤーごとに意見が分かれます。素の時間付きテキストにはその曖昧さがありません。映像の特定のものの上に字幕を置くために位置指定に頼っていたなら、その配置は消え、行はスタイルが置く場所に座ります。
スタイルシートの名前付きスタイルも削除されますか?
削除されません。スタイルシートと各字幕が指すスタイルはそのまま残ります。ページは行のテキストの中に書かれたコードに働き、名前付きスタイルが太字の字幕は後も太字に見えます。太さが行自身のテキストではなくスタイルから来るからです。スタイルシートの整理は別の仕事で、まだそのページはありません。
SRT ファイルでも使えますか、ASS と SSA だけですか?
このサイトが読むどの形式でも使えます。SRT や WebVTT では前半の仕事(スタイル範囲の削除)はそのまま働き、波括弧のブロックはそれらの形式に現れないので一掃は何も見つけません。スタイルも波括弧ブロックもないファイルはバイト単位で戻り、それが何もすることがない実行の正直な結果です。