LRC 轉 CSV
或者貼上字幕文字
選項
當來源檔案沒有結束時間時使用(純文字、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` 升序排列,原檔案裡先後顛倒的行會被放回正確位置;重複的副歌行則保持原本的先後。