當 LRC 檔案產生器的輸出遵循事實上的 [mm:ss.xx] 時間戳子集,並將固定間隔轉換為整數百分秒後再加到起始時間上時,它就能在數學上精確到百分秒。這短短一句話涵蓋了「準確度」一詞對這類工具可能代表的兩種不同含意:括號內的時間戳本身撰寫正確,分鐘、秒數以及兩個小數位數都出現在正確位置;而將一個時間戳與下一個時間戳連結的算術,在數百行之間仍保持精確。LRC 檔案產生器透過解析您的起始時間、將您的小數間隔轉為整數的百分秒數,然後逐行加上該整數(而非反覆加上浮點數),同時達成這兩點。它也拒絕產生超過 999:59.99 的檔案,而非默默截斷歌曲尾端,這本身就是一種準確度:您在預覽中看到的契約,就是下載時得到的契約。以下章節將說明此工具能保證什麼、無法保證什麼,以及如何在您的音樂播放器中驗證結果。

「準確度」對 LRC 產生器而言代表什麼
當讀者搜尋「LRC 檔案產生器準確度」時,他們其實是在問兩個看似相同但實際不同的問題。第一個是產生的檔案是否格式正確:每個有時間標記的行都以有效的 [mm:ss.xx] 標籤開頭、可選的中繼資料標籤拼字與括號皆正確,且沒有任何時間戳因累計運算而偏移不到一秒。第二個則是產生的檔案是否符合真人歌手實際演唱每一行的方式,這取決於錄音本身,而非產生器。
LRC 檔案產生器保證第一種準確度,並對第二種保持沉默。它不會聆聽音訊、偵測人聲、轉錄文字或測量節拍。它的任務是接收您提供的文字,並從您選擇的時間戳開始,將每一行放置在規則的百分秒時間軸上。一旦這個界線釐清,工具其餘的行為也就隨之確定:您在預覽中看到的時間戳,就是下載檔案中最終出現的時間戳,沒有任何隱藏的重新排版、自動調整間距,或對歌詞的「智慧」校正。產生器也會逐字保留您的文字,這代表花式撇號或非英文字元在整個來回過程中都能原封不動地保留。
時間戳背後的百分秒運算
大多數播放器所辨識的事實上 LRC 格式,在每個時間戳內使用三個欄位:兩位或三位數的分鐘、恰好兩位數的秒數(00 至 59)、一個句點,以及恰好兩位數的百分秒。根據 Subforge LRC 時間實作,分鐘貢獻 60,000 毫秒、秒數貢獻 1,000 毫秒,而兩個小數位數代表百分秒。LRC 檔案產生器解析相同的格式,這就是為何有效的起始時間戳可以是 00:00.00、09:59.99、10:00.00 或 123:45.67,以及為何秒數超出 00–59 或缺少百分秒位數的輸入會在任何檔案寫入之前就被拒絕。
在產生器內部,您輸入的間隔會在產生任何列之前先轉換為整數的百分秒數。2.50 秒的間隔會變成 250 百分秒;0.01 秒的間隔會變成 1 百分秒;600.00 秒的間隔會變成 60,000 百分秒。每行的時間戳就是起始時間加上(行索引 × 以百分秒計的間隔)。由於每個步驟都使用整數運算,即使重複加總數百次,也不會累積浮點小數相加時產生的微小誤差。您可以從它文件中的範例看到結果:以 00:12.34 為起始、間隔 2.50 秒時,第一行產生 00:12.34、第二行 00:14.84、第三行 00:17.34。每個數值都是直接加上 250 百分秒,而不是四捨五入後的浮點數。
五步驟產生精確的 LRC 檔案
- 在歌詞欄位貼上或輸入 1–500 行非空白的歌詞,每行一個顯示事件。空白行會被移除,且 Windows、舊版 Mac 與 Unix 的換行符號都會在產生前統一,因此來源文字不需要事先清理。
- 以 MM:SS.xx 格式設定第一個時間戳:兩位或三位數的分鐘、兩位數的秒、一個句點,以及兩位數的百分秒。有效範例包括 00:00.00、09:59.99、10:00.00 和 123:45.67。
- 將行與行之間的間隔設為介於 0.01 至 600.00 秒之間,並使用至多兩位小數。產生器會在內部四捨五入至百分秒,因此請選擇一個已經對齊您心中節奏的數值(例如 2.50 而非 2.499)。
- 選擇性地輸入標題、演出者與專輯。每個欄位都會去除前後空白、長度限制為 120 字元,且不能包含方括號或控制字元,因此中繼資料不會意外地在檔案內插入第二個時間戳。空白欄位不會出現在輸出中。
- 閱讀預覽以確認第一個與最後一個時間戳落在您預期的位置,然後下載檔案。下載的檔案是沒有位元組順序標記的 UTF-8 純文字檔,檔名由標題衍生(不安全的標點符號會被連字號取代),若未提供標題則會使用 synced-lyrics.lrc 作為預設。
產生器準確度的界線
即使擁有完美的百分秒運算,固定間隔仍只是一份草稿。真實的人聲很少以完全等距的間隔開始:歌手可能延長母音、跳過一行、重複副歌,或在段落之間暫停。由於產生器沒有音訊訊號可供比對,它的準確度止步於括號本身。請將此檔案視為起始網格,並在與實際錄音並列的專用編輯器中調整個別時間戳。多數編輯器允許您以單一百分秒微調一行、對齊節拍,或貼上相對於歌曲量測的精確時間。
由於間隔運算本身已經乾淨,重新對齊時間的工作是區域性的而非全域性的。您只需要修正落後或超前人聲的那些行,無需重新檢查整個檔案。編輯任何輸入也會清除先前的預覽,而暫時性的下載物件 URL 會在直接使用後以及元件卸載時撤銷,因此較舊的 blob 不會殘留為新文字的結果。
保護準確度的驗證規則
工具中的多項限制是專門為了保持檔案格式正確而存在的。下表整理了各項輸入、其接受範圍,以及每項限制所防範的情況。
| 輸入 | 接受形式 | 限制所保護的內容 |
|---|---|---|
| 歌詞行數 | 1–500 行非空白內容,每行最多 500 字元,總計最多 50,000 字元 | 防止檔案無限增長,並符合大多數播放器可解析的單行字元預算 |
| 第一個時間戳 | 2–3 位數的分鐘、秒數 00–59、句點、兩位百分秒;最大值 999:59.99 | 符合事實上的括號格式;在格式錯誤的標籤進入檔案前予以拒絕 |
| 間隔 | 0.01–600.00 秒,至多兩位小數 | 使每次相加都落在可表示的百分秒數範圍內 |
| 最終計算出的時間戳 | 必須 ≤ 999:59.99 | 產生作業直接失敗,而非默默截斷歌曲尾端 |
| 中繼資料欄位(標題、演出者、專輯) | 每欄最多 120 字元,去除前後空白,不得包含方括號或控制字元 | 防止中繼資料欄位插入額外的 LRC 標籤或行 |
| 輸出編碼 | UTF-8 純文字,不含位元組順序標記 | 避免部分播放器在歌詞開頭將 BOM 顯示為多餘字元 |
當上述任何規則被違反時,產生器會拒絕該輸入,而非產出部分正確的檔案。這種拒絕本身就是準確度故事的一部分:一個總是會寫出東西的工具,實際上不如一個拒絕寫出錯誤東西的工具來得準確。
在您使用的音樂播放器中驗證準確度
產生器無法得知您會用哪個播放器開啟檔案,而不同播放器在數個細節上的差異,會影響同一個檔案在各處是否看起來完全一致。有些桌面播放器會忽略超過 99 的長分鐘值;有些則能正常顯示。有些僅接受基本 ASCII 並捨棄延伸字元;有些則能妥善處理 UTF-8。少數增強型 LRC 讀取器預期字級的角括號時間戳,並將簡單的 [mm:ss.xx] 行視為備援資料。
下載後,請在目標播放器中開啟檔案並檢查三件事:第一行是否在正確的時刻出現、中繼資料標籤(若播放器讀取)是否顯示在其資訊面板中,以及沒有任何字元顯示為方框或問號。若播放器捨棄標籤或誤判編碼,檔案本身仍然正確;只需調整播放器的設定,或改以該播放器支援的稍有不同的格式匯出歌詞。
歌詞文字中保持不變的部分
還有一項值得指出的準確度:產生器會保留您的文字。它不會更改一般歌詞行內的拼字、標點、大小寫、語言或版權聲明。它會拒絕控制字元,但不會「清理」引號、翻譯非英文字元,或統一行內的空白。若您貼上含有尾端空白或花式撇號的一行,該段文字會原封不動地出現在輸出中的括號之間。對自行發布歌詞的使用者而言,這種忠實度正是 LRC 檔案是否能對應原始內容,還是會被默默編輯的差別所在。
如需更深入的瞭解,請參閱 LRC 檔案產生器替代方案:瀏覽器本機選項。
如需更深入的瞭解,請參閱 LRC 檔案產生器說明:數學如何產出 LRC 檔案。