跳至主要內容
SubtitleMatrix

LRC 轉 CSV

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

選項

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

這次轉換會改變什麼

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

  • 時間

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

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

LRC 轉 CSV 會把歌詞排成 `start,end,text` 三欄表格,時間寫成 `00:00:12.000` 這種毫秒時間碼。產物可以用試算表打開、篩選,或直接交給腳本處理。

`end` 欄不是檔案裡原有的東西:LRC 沒有結束時間,這裡用下一行的開始補上,最後一行則用頁面設定的時長補足。因為終點是推斷出來的,有損說明會記為 timing。

同一個時間戳的多行歌詞(例如原文加譯文)會合成一列,`text` 欄內用換行分開並依 CSV 規則加引號;空歌詞行則留下一列空白的 `text`。`[ti:]`、`[ar:]`、`[al:]` 沒有欄位可放,`[offset:]` 保留但不套用;亂序的歌詞會依開始時間重排,轉換在本機完成。

範例

一份典型的 LRC 檔轉成 CSV

輸入

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

輸出

start,end,text
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.

這個方向丟掉的是結束時間;開始時間由 LRC 的百分秒寫成毫秒,文字逐行對應。

同一轉換遇到一份格式凌亂的檔案

輸入

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

輸出

start,end,text
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 轉 CSV 的 `end` 欄是檔案裡原本就有的嗎?

不是。LRC 只記錄開始,`end` 由下一行的開始推得,最後一行用頁面設定的時長補足,因此有損說明把它記為 timing。

LRC 轉 CSV 時,空歌詞行會留下什麼?

留下一列紀錄:`start` 是那個時間戳,`end` 是下一行的開始,`text` 欄是空的,原檔案裡那個空行的位置因此看得出來。

LRC 裡同一時間戳的雙語歌詞,在 CSV 中會變成幾列?

一列。兩行文字放在同一個 `text` 欄位,中間是換行,整個欄位依 CSV 規則加上引號。

LRC 轉 CSV 後,`[ti:]` 與 `[ar:]` 還留著嗎?

沒有。CSV 只有 `start,end,text` 三欄,標題、藝人與專輯都沒有落點;`[offset:]` 也只被讀取,不會加進時間值。

LRC 的百分秒在 CSV 裡會寫成幾位?

三位毫秒。`[00:12.00]` 寫成 `00:00:12.000`,`[00:15.30]` 寫成 `00:00:15.300`,中間沒有捨入。

LRC 轉 CSV 會重排亂序的歌詞嗎?

會。輸出依 `start` 升序排列,原檔案裡先後顛倒的行會被放回正確位置;重複的副歌行則保持原本的先後。

相關工具