取得 LRC 檔案意味著要產生一份純文字文件,其中每一行歌詞前都會加上 [mm:ss.xx] 格式的時間戳記,讓音樂播放器能夠隨著音訊同步高亮顯示對應的歌詞。當一首歌曲在網路上沒有現成的 LRC 檔案時,最可靠的做法就是使用本地的確定性工具自行建立,因為只有對實際錄音進行人工轉錄,才能確保歌詞與實際演唱內容相符。一份簡單的 LRC 檔案小到可以用任何文字編輯器開啟,也方便在專用的歌詞編輯器中重新調整時間,並且能被大多數支援同步歌詞的桌面與行動播放器所支援。LRC 檔案產生器產生的正是這種檔案類型:你逐行輸入歌詞、設定第一個時間戳記與固定的間隔時間、選擇性地填入標題、演出者與專輯標籤,然後下載一份 UTF-8 的 .lrc 檔案,其內容與預覽完全一致。下載過程中不會有任何歌詞文字離開你的瀏覽器,而這個工具本身也記錄了所使用的百分秒運算方式,讓你在用播放器開啟檔案之前,可以先驗證第一個與最後一個時間戳記。

how to get lrc files
how to get lrc files

為何現成的 LRC 檔案經常找不到

在網路上搜尋 LRC 檔案是許多人熟悉的經驗:一半的歌曲名稱會回傳失效的論壇連結、已經無法使用的 pastebin,或是與你手上錄音版本不再相符的歌詞頁。社群維護的資料庫很少涵蓋獨立發行的作品、地區性藝人或混音版本,而許多大型唱片公司的曲目也會因版權聲明而隨時間被下架。即使真的找到檔案,其編碼、換行格式與標籤組合也可能與你的音樂播放器所預期的格式不符。對於那些無法在網路上找到合適檔案的曲目,與其進行第三次或第四次搜尋,不如直接根據你手邊已有的歌詞在本地產生檔案,反而更快也更可靠。位於 /audio/rc-generator/ 的工具就是採用這種做法:它使用一份有清楚記錄的百分秒時間戳記子集來格式化你提供的文字,因此輸出結果在各種播放器上都能有可預期的表現。

簡單 LRC 檔案的結構

一份簡單的 LRC 檔案是 UTF-8 的純文字文件。選擇性的中繼資料會以方括號標籤的形式出現在檔案頂部,歌詞部分則在每一個顯示行前加上方括號包住的時間戳記。本文所介紹的產生器只會輸出三個中繼資料標籤與加上時間標記的歌詞行,這使得格式保持保守,並能在各種桌面與行動播放器上廣泛相容。

元素 格式 用途
[ti:value] 方括號標籤 選擇性的歌曲標題中繼資料
[ar:value] 方括號標籤 選擇性的演出者中繼資料
[al:value] 方括號標籤 選擇性的專輯中繼資料
[mm:ss.xx]歌詞行 百分秒時間戳記 + 文字 每個顯示事件一行

小數點後的兩位數代表的是百分秒,而非毫秒。根據 Subforge 的 LRC 時間實作,分鐘貢獻六萬毫秒,秒數貢獻一千毫秒,而小數的兩位數代表百分秒。這符合 quicklrc.com 的 LRC 檔案格式參考文件所記載的業界通用格式,其中以 [01:23.45]Example line 這類範例作為標準的簡單 LRC 形式。其他變體——小時欄位、以冒號分隔的格數、三位數的毫秒、單字層級的角括號時間戳記、卡拉 OK 對唱標記,以及特定播放器的擴充功能——刻意不會產生,因為它們在不同播放器之間的解讀方式並不一致。

逐步產生本地 LRC 檔案

  1. 在目前的瀏覽器分頁中開啟 LRC 檔案產生器。後續所有步驟都會在這個分頁中完成,不會上傳任何歌詞文字。
  2. 在歌詞輸入框中逐行輸入歌詞。產生器接受 1 到 500 行非空白的歌詞,總輸入字元數上限為 50,000 個字元,每行最多 500 個字元,並會在產生前移除空白的行。
  3. 以 MM:SS.xx 格式設定第一個時間戳記。有效的範例包括 00:00.00、09:59.99、10:00.00 以及 123:45.67;數值必須包含兩位或三位分鐘數字、剛好兩位介於 00 到 59 之間的秒數、一個小數點,以及剛好兩位百分秒數字。
  4. 輸入連續行之間的間隔秒數,範圍為 0.01 到 600.00,小數位數不得超過兩位。此數值會在內部轉換為整數的百分秒數,以防止在長歌曲中產生二進位浮點數的誤差飄移。
  5. 選擇性地填入標題、演出者與專輯欄位。每個數值都會經過修剪處理,長度上限為 120 個字元,且不得包含方括號或控制字元;空白欄位會完全省略。
  6. 點擊「Generate」(產生)。預覽框會顯示將要儲存的完整文字內容,包括第一個與最後一個時間戳記,讓你能在下載前確認運算結果。
  7. 點擊「Download」(下載)以儲存一份 UTF-8 的 .lrc 檔案,檔名會在有提供標題時從標題衍生;若標題為空白,則會使用 synced-lyrics.lrc 作為預設檔名。
  8. 在專用歌詞編輯器中同時開啟下載的檔案與對應的錄音,根據需要調整個別的時間戳記。

