JSON3 vs LRC:YouTube字幕と歌詞形式の比較
JSON3とLRCの構造、時間精度、行処理、使用例を比較。YouTube字幕を同期歌詞に変える無料JSON3 to LRCツールを紹介します。
JSON3とLRCは、まったく異なる問題を解決する形式です。JSON3はYouTubeの内部字幕形式で、ミリ秒と単語単位の時間を含めて字幕の細部すべてを保存します。LRCは音楽と一緒に時間同期されたテキストを表示するためだけに設計された軽量な歌詞形式です。JSON3をLRCへ変換すると、ミュージックビデオのYouTube字幕をプレイヤーが追えるカラオケ風歌詞にできます。
JSON3とLRCの早見表
| 項目 | JSON3(YouTube) | LRC(歌詞) |
|---|---|---|
| 拡張子 | .json3 または .json | .lrc |
| 形式の種類 | 構造化JSONオブジェクト | 1キュー1行のプレーンテキスト |
| タイムスタンプ | 整数のミリ秒(tStartMs) | センチ秒精度の[mm:ss.xx]タグ |
| 時間精度 | ミリ秒+単語単位オフセット | センチ秒(2桁) |
| 単語単位の時間 | 対応(tOffsetMs) | 非対応。1行1タイムスタンプ |
| 終了時刻 | 対応(dDurationMs) | 非対応。開始時刻のみ |
| 複数行キュー | 対応。1イベントに複数セグメント | 非対応。タイムスタンプごとに1行 |
| メタデータ | スタイルヒントとJSONメタデータ | 任意のIDタグ:[ti:]、[ar:]、[al:] |
| 作られた目的 | YouTubeの字幕配信システム | 初期のMP3歌詞プラグイン |
| 主な用途 | YouTube字幕の高忠実保存 | 音楽の同期歌詞表示 |
主な違いの解説
タイムスタンプと時間
JSON3はミリ秒整数で時間を記録し、各イベント内に単語単位オフセットも持てます。LRCは[mm:ss.xx]の角括弧タイムスタンプを使い、精度は百分の一秒、終了時刻はありません。変換時にはミリ秒がセンチ秒へ丸められ、終了時刻が削除され、各イベントが1行のタイムスタンプ付きテキストになります。
構造と行処理
JSON3イベントは複数のテキストセグメントを保持し、複数行字幕を表現できます。LRCには複数行キューの概念がなく、各行は先頭の角括弧タイムスタンプと同じ行にあるテキストで構成されます。変換では複数セグメントのイベントを1行の歌詞へ平坦化します。音楽歌詞には自然な形式ですが、2行を同時に重ねる表現は失われます。
目的とエコシステム
JSON3はYouTube内部だけで使われ、音楽プレイヤー、カラオケアプリ、一般的なメディアツールは読み取りません。LRCはfoobar2000、Winampプラグイン、MiniLyrics、多くのモバイル音楽プレイヤーで事実上の同期歌詞標準です。両者は本来の生態系が重ならないため、変換がYouTube字幕を歌詞ワークフローへ移す橋になります。
JSON3を使う場面
YouTubeから字幕を取り出すとき、特にボーカルに合わせた字幕があるミュージックビデオではJSON3が有用です。カラオケ風合わせに使える単語単位オフセットを含め、最大限のタイミング情報を保存できます。実際に再生するアプリに渡す前に、LRCへ変換する中間形式と考えてください。
LRCを使う場面
音楽再生と同期した歌詞が目的ならLRCを選びます。ミュージックビデオの字幕は、音声に合わせて行ごとに流れる有効なLRCファイルになります。LRCは小さく単純で、多くの歌詞プラグインとカラオケソフトが対応しています。終了時刻がなくセンチ秒精度という制約は、行が順に受け渡される歌詞ではほぼ問題になりません。
JSON3からLRCへの変換
無料のJSON3 to LRCコンバータは構造と時間の違いを自動処理します。JSON3イベントを解析し、ミリ秒の開始時刻をセンチ秒の[mm:ss.xx]タグへ丸め、複数セグメントのイベントを1行歌詞へまとめ、任意のメタデータタグを付けた有効なLRCを出力します。Unicode、CJK文字、絵文字も保持されます。
よくある質問
JSON3をそのまま歌詞として使えますか?
使えません。JSON3はYouTubeの内部形式で、歌詞アプリは読み取りません。同期歌詞として表示するにはLRCへ変換してください。
LRCへ変換すると時間情報は失われますか?
一部は失われます。ミリ秒はセンチ秒へ丸められ、LRCが1行1タイムスタンプのため単語単位オフセットは削除されます。終了時刻も表現できません。ただし歌詞では、行ごとの開始時刻モデルでほぼ十分です。
YouTube字幕をJSON3で保存する方法は?
yt-dlpで--write-auto-sub --sub-format json3を指定するか、timedtext APIにfmt=json3を指定します。ボーカルに合わせた字幕があるミュージックビデオが最適なソースです。
LRCはJSON3より優れていますか?
目的が異なります。JSON3は豊富な時間データを保持できますがYouTube内部専用です。音楽プレイヤーで同期歌詞として表示するならLRCが適しています。