ASS を SBV に変換

ここで ASS を SBV に変換できます。無料、アカウント不要です。ファイルを上の枠に落とせば、数秒で結果がダウンロードできる状態になります。 変換はお使いのブラウザーの中で行われるので、ファイルはアップロードされません。Windows でも macOS でも Linux でも、iPhone でも Android でも同じように動き、通信を切っても動き続けます。

  • 処理される場所 ブラウザーの中です。ファイルがアップロードされることはありません。
  • 作り直し SBVはASSとは仕組みが違います。非可逆コーデックのような段階的な劣化ではありません。SBVが表現できるものは忠実に再現され、対応するものがないものはまったく残りません。
  • ファイルサイズの上限 1ファイルあたり100MBまで。無料、アカウント不要です。
  • 知っておきたいこと 位置指定、フォント、効果は失われます。残るのは文字とその時刻だけです。

一度に100ファイルまで。フォーマットが混ざっていても構いません。

すべてを再スタイルするプラットフォームに出会う装飾字幕

Advanced SubStation Alpha は見た目を制御するために存在します。フォント・サイズ・輪郭線・影を持つ名前付きスタイル、行ごとの色や位置の上書き、回転、アニメーション、カラオケのタイミング、ベクター図形。ファンサブやよく作り込まれた講演の字幕トラックはそのほとんどを使っており、それをキャプション形式に渡す過程で失うのは、変換のせいのように感じられます。

そうではありません。YouTube は字幕を自前のタイポグラフィで描画し、視聴者にフォント、サイズ、色、背景の不透明度、縁取りのスタイルを変更できる設定パネルを提供します。アップロードされたファイルが見た目について何を語っていても、どの受け入れ形式であっても取り込み時に捨てられます。つまりこのページが実際に答えられる問いは、どうすればスタイルを保てるか——何も保てません——ではなく、装飾ではなく意味を運んでいた部分をどうすべきか、です。

標識類はセリフの上に重なるキャプションになる

意味を運んでいた部分とは標識類です。店名、携帯電話の画面のメッセージ、章題、翻訳先が示す対象の隣に置かれた翻訳キャプションなど。ASS ファイルの中では、それぞれが正確に位置指定され、しばしば元の表示に似せてスタイルされ、同時にセリフが画面にある間に表示されるようタイミングが取られています。

変換後は、フレームの下部にある普通のキャプション行になり、時間的にセリフと重なるので、YouTube はそれらを積み重ねます。標識の下で 2 人が話しているシーンは、同じ帯を奪い合う 3 行になり、視聴者はどれがセリフでどれが翻訳の注記なのか見分けられません。標識がわずかな数のトラックでは見た目が乱れる程度ですが、装飾の多いトラックではキャプションとして使い物にならなくなります。

代わりに装飾を映像に焼き込む

標準的な答えであり、装飾が実質的な役割を果たしているトラックにとって正しい答えです。符号化の際に ASS を映像へ描画してください。ffmpeg -i input.mkv -vf "ass=subs.ass" -c:a copy output.mp4 で 1 回のパスで済み、作者が意図したとおりのスタイル、位置、アニメーションがそのまま反映されます。それをアップロードしてください。

そして、セリフだけを SBV に変換してキャプショントラックとしてアップロードすれば、動画は検索可能でアクセシブルで翻訳可能なテキストを保ちます。標識の行は、変換前の ASS から、または変換後の SBV から削除してください。どちらも平文で、すぐに終わります。この組み合わせによって、そのトラックが本来目指していた装飾と、キャプショントラックが提供するアクセシビリティの両方が手に入ります。このプラットフォームでは、単独のファイルではどちらも実現できません。

ASS から SBV へ実際に渡るもの

3 つです。文字、行構造、タイミング。セリフの文字は素の文字として届き、\N と書かれた強制改行は YouTube が 2 行として表示する本物の改行になり、改行禁止スペース \h は普通のスペースになります。

それ以外はすべて失われます。各行が参照していたスタイル名、レイヤー、余白、エフェクトの欄、話者名、波括弧の中のすべての上書き指定。SBV にはそれらを置く場所がなく、これがこの形式が手作業で編集しやすい理由でもあります。1 つのエントリーはタイミングの行といくつかの単語だけで、ファイルの中に壊れるものが他に何もありません。

上書きタグは文字の中に残らず取り除かれる

ASS のセリフ行は、位置、色、フェード、アニメーションといった指示を波括弧のブロックとして先頭に持つことが多く、行の途中にも持つことがあります。SBV が書かれる前にそれらは取り除かれるので、手に入るのは機械語が前置された文ではなく、文そのものです。

これは正しい振る舞いですが、知っておく価値のあることを 1 つ隠します。カラオケのタイミングは各音節の前にタグとして表されるので、タイミング付きの音節の連続として書かれた歌詞は、行全体が一度に表示される形に潰れます。単語はすべて残りますが、それにタイミングを付ける価値があった効果は残りません。ミュージックビデオにとってはこれは本物の損失で、上で挙げた焼き込みの経路だけがそれを保つ方法です。

描画コマンドは字幕の中に数字の並びを残す

ASS は図形を描けます。描画モードのタグがテキスト欄を座標言語に切り替え、続く「文字」はパスになります。m 0 0 l 100 0 100 50 0 50 といった具合です。装飾担当者はこれをマスク、標識の背景、矢印に使います。

