Advanced SubStation Alpha

開く保存プレーンテキスト装飾あり

名前付きスタイル、任意のフォント、色、縁取り、影、そして行の配置・移動・アニメーションを指定するコードを備えた、ほぼ何でもできる字幕形式です。ファンサブの制作者は、四半世紀にわたってこの形式でタイプセットを行ってきました。その前身のSubStation Alpha(.ssa)も、同じ仕組みで読み取れます。

概要

拡張子.ass
メディアタイプ登録なし。慣習としてtext/x-ssa
仕様非公式。SubStation Alphaのスクリプトの注釈と、VSFilterやlibassが描画する内容によって定まります。
時間の精度100分の1秒
文字エンコーディング宣言されません。現在はUTF-8が一般的です。古いファイルは当時のエンコーディングで書かれており、Subtitldが自動判別します。
装飾名前付きスタイルと、テキスト内のオーバーライドコード(フォント、色、縁取り、影、回転、アニメーション)
表示位置自由に指定可能: スタイルの配置と余白、{\an8}、{\pos}、{\move}
話者各行のアクター(Name)。画面には表示されません。
コンテナ内MatroskaではS_TEXT/ASSまたはS_TEXT/SSAとして、添付フォントとともに格納されます。MP4では変換のみで、装飾は失われます。

ファイルの構造

ファイルは3つのセクションで構成されます。各セクションは角かっこで囲まれた見出しで始まり、その下にキー: 値の行が続きます。

[Script Info]
PlayResY: 800
 
[V4+ Styles]
Style: Default,Arial,44,…
 
[Events]
Dialogue: 0,0:00:30.80,…,Celia,…
  1. 1 · スクリプト情報

    キャンバスの情報です。位置を計算する基準となるサイズ(PlayResX、PlayResY)、行の折り返し方法(WrapStyle)、タイトルなどを指定します。

  2. 2 · スタイル

    名前付きの見た目です。フォント、サイズ、色、縁取り、影、配置、余白を定義します。SSAではこのセクションを[V4 Styles]と呼びます。

  3. 3 · イベント

    字幕1つにつき1行です。Dialogueは表示される字幕、Commentは表示されない行です。

Dialogue行

Dialogue: 0,0:00:30.80,0:00:34.00,Default,Celia,0,0,0,,{\an8}Why don't you…は、カンマ区切りで次の項目を持ちます。

項目 内容
Layer 数字が大きいレイヤーほど上に描画されます。SSAではMarked=0がここに入ります。
Start、End 開始時刻と終了時刻(100分の1秒単位)
Style 名前付きスタイルの1つ
Name アクター。誰が話しているかを示します。画面には表示されません。
MarginL、MarginR、MarginV この行に対するスタイルの余白。0の場合はスタイルの値を使います
Effect 古いスクロール効果。ほとんどは空です。
Text 行の残りの部分。カンマを含み、オーバーライドコードも含みます。

タイムコード

ミリ秒ではなく100分の1秒です。 時間は1桁、その後は小数点以下2桁です。ミリ秒単位で指定された字幕は、ASSとして保存するときに100分の1秒へ丸められます。

オーバーライドコード

波かっこで囲んだコードは、その位置以降の行を変更します。以下は一般的なコードと、Subtitldでの扱いです。

コード 効果 Subtitldでの扱い
{\i1}…{\i0} 斜体 保持
{\b1}、{\b700} 太字、または太さの指定 保持
{\u1}、{\s1} 下線、取り消し線 保持
{\c&H00D7FF&} 文字色 保持
{\r}、{\rSign} 行のスタイル、または別のスタイルの見た目に戻す 従う
{\an8} 行の配置。テンキーに対応する9つの位置 保持
\N、\n、\h 改行。WrapStyle: 2の場合のみ改行、改行されないスペース 行とスペースとして保持
{\pos(960,100)}、{\move(…)} 正確な位置、または移動の経路 保持されない
{\fad(200,200)}、{\t(…)} フェードとアニメーション 保持されない
{\k20} カラオケのタイミング 保持されない。テキストは残る
{\fnArial\fs48} フォントとサイズ 保持されない
{\p1}…{\p0} ベクターの図形 字幕ではない

