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

LRC を ASS に変換

形式変換歌詞(LRC)
字幕テキストを貼り付けることもできます

オプション

元のファイルに終了時刻がない場合(プレーンテキストや LRC)に使います。出力の時間軸は変換ではなくここで生成されるため、この値がそのまま表示時間になります。

この変換で変わること

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

  • タイミング

    字幕の終了時刻(元の形式が記録していないため、出力側は変換ではなく生成されます)

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

LRC の字幕を ASS に変換するページです。ファイルをドラッグするか、テキストを貼り付けてください。ASS 版がその場で返ります。変換はすべてブラウザ内で完結するため、アップロードはなく、アカウントも要りません。

この二つの形式は保存できるものが違い、その差は見た目だけではありません。終了時刻の置き場所が ASS にありません。上の一覧はファイルの内容ではなく、二つの形式がそれぞれ表現できるものから作られます。そのため、ファイルを読み込む前から答えは同じです。

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

例

LRC の典型的なファイルを ASS に変換

入力

[ti:Sample Song]
[ar:Some Artist]
[length:00:41.00]
[offset:+250]
[00:12.00]First line of the song.
[00:15.30]Second line.
[00:15.30]Second line, translated.
[00:18.00]
[00:21.50]Final line.

出力

[Script Info]
Title: Sample Song
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:12.00,0:00:15.30,Default,,0,0,0,,First line of the song.
Dialogue: 0,0:00:15.30,0:00:18.00,Default,,0,0,0,,Second line.\NSecond line, translated.
Dialogue: 0,0:00:18.00,0:00:21.50,Default,,0,0,0,,
Dialogue: 0,0:00:21.50,0:00:23.50,Default,,0,0,0,,Final line.

この出力で失われるのは終了時刻です。それ以外は行単位で一致します。

同じ変換を、乱れた入力で行う

入力

[ar:Some Artist]
[0:05.5]Leading zero omitted, one decimal.
[00:07]Second with no centiseconds.
[00:03.00]Out of order.
[00:07.00][00:09.00]Repeated chorus line.
[00:12.00]

出力

[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:03.00,0:00:05.50,Default,,0,0,0,,Out of order.
Dialogue: 0,0:00:05.50,0:00:07.00,Default,,0,0,0,,Leading zero omitted, one decimal.
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0,0,0,,Second with no centiseconds.\NRepeated chorus line.
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Repeated chorus line.
Dialogue: 0,0:00:12.00,0:00:14.00,Default,,0,0,0,,

実在するファイルによくある損傷です。混在した改行コード、余分な空白、空のフィールド。上の整った例と比べると、パーサーがどこまで許容するかが分かります。

よくある質問

LRC の各字幕の終了時刻は ASS でどうなりますか?

LRC は行が始まる時刻だけを記録し、終了時刻は持ちません。歌詞プレイヤーは次の行が始まるまでその行を出し続けるため、終了時刻は冗長だからです。LRC の終了時刻はすべて落ち、開始時刻はそのまま残ります。

LRC を ASS に変換すると、出力はどんな形になりますか?

出力は ASS です。字幕番号はなく、各字幕は [Events] セクションの Dialogue: 行になります。SRT が番号を置く位置にはレイヤーの欄が入ります。LRC の各字幕ブロックは、同じ順序・同じ本文のまま 1 つの字幕になります。

LRC の 2 行の字幕は ASS でどう出力されますか?

2 行のまま、間に \N が入ります。ASS が強制改行を書くときの記法です。2 行が 1 つの字幕に属するという対応は残り、プレイヤーは 2 行をまとめて表示します。

LRC の字幕の順序は ASS でも保たれますか?

はい。変換の途中で開始時刻の昇順に並べ替えます。最も早いものが先頭で、どの形式もプレイヤーもその順序を前提にしています。LRC の字幕が順不同だった場合、ASS では順序が直ります。これは内容ではなくファイル構造の変更で、意図した動作です。

ASS を LRC に戻す変換はできますか?

できます。ただし逆方向には独自の損失一覧があります。ASS から LRC への変換では終了時刻・スタイル・画面位置・カラオケ・形式固有の内容が失われます。上の一覧と違うのは、二つの形式が保存できるものが違うからです。

LRC から ASS への変換で文字コードは引き継がれますか?

いいえ。出力は UTF-8、改行コードは LF、BOM なしです。入力が UTF-16 や Windows のシングルバイト文字コードでも、読み込み時にデコードされます(その場合は結果パネルに表示されます)。出てくるのは常に同じ UTF-8 の ASS です。

関連ツール