跳至主要內容
SubtitleMatrix

LRC 轉 VTT

格式轉換歌詞(LRC)
或者貼上字幕文字

選項

當來源檔案沒有結束時間時使用(純文字、LRC)。輸出裡的時間軸是在這裡產生的,不是轉換來的,所以填多少就是多少。

這次轉換會改變什麼

有 1 項會被捨棄或需要你決定

  • 時間

    字幕的結束時間——來源檔案不記錄這些時間,因此輸出中的結束時間是產生出來的,而非轉換而來

這份清單來自這兩種格式的能力矩陣,而不是你載入的這份具體檔案。如果具體檔案用到了格式允許、但矩陣沒有建模的特性,可能會遺失更多。

LRC 轉 VTT 得到的是 WebVTT:`WEBVTT` 標頭之後,每一行歌詞寫成一條字幕,時間形如 `00:00:12.000 --> 00:00:15.300`。產物可以直接放進網頁的 `<track>`,或交給支援 VTT 的播放器。

終點取下一行的開始,最後一行用頁面設定的時長補,並在報告裡註明;同一個時間戳的多行合成一條多行字幕,避免兩條字幕在同一個時刻互相爭位。有損說明記為 timing,因為終點不在 LRC 檔案裡。

`[ti:]`、`[ar:]`、`[al:]`、`[offset:]` 都不會進到 VTT,偏移只讀取不套用;VTT 的樣式能力在 LRC 裡沒有來源,所以這一層沒有額外損失。輸出是 UTF-8、LF、無 BOM,字幕依開始時間排序。

範例

一份典型的 LRC 檔轉成 VTT

輸入

[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.

輸出

WEBVTT

00:00:12.000 --> 00:00:15.300
First line of the song.

00:00:15.300 --> 00:00:18.000
Second line.
Second line, translated.

00:00:18.000 --> 00:00:21.500


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]

輸出

WEBVTT

00:00:03.000 --> 00:00:05.500
Out of order.

00:00:05.500 --> 00:00:07.000
Leading zero omitted, one decimal.

00:00:07.000 --> 00:00:09.000
Second with no centiseconds.
Repeated chorus line.

00:00:09.000 --> 00:00:12.000
Repeated chorus line.

00:00:12.000 --> 00:00:14.000

真實檔案常見的狀況:BOM、混合換行、缺前導零的時間戳、重複的副歌行。解析器不會中斷,讀不出的部分會進有損說明。

常見問題

LRC 轉 VTT 時,最後一行歌詞的終點怎麼定?

用頁面設定的時長補,預設兩秒;報告會註明這一條字幕的終點是生成的,因為檔案裡沒有下一行可以借。

LRC 轉 VTT 後,`WEBVTT` 標頭後面直接就是歌詞嗎?

標頭之後要先空一行,才是第一條字幕;每條字幕是時間行加正文,區塊之間再空一行,這是 VTT 的語法要求。

LRC 的 `[offset:]` 標籤在 VTT 產物裡會生效嗎?

不生效。偏移會被讀取但不加進時間軸,產物的時間與檔案字面一致;要調整就得自己再做一次平移。

LRC 轉 VTT 時,雙語歌詞會被拆成兩條字幕嗎?

不會。同一個時間戳的多行進到同一條字幕,播放器一次顯示兩行;拆開只會讓兩條同時出現、互相遮住。

LRC 的百分秒進到 VTT 後會變粗嗎?

不會。VTT 的時間行寫到毫秒,`[00:12.00]` 成為 `00:00:12.000`,`[00:15.30]` 成為 `00:00:15.300`。

VTT 轉回 LRC 會失去什麼?

會失去結束時間、樣式、精度與格式私有內容;LRC 只保留開始時間與文字,與本頁方向的清單並不相同。

相關工具