在下載前閱讀預覽內容

預覽就是合約。預覽框中顯示的內容,將會原封不動地寫入磁碟,包括換行、空格以及中繼資料的順序。有兩項特別值得在此檢查。首先,確認第一行歌詞的時間戳記與人聲實際開始的位置一致,因為人聲前奏、純音樂開頭,以及第一句演唱前的即興哼唱,都是造成時間提前錯位的常見原因。其次,檢視最後一行歌詞的時間戳記,確認它落在 999:59.99 範圍內;如果計算後的最終時間戳記會超過這個上限,產生器會停止動作而不會寫入被截斷的檔案,而這才是正確的行為,因為被靜悄悄截斷的時間戳記可能會導致播放器產生混淆。

以一個具體的數字範例來說,假設第一個時間戳記為 00:12.34,間隔為 2.50 秒,則前三行會得到:

  • 第 1 行:00:12.34(起點)
  • 第 2 行:00:14.84(12.34 + 2.50 = 14.84)
  • 第 3 行:00:17.34(14.84 + 2.50 = 17.34)

這就是產生器內部所使用的運算方式:將十進位間隔轉換為整數百分秒,每行累加一次,並避免二進位浮點數誤差在數百行中累積。

在音樂播放器中微調個別行

固定的間隔只是一份初步的草稿。真實的人聲很少以完全等距的方式開始:延長音、鼓段過門與純音樂橋段都可能拉長兩行之間的間距,而快速的段落則可能將其壓縮。由於產生器不會分析音訊、偵測語音、轉錄歌詞、對齊音素、識別節拍或估算演出時機,因此下載的檔案只能算是一個結構化的骨架,而非最終成品。下載完成後,請在專用編輯器中將 LRC 檔案與對應的錄音並排開啟,逐一調整個別時間戳記,使高亮顯示的歌詞與歌手的演唱同步。

不同的音樂播放器也支援不同的中繼資料標籤、時間戳記精度、編碼方式、較長的分鐘數值,以及增強型 LRC 擴充功能。在依賴檔案之前,務必先在目標播放器中測試,因為同一份檔案在不同應用程式中的呈現結果可能不同。如果你還需要一份搭配影片編輯器或卡拉 OK 設備使用的 SRT 配套檔案,為音樂製作具有精確時間戳記的歌詞 SRT 檔案指南會詳細說明相關的配套工作流程。

挑選能跨播放器存活的標籤

並非每個播放器都會讀取所有標籤。許多桌面播放器會忽略 [ti:] 與 [al:],改為依賴音訊檔案中嵌入的 ID3 或 Vorbis 標籤;某些行動播放器會讀取 [ti:] 與 [ar:],但會跳過 [al:]。因此,產生器所輸出的精簡中繼資料集合——僅包含 ti、ar 與 al——是刻意為之的選擇,因為播放器看不懂的標籤,最壞的情況就是被忽略,最好的情況則會與演出者名稱一起顯示在畫面上。標題、演出者與專輯是最有可能一致顯示的三個欄位,這也是為什麼這套工具只將它們列為可選的中繼資料。任何中繼資料數值內出現的被禁止控制字元會被拒絕,而不會被插入,以防止某個欄位在檔案中加入額外的 LRC 標籤或多餘的內容。

隱私與本地處理

所有內容與運算都保留在目前的瀏覽器分頁中。不會上傳任何歌詞文字、不會儲存至帳號,也不會傳送至人工智慧服務;你所下載的檔案完全在你的裝置上產生。在產生之前,Windows、舊版 Mac 與 Unix 的換行格式都會先進行標準化處理,而用於下載的暫時性物件 URL 在直接使用後以及元件卸載時都會被撤銷,因此較舊的檔案不會繼續以較新文字的結果形式顯示出來。這些防護機制之所以重要,是因為歌詞文字經常在版權層面具有敏感性:對於你所輸入歌詞的複製與散布,你仍須自行負責取得授權,因為本工具並不提供受版權保護的歌詞、不會搜尋歌曲目錄、不會識別歌曲、不會確認著作權歸屬,也不會授予同步授權。它只是根據一份小型且有清楚記錄的合約來格式化使用者提供的文字。

如果你正在權衡各種選項,在本地不失真地變更音訊音高對此有詳細介紹。