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

CSV を ASS に変換

字幕テキストを貼り付けることもできます

この変換で変わること

1 項目が失われるか、判断が必要です

  • 精度

    タイミングの精度(変換先の時計はより粗いため、すべてのタイムスタンプは 10 ms 単位に丸められます)

この一覧は、読み込んだファイルではなく、この2つの形式の機能対応表から作られています。形式としては許されているが対応表が扱っていない機能を使っている場合、そのファイルではさらに多くが失われることがあります。

このページは CSV を ASS に変換します。ファイルをドロップするか、テキストを貼り付けてください。ASS 形式で返ります。変換はすべてブラウザ内で実行され、ファイルはアップロードされません。登録も不要です。

CSV は 1 cue を 1 行で持ち、start や begin などの列名の別名を照合し、引用符で囲んだカンマや改行を 1 つのセルとして扱います。CSV と ASS は保存できる情報が同じではなく、その差は見た目の問題ではありません。ASS では精度(100 分の 1 秒への丸め)が行き場を失います。上の一覧は、読み込んだファイルではなく、2 つの形式がそれぞれ表現できるものから算出しています。だからファイルを開く前から同じ答えになります。

1 本でも、シーズン全体でも構いません。キューは順番に処理され、結果は 1 つの ZIP にまとめてダウンロードできます。

例

CSV ファイルを ASS に変換した例

入力

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

出力

[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,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:03.50,Default,,0,0,0,,The quick brown fox.
Dialogue: 0,0:00:04.00,0:00:06.25,Default,,0,0,0,,Jumps over, the lazy dog.
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0,0,0,,Two lines here.\NAnd a second one.

この出力で失われるもの:精度(100 分の 1 秒への丸め)。それ以外は行単位で一致します。

同じ変換を扱いにくい入力で行った例

入力

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

出力

[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,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:04.00,Default,,0,0,0,,Hello there, friend.
Dialogue: 0,0:00:05.00,0:00:07.00,Default,,0,0,0,,Second line.
Dialogue: 0,0:00:10.00,0:00:10.01,Default,,0,0,0,,End before start.
Dialogue: 0,0:00:12.00,0:00:14.00,Default,,0,0,0,,Unquoted comma in text, right here.

実際のファイルには、混在した改行コード、余分な空白、空のフィールドなどがあります。上の整った例と比べて、パーサーがどこまで許容するかを確認してください。

よくある質問

CSV を ASS に変換するとタイムコードはなぜ変わるのですか?

ASS は時刻を 0:00:04.13 で保存し、CSV は 00:00:04.126 で保存します。100 分の 1 秒と 1000 分の 1 秒の違いなので、各タイムコードは 10 ms 単位に丸められます。00:00:04,126 は 4.13 秒になります。伸縮や並べ替えはなく、cue の移動は最大 5 ms です。別のファイルと突き合わせる場合、ここだけが不正確になります。

CSV を ASS に変換した出力はどんな形ですか?

ASS らしく、cue 番号はありません。各字幕は [Events] セクションの Dialogue: 行になり、SRT が番号を持つ位置にはレイヤーフィールドが入ります。CSV の各 cue は同じ順序・同じ本文で 1 つの ASS cue になります。

CSV の 2 行の cue は ASS でどう表現されますか?

バックスラッシュ N(\N)で区切られた 2 行になります。\N は ASS と SSA が強制改行を書く方法です。2 行が 1 つの字幕に属する関係は保たれ、プレーヤーは 2 行を一緒に表示します。

CSV の cue の順序は ASS 出力でも保たれますか?

はい。書き出し時に開始時刻の昇順へ並べ替えます。早いものが先で、これは本サイトのすべての形式が前提とする順序であり、プレーヤーが読み取る順序でもあります。CSV ファイルの cue が順不同だった場合、ASS 出力では順序が直ります。これは内容ではなくファイル構造の変更で、意図した動作です。

ASS を CSV に戻せますか?

はい。ただし逆方向には独自の損失一覧があります。ASS から CSV への変換ではスタイル(フォント・色・縁取り)、画面位置、カラオケのタイミング、形式固有の情報が失われます。2 つの形式が保持する情報が違うため、一覧は上とは別になります。

ASS 出力は CSV ファイルの文字コードを引き継ぎますか?

いいえ。入力が何であっても、出力は UTF-8、Unix 改行、BOM なしです。UTF-16 や Windows のシングルバイト文字コードで届いたファイルは読み込み時にデコードし、そのことは結果パネルに表示されます。出てくるのは常に同じ UTF-8 の ASS です。

関連ツール