LRC を SRT に変換
字幕テキストを貼り付けることもできます
オプション
元のファイルに終了時刻がない場合(プレーンテキストや LRC)に使います。出力の時間軸は変換ではなくここで生成されるため、この値がそのまま表示時間になります。
この変換で変わること
1 項目が失われるか、判断が必要です
- タイミング
字幕の終了時刻(元の形式が記録していないため、出力側は変換ではなく生成されます)
この一覧は、読み込んだファイルではなく、この2つの形式の機能対応表から作られています。形式としては許されているが対応表が扱っていない機能を使っている場合、そのファイルではさらに多くが失われることがあります。
LRC は歌詞のための形式です。角かっこのタイムスタンプのあとに 1 行の言葉が続き、行が始まる時刻は書きますが、終わる時刻は書きません。歌詞プレイヤーが次の行まで表示し続けるからです。このページは次の行の開始時刻を前の行の終了時刻として使います。プレイヤーがハイライトを進めるときと同じ規則です。
形式の細部はごまかさずに扱います。複数の行が 1 つのタイムスタンプを共有できます(原文と翻訳など)。それらはひと組なので、同じ瞬間を争う 2 つの字幕ではなく、複数行を持つ 1 つの字幕になります。最後の行には終了時刻を借りる次の行がないため、上で設定した表示時間を与え、生成した終了時刻であることをレポートで知らせます。
ヘッダーのメタデータも読み取ります。タイトルとアーティストは変換先が保持できる範囲で残し、オフセットタグは適用せず保持します。出力はファイルに書かれている内容に一致します。処理はすべてブラウザ内で動きます。
例
LRC の典型的なファイルを SRT に変換
入力
[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.出力
1
00:00:12,000 --> 00:00:15,300
First line of the song.
2
00:00:15,300 --> 00:00:18,000
Second line.
Second line, translated.
3
00:00:18,000 --> 00:00:21,500
4
00:00:21,500 --> 00:00:23,500
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]出力
1
00:00:03,000 --> 00:00:05,500
Out of order.
2
00:00:05,500 --> 00:00:07,000
Leading zero omitted, one decimal.
3
00:00:07,000 --> 00:00:09,000
Second with no centiseconds.
Repeated chorus line.
4
00:00:09,000 --> 00:00:12,000
Repeated chorus line.
5
00:00:12,000 --> 00:00:14,000
実在するファイルによくある損傷です。混在した改行コード、余分な空白、空のフィールド。上の整った例と比べると、パーサーがどこまで許容するかが分かります。
よくある質問
LRC から SRT への変換で、歌詞の行はどうやって終了時刻を得るのですか?
次の行の開始時刻です。ある行の終わりは次の行が始まる瞬間で、歌詞プレイヤーがハイライトを進めるのと同じです。そのため最後の行を除き、出力の終了時刻はすべて正確です。
LRC から SRT に変換すると、最後の行はどうなりますか?
次の行がなく終了時刻を借りられないため、ファイル欄の下の表示時間(変更しなければ 2 秒)が使われます。ファイルに書かれていなかった終了時刻を生成したことを、レポートが示します。
LRC から SRT への変換で、2 つのタイムスタンプが 1 つの字幕になるのはなぜですか?
それらの行が開始時刻を共有しているからです。LRC は翻訳や二人目の声を同じ歌詞の下に置くためにこの書き方を使います。同じ瞬間に始まる 2 つの字幕はどのプレイヤーにもうまく表示できないため、複数行を持つ 1 つの字幕になります。
LRC のオフセットタグは SRT への変換で適用されますか?
読み取って保持するだけで、適用はしません。出力の時刻はファイルに書かれているとおりになります。プレイヤーがオフセットで早送り・遅延して見えていたなら、同じだけここでずらせば見えていたものと一致します。
LRC のヘッダーにあるタイトルとアーティストは SRT でどうなりますか?
メタデータとして読み取ります。字幕形式にはタイトルの欄があるので、入るところには入り、入らないところでは失われたと報告します。アーティストは歌詞の概念で、字幕ファイルに対応する欄がありません。