色の並びは逆になっています。 &H00D7FF&は金色です。並びは青、緑、赤の順です。スタイルの色の前には透明度(アルファ)が付き、00が不透明、FFが透明です。

SSAかASSか

SubStation Alpha .ssa Advanced SubStation Alpha .ass
バージョン v4.00 v4.00+
スタイルのセクション [V4 Styles] [V4+ Styles]
配置 独自の番号: 下部は1、2、3、上部は5、6、7、中央は9、10、11 テンキーに対応する1から9
下線、取り消し線 — スタイルとコードで指定可能
レイヤー — 行ごとに1つ
主な利用先 古いツール Aegisub、再生ソフト、ファンサブ

ASSとSubtitld

.assに保持される内容
  • 各字幕のテキストと改行
  • 斜体、太字、下線、取り消し線、色(スタイルとコードから)
  • 画面上の表示位置
  • 話者(アクターとして)
  • 開始時刻と終了時刻(100分の1秒単位、順序どおり)
保持できない内容
  • 正確な位置、フェード、アニメーション、カラオケ
  • 行ごとのフォント、サイズ、縁取り。レイヤー
  • 図形とコメント
  • 原文の横に並ぶ翻訳、吹き替え、話者の顔

Subtitld独自の内容を残すには.usfxプロジェクトとして保存してください。

ASSまたはSSAファイルを開く

Subtitldは両方のバージョンを読み取り、次のように処理します。

  • 各行に、そのスタイルの見た目(斜体、太字、下線、取り消し線、白以外の色)と位置を与え、その後でテキスト内のコードに従います。
  • アクターを行の話者として扱い、吹き替え用に準備します。
  • Comment行と図形は読み飛ばします。図形の後に続くテキストは残します。
  • \nは、ファイルのWrapStyleの指定に従って処理します。スタイル2では改行、それ以外ではスペースになります。
  • 任意のエンコーディングを読み取り、字幕を順序どおりに並べます。

正確な位置、フェード、カラオケ、フォントなど、Subtitldが扱えない内容は省かれます。テキストそのものは残ります。

ASSの書き出し

Subtitldの書き出しダイアログ。ASSが選ばれ、見た目はSubtitldのプレビューに設定されている

エクスポート、次に字幕、そしてASSを選ぶと、次のオプションが表示されます。

  • テキスト原文、翻訳、または両方(翻訳は原文の下に配置)。
  • 話者名テキストから省くか、テキストの前に付けます(Thom: …)。どちらの場合も、アクターとして書き出されます。
  • 書式残すか、取り除きます。
  • 時間をずらすすべての字幕を、同じ量だけ早めたり遅らせたりします。
  • 見た目白の文字に黒い縁取り、またはSubtitldのプレビューどおり(そのフォント、色、影、半透明の背景ボックス)。
同じ字幕を2通りで動画に焼き込んだ例。白の文字に黒い縁取り、およびMontserratフォントで半透明の背景ボックスに表示したもの
libassが描画する2つの見た目Tears of Steel © Blender Foundation、CC BY 3.0

スクリプトは動画に合わせたサイズになります。PlayResXとPlayResYは動画の幅と高さで、唯一のスタイルであるDefaultは、その高さに合わせて拡大縮小されます。1080の高さでは60ピクセルです。拡張子を.ssaにすると、SubStation Alpha v4として、SSAの番号で位置が書き出されます。

豆知識

1996

SubStation Alphaは、Kotusが作った字幕エディタでした。そのスクリプト形式は、プログラムの名前を受け継ぎ、プログラム自体より長く使われています。

v4.00+

Advanced SubStation Alphaは、元のバージョン番号とプラス記号で自らを示します。セクションは同じで、コードが増えています。

BGR

色は青、緑、赤の順で書かれ、アルファ値は下がっていきます。00が不透明、FFが透明です。

関連する形式

.ass の修正が必要ですか?

Subtitld で動画と一緒に開き、波形上でタイミングを調整しましょう。

Subtitld をダウンロード