LRCをVTTに変換する方法 — 無料オンラインガイド | AllSubConverter
ブログ、学習サイト、YouTube、あらゆるHTML5の<video>要素で歌詞をWeb動画プレーヤー内に表示したい場合、ブラウザが実際に理解できる形式はVTT(WebVTT)です。しかし、ほとんどの同期歌詞はオーディオプレーヤー向けのLRCファイルに保存されており、Web向けではありません。LRCからVTTへの変換は実用的な架け橋であり、このガイドではタイムスタンプ変換の仕組み、欠落している終了時間の処理方法、そして変換結果をWeb動画に接続する方法を解説します。
LRC歌詞をWeb対応のVTT字幕に変換 — ブラウザ内で完全に動作、登録不要。
LRCをVTTに変換 →なぜLRCはブラウザで動かないのか
ブラウザがネイティブにレンダリングできる字幕形式はWebVTTだけです。HTML5のvideo要素にはLRCのサポートが組み込まれておらず、無理に読み込ませても画面には何も表示されません。また、LRCには終了時間がなく、Web動画プレーヤーは各キューション(字幕)の表示開始と終了を知るために明示的な時間範囲を必要とします。さらにVTTはファイル先頭にWEBVTTヘッダーを置き、キューション間に空行を要求します。
つまり変換とは、実際には3つの作業をまとめたものです。タイムスタンプ形式の変換、欠落している終了時間の合成、そしてVTTが要求する構造へのラッピングです。
LRCとVTTのタイムスタンプ比較
最も目立つ変更はタイムスタンプです。LRCはコンパクトな角括弧表記とセンチ秒精度を使いますが、VTTは完全なタイムコードとミリ秒精度、そして開始時刻と終了時刻を分ける矢印を使います。
| 項目 | LRC | VTT |
|---|---|---|
| 表記 | [mm:ss.xx] |
hh:mm:ss.mmm --> hh:mm:ss.mmm |
| 終了時間 | 暗黙(次の行) | 明示、必須 |
| ヘッダー | 任意のメタデータタグ | 先頭行にWEBVTT |
| 精度 | センチ秒 | ミリ秒 |
| ブラウザサポート | なし | HTML5ネイティブ |
欠落している終了時間の補完方法
LRCは各行に開始時間を与えますが、終了時間がないため、コンバーターが推測する必要があります。アプローチはLRCからSRTへの変換と同じです。各行は次の行が始まる時に終了し、最後の行には適切なデフォルト長(通常は数秒)が与えられます。また、最小表示時間により、密集した行が速すぎて読めないのを防ぎます。
この結果は自然に感じられます。なぜなら、音楽プレーヤーがすでにLRCをそのように扱っている — ある行が次の行に押し出されるまで表示され続ける — ため、動画への移行が視覚的にシームレスになります。
ステップバイステップ:実例
1. 変換元のLRC
[00:32.15]Music video production
[00:35.80]Sharing content online
[00:39.25]Reaching global audience
2. 変換後のVTT
WEBVTT
00:00:32.150 --> 00:00:35.800
Music video production
00:00:35.800 --> 00:00:39.250
Sharing content online
00:00:39.250 --> 00:00:42.000
Reaching global audience
コンバーターはWEBVTTヘッダーを追加し、タイムスタンプをミリ秒精度の完全なタイムコードに展開し、各後続行から終了時間を計算し、VTTが要求するキューション間の空行区切りを挿入しました。
VTTをWeb動画に接続する
VTTファイルができたら、HTML5動画に接続するのはtrack要素1つだけです。VTTを動画と一緒にホストし、<track>タグで参照します:
<video controls>
<source src="song.mp4" type="video/mp4">
<track kind="subtitles" src="lyrics.vtt" srclang="en" label="English">
</video>
ブラウザが残りを処理します。キューションを読み込み、各行を開始時間に表示し、終了時間に非表示にします。JavaScriptのタイミングロジックは不要です。
活用例
- 埋め込みWebプレーヤー。プラグインなしで音楽サイトや学習サイトにスクロール歌詞を表示。
- YouTubeアップロード。VTTはYouTubeやほとんどのストリーミングプラットフォームでキャプショントラックとして受け入れられます。
- オンラインカラオケ。伴奏トラックに合わせたブラウザベースのカラオケ体験を構築。
- 歌詞ライブラリの再利用。既存のLRCコレクションを手動で再タイミングすることなくWebに移行。
後からスタイルを追加できますか?
はい。VTTはスタイルと配置の手がかりをサポートしているため、変換されたファイルを編集してカラークラスや位置ヒントを追加できます。コンバーターはこの種のカスタマイズに対応できる、クリーンで有効なVTTを出力します。
LRCのメタデータタグはどうなりますか?
[ar:Artist]や[ti:Title]などのタグは、ファイル先頭にVTTのNOTEコメントとして保存され、再生を妨げずに帰属情報を保持します。
タイムスタンプが重なっている場合は?
2つの行がほぼ同じ開始時間を持つ場合、コンバーターは終了時間を調整して重複を避け、キューションが画面上で重なり合うのを防ぎます。
キュー識別子は重要ですか?
VTTでは任意です。コンバーターは出力をスリムに保つためにスキップします。これにより、はずれのキュー識別子が厳格なプレーヤーを混乱させるエッジケースを回避できます。もし必要になった場合 — 例えばJavaScriptから特定の行を参照する場合 — 各キューションはすでに空行で区切られているため、手動で簡単に追加できます。
ヒント:VTTファイル名を提供したいロケールに合わせ、
<track>タグのsrclang属性を設定すると、プレーヤーが適切なキャプションメニューを提供します。
今すぐLRCをVTTに変換
変換は瞬時、無料、完全にクライアントサイドで行われます — 歌詞がデバイスから離れることはありません。LRCを貼り付けてVTTを取得し、そのまま動画プレーヤーにドロップしてください。
最終更新:2026年3月20日