タグを取り除くとモードの切り替え指示だけが消え、座標は残るので、それらの行は SBV の中で文字と数字からなる字幕として届きます。見分けやすく、アップロードする前に削除すべきです。そうしないと、字幕を有効にした視聴者は数字の羅列を見ることになります。変換後のファイルで「m 」と数字で始まる行を検索すれば、ほぼすべて見つかります。

ASS のコメント行はまったく変換されない

ASS のイベントセクションには 2 種類の行があります。Dialogue: と Comment: です。読まれるのは前者だけなので、作業メモ、別案の翻訳、無効化された標識、装飾担当者への備忘録は、決して字幕にはなりません。

これは両方向で知っておく価値があります。Aegisub で見ると内容が詰まって見えるファイルが、期待より少ないキュー数に変換されることがあるということです。かなりの部分がコメントアウトされていたということです。数が少ないと感じたら、まずこれを確認してください。同時に、ファイルはメモを安全に運べるということでもあり、これが作業中のトラックを他の何かではなく ASS のまま保つ理由の 1 つです。

列の順序は Format 行から読み取られるので、変則的なファイルも動く

イベントセクションは自身の列順を Format: 行で宣言しており、ファイルによって本当に異なります。順序は固定ではなく慣習であり、プログラムで ASS を生成するツールが常にその慣習に従うとは限りません。読み込み処理は、フィールドを数えるのではなくこの宣言から開始・終了・テキストの位置を取得します。

テキストは常に最後にあり、それ自体がカンマを含むことがあるので、その前のフィールドだけが分割されます。リストを含むセリフの行はカンマを保ったまま生き残ります。単純にフィールドを分割するパーサーならそれを壊してしまいます。実務上の帰結として、Aegisub からのファイルも、自動字幕ツールからのファイルも、多重化されたソースからのファイルも、同じように読めます。

SBV への変換でタイムスタンプは桁が 1 つ増える

ASS は 100 分の 1 秒単位で時刻を記録します——0:01:23.45。SBV は 1000 分の 1 秒単位です——0:01:23.450。すべてのタイムスタンプは末尾に常にゼロの桁が加わりますが、何も動きません。この変換は値の変換ではなく精度の変換だからです。

どちらの形式も時間の桁を 0 埋めしないので、最初の 1 時間の中のキューはどちらも 0: で始まります。タイミング行そのものの違いは、ASS はそれを 1 つのダイアログレコード内のフィールドとして綴り、SBV は 2 つの値をカンマで区切って独自の行に書き、続けて文字を書く点です。キューの順序は時刻ではなくファイルの順序に従います。これは装飾字幕にとって重要です。標識とセリフは時系列を外れて入り混じっていることが多く、その順序のまま保たれます。

ASS を残しておくことと、この変換が動く場所

ASS ファイルがマスターで、SBV は書き出しです。そのトラックを作る価値があった理由はすべて元データの中にあり、そのどれも字幕からは復元できません。翻訳が変わるたびに両方を編集するのではなく、SBV を作り直してください。YouTube Studio の中でキャプションが修正されたなら、修正済みの SBV を取り出して、その変更を ASS のほうへも反映してください。そうしないと 1 か月もしないうちに 2 つがずれてしまいます。

この変換はブラウザーのタブの中で動く素の JavaScript です。何もアップロードされず、エンジンもダウンロードされず、アカウントも 1 日の上限もありません。変換中のネットワークタブを見ればそれを確認できます。未公開の翻訳作業はまさに人々が慎重に扱うファイルの種類であり、ここでは気をつけるべきことが何もありません。

ASS を SBV に変換する手順

  1. お手元の ASS ファイル をこのページに落とすか、押してファイルを選んでください。
  2. 変換先に SBV を選びます。変換はブラウザーの中で行われ、ファイルはアップロードされません。
  3. できあがった SBV ファイル をダウンロードします。

ASS と SBV——何が変わるか

ASSとSBVの比較
ASSSBV
正式名称Advanced SubStation AlphaYouTube 字幕
拡張子.ass, .ssa.sbv
メディアタイプtext/x-ssatext/plain
最初の公開20022008
発行元Google
ライセンスオープン標準公開仕様、標準化はされていない
現在の位置づけ現行限定的
ブラウザで開けるか対応なし対応なし
代わりに検討される形式SRT, VTTSRT, VTT

結果を開く

開くプログラムが重なりません。ASS はAegisubとVLCで、SBV はYouTube StudioとSubtitle Editで開きます。結果を渡す相手には後者のどれかが要ります。

どちらの形式が何のためのものか

SBV は Google の形式で、2008 年から使われています。YouTube StudioとSubtitle Editがこの形式を読めます。

ASS から SBV:よくある質問

ASS ファイル はどこかにアップロードされますか。

いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。

ASS から SBV への変換は無料ですか。

はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。

ASS を SBV に変換すると品質は落ちますか。

ASS と SBV は、内容の表し方が根本から違います。ですからこの変換は複製ではなく再構築です。誠実ではありますが、1 バイトも同じというわけではありません。 位置指定、フォント、効果は失われます。残るのは文字とその時刻だけです。

できあがった SBV ファイル を開くのに、何かインストールが必要ですか。

変換には要りません。すでに開いているブラウザーの中で行われます。そのあと結果を開くには、お使いの端末がふだん YouTube Subtitle を表示するのに使っているソフトが必要です。

これらのフォーマットについて