所謂 LRC 檔產生器的線上測試,意思是在瀏覽器中載入這個工具,輸入一組數量不多的歌詞行,搭配已知的起始時間與固定的間隔,然後檢查方括號 [mm:ss.xx] 形式的時間戳記,以及下載下來的 UTF-8 .lrc 檔案內容,是否與網頁所宣稱的完全一致。完整的測試會把預覽結果與手動計算出來的時間戳記做比對,確認選填的標題、演出者與專輯 metadata 會變成 [ti:…]、[ar:…] 和 [al:…] 標籤,並驗證儲存後的檔案能在你實際使用的音樂播放器中順利開啟。由於簡易 LRC 格式屬於一套事實上的(de-facto)家族,而不是由某一個標準機構所制定的正式標準,所以要知道某個產生器的輸出是否適合你,唯一的方式就是在同一個瀏覽器分頁中從頭到尾跑一遍,而這個分頁也就是你日後重新編輯時間戳記時會用到的。整個測試完全在本地端進行:歌詞文字不會被上傳,不需要帳號,而下載的檔案就是一個純文字檔,你可以用記事本、TextEdit 或 VS Code 開啟,逐位元組檢視內容。

「線上測試」對 LRC 檔產生器而言意味著什麼
對一個 LRC 產生器來說,線上測試涵蓋三個層次:你能控制的輸入、網頁執行的運算,以及播放器讀回的檔案。這三個層次各自可能獨立失敗,所以一份完整的驗證流程必須涵蓋全部三者,而不是只看其中之一。第一層是輸入表單——歌詞行、起始時間戳記、間隔時間,以及選填的 metadata。第二層是運算,負責把小數形式的間隔時間換算成整數的百分秒(centiseconds),並逐行加上,過程中不產生浮點數飄移。第三層則是檔案本身:一個副檔名為 .lrc 的 UTF-8 純文字文件,由音樂播放器解析後用於顯示歌詞事件。
由於本頁所介紹的工具——LRC 檔產生器——並不會聆聽音訊、轉錄人聲、對齊音素、偵測節拍,或估算演出時的時間點,所以這個測試本質上是一個數學與格式的測試,而不是音樂測試。你要驗證的是:這個網頁能夠穩定地套用固定的間隔時間、完整保留你輸入的文字內容,以及產出語法上有效的簡易 LRC 子集。這個事實上的簡易格式可參考 QuickLRC 的 LRC 檔案格式參考文件,而時間的運算方式則與獨立的解析器(如 Subforge 的 LRC 時間實作)相互對照,其中分鐘換算為六萬毫秒、秒換算為一千毫秒,而小數部分兩位數代表百分秒。
按下「產生」之前:你能先驗證的輸入
可靠的測試要從能產生可驗證輸出的輸入開始。選擇數量不多的歌詞行——大約 2 到 10 行最為理想——並讓它們保持簡短、一般,而且不要包含方括號,這樣測試才能單獨檢驗時間戳記運算,而不會混入文字處理的特殊情況。起始時間戳記要使用精確的 [mm:ss.xx] 形式,包含兩位數的分鐘、00 到 59 之間兩位數的秒、一個小數點,以及兩位數的百分秒。間隔時間以秒為單位,挑選一個整數,小數位不超過兩位,例如 2.50 或 5.00,因為乾淨的數字讓手動計算變得輕鬆。
第一次測試時,選填的標題、演出者與專輯欄位請保持空白。空白的測試能確認產生器完全不會輸出任何 metadata 標籤,而不是產生某些播放器處理方式不一致的空白方括號。該測試通過之後,再用簡單的 metadata 值重複一次,例如 Title: Test Song、Artist: Test Artist、Album: Test Album,並確認預覽畫面在空行與時間行之上,以獨立行顯示 [ti:Test Song]、[ar:Test Artist] 與 [al:Test Album]。
| 測試變數 | 安全的首次測試 | 值得嘗試的極端測試 |
|---|---|---|
| 歌詞行數 | 2–10 個短行 | 在文件記載的最大值下輸入 500 個非空行 |
| 起始時間戳記 | 00:00.00 | 123:45.67(三位數的分鐘) |
| 間隔時間 | 5.00 秒 | 0.01 秒(文件記載的最小值) |
| 標題 / 演出者 / 專輯 | 全部留白 | 120 個字元的值(文件記載的最大值) |
| 輸入行尾符號 | 純 LF | 從不同來源貼上的 CRLF、CR 與 LF 混合 |
逐步執行產生器測試
- 在瀏覽器中開啟 LRC 檔產生器,並把歌詞文字區留空。
- 貼上 2 到 10 個短行,每行一句歌詞,行與行之間不要有空行。產生器會將 Windows、舊版 Mac 與 Unix 的行尾符號統一處理,並在計算行數前捨棄空白行,所以多餘的空行不會悄悄打亂你的行索引。
- 將第一個時間戳記設為 00:00.00——兩位數的分鐘、兩位數的秒、一個小數點、兩位數的百分秒——並確認輸入欄會拒絕較短的內容或錯誤的分隔符號。
- 將間隔時間設為一個整數值,例如 5.00 秒,這個數值落在文件記載的 0.01 到 600.00 秒範圍內,而且小數位不超過兩位。
- 這一輪首次測試請將標題、演出者與專輯留白,因此預覽結果只應包含時間行,而不會在上方出現 metadata 區塊。
- 點擊產生按鈕,等待預覽內容填入。此時若編輯任何輸入,應會清除先前的預覽,以免你讀到過期的輸出。
- 讀取預覽內容的第一行與最後一行,並與下一節的手動計算結果比對。畫面上顯示的文字與下載按鈕存檔的內容完全一致。
- 點擊下載,將檔案以建議的檔名存檔,並用純文字編輯器開啟。檔案副檔名應為 .lrc,編碼應為 UTF-8 且不含位元組順序記號(BOM),因為產生器是直接寫入位元組,而不是讓作業系統自動加入 BOM。
以人工方式驗證時間戳記
最有用的檢查方式是一個能在紙上完成的範例。假設起始時間為 00:12.34,間隔為 2.50 秒。產生器會將 2.50 換算為 250 個百分秒,並逐行累加,依序得到 1234、1484、1734 個百分秒。換算回 [mm:ss.xx] 格式後,即為 00:12.34、00:14.84 與 00:17.34。如果預覽畫面在三行中正好顯示這三個值,就代表運算結果與 Subforge 參考文件所描述的格式一致——分鐘乘以六萬毫秒、秒乘以一千毫秒,而兩位小數即為百分秒。
接著檢查上方的邊界條件:分鐘需要兩位或三位數,秒必須介於 00 到 59 之間,而小數點後的百分秒必須剛好兩位數。產生器文件中記載的有效起始範例如 00:00.00、09:59.99、10:00.00 與 123:45.67,且支援最長達 999:59.99 的時間戳記。如果你計算出來的最終時間戳記會超過 999:59.99,產生器會拒絕執行,而不是默默截斷檔案。這種拒絕行為屬於合約的一部分,值得刻意用小間隔搭配大量歌詞來觸發,因為會默默截斷的工具會產生一個在編輯器中看起來正常、卻在播放器中播到一半就停止的檔案。
在你的播放器中檢查下載的檔案
格式與運算就算都完美無缺,檔案仍有可能在特定播放器中失敗,因此任何線上 LRC 產生器測試的最後一步,就是在你實際使用的軟體中進行真正的載入測試。將存檔的 .lrc 檔案放在同名的音訊檔旁邊,然後在目標播放器中同時開啟兩者。請檢查三件事:第一,有時間標記的歌詞行是否會出現,因為有些播放器要求 BOM,有些則拒絕 BOM,而本產生器刻意輸出不含 BOM 的 UTF-8 以最大化相容性。第二,你的 [ti:…]、[ar:…] 與 [al:…] 標籤是否能被讀入播放器的 metadata 欄位;不同播放器對於是否顯示、儲存或忽略這些標籤會有不同的處理方式。第三,歌詞行是否會在合理的時間點顯示;固定間隔的草稿幾乎不可能吻合實際人聲,這也是為什麼這個產生器自詡為一個起點,並建議在與錄音檔案並排的專用編輯器中,逐行重新校時。
值得嘗試的測試案例
基本測試通過之後,請再用會對特定極限造成壓力的案例重複測試。貼上 500 個短行,搭配 0.01 秒的間隔,並確認預覽仍能渲染、檔案能下載,而不會超過 999:59.99。貼上一個含有禁用方括號的標題,確認輸入欄會拒絕該內容,而不是在輸出中插入一個多餘的標籤。同時貼上含有 Windows 風格 CRLF 行尾的歌詞與傳統 LF 行尾的歌詞,並確認預覽能將其統一處理,讓行數與你輸入的一致。上述每一項測試都涵蓋合約中的一個邊界——行數、間隔最小值、最大時間戳記、metadata 驗證、輸入編碼——合起來就能告訴你這個產生器的行為是否符合網頁所宣稱的方式。若想更深入了解間隔時間運算的預期行為,LRC 檔產生器準確度完整說明從不同角度探討了相同的百分秒邏輯。
想進一步了解,請參閱 LRC 檔產生器訣竅與常見錯誤修正。