LRC 檔案產生器會把一份純文字歌詞行的文字檔,轉成同步的 .lrc 檔。它會為每一行附加一個 MM:SS.xx 格式的起始時間戳記,以及一個介於 0.01 到 600.00 秒之間的固定間隔,然後在本地端下載結果。產生器最多接受 500 行非空白的歌詞,並使用一套事實上簡單的 LRC 子集合(而非正式的通用標準),為每一列輸出一個以方括號包住的時間戳記。選擇性的標題、演出者與專輯欄位,會成為檔案頂端的 [ti:]、[ar:] 與 [al:] 中繼資料標籤。預覽中顯示的完整文字,會以 .lrc 副檔名與 UTF-8 編碼(不含位元組順序記號)儲存。在產生任何列之前,間隔會先轉換為整數的百分秒,因此重複累加時,長篇歌詞單不會累積二進位浮點數的誤差。產生器不會聆聽音訊、轉寫人聲、偵測節拍,或估算演出時機——它只是把你已經擁有的文字,格式化為大多數播放器都能辨識的簡單 LRC 格式。

最後這一點,對於任何具備音訊製作或自動語音辨識背景的人來說都很重要。從錄音中轉寫人聲的工具會分析音訊波形;從文字檔產生 LRC 的工具只是以固定間距放置時間戳記。兩種工作流程解決的是不同的問題,而本文談的是第二種——拿著你既有的文字檔,附加節奏,再匯出一份乾淨的 .lrc 檔,你可以把它搭配任何本地音訊使用。

generate lyrics from file
從檔案產生歌詞為 LRC 格式

從歌詞文字檔到同步的 LRC 檔

完整流程分為三個階段。首先,你收集或輸入純文字歌詞,每一列一行。接著,你決定第一行應該出現在歌曲中的什麼位置,以及相鄰行之間要相隔多少時間。最後,你把這兩項資訊一起送進 LRC 檔案產生器,然後下載輸出結果。整個流程完全不會接觸任何音訊檔——這個工具只會讀取你輸入的文字,並只寫入預覽中顯示的 LRC 字串。

如果你想更深入了解「起始時間與間隔」這組數值如何變成一連串精確的百分秒時間戳記,可以參考起始時間與間隔指南,其中對計算方式有更詳細的說明。本文的其餘部分則聚焦在每個輸入欄位的功能、儲存後的檔案樣貌,以及如何依據實際錄音來修訂草稿。

產生器接受的輸入

表單中包含三項必填內容——歌詞行、起始時間戳記與間隔——另外還有三個選擇性的中繼資料欄位。每個輸入在產生之前都會進行驗證,因此無效的起始時間或空白的歌詞區塊會產生錯誤,而不是悄悄產生損壞的檔案。事先了解確切的限制,可以避免你在按下「下載」之後遇到意外狀況。

欄位格式與限制
歌詞行1 到 500 列非空白的內容,每行最多 500 個字元,總計最多 50,000 個字元;空白列會被移除;Windows、Mac 與 Unix 的換行字元會被統一
起始時間戳記MM:SS.xx,分鐘部分為 2 或 3 位數字,秒數為 00–59,百分秒剛好兩位數字;範例:00:00.00、09:59.99、10:00.00、123:45.67
間隔0.01 到 600.00,最多兩位小數;在產生任何列之前會先轉換為整數的百分秒
標題 (ti)選擇性;會去除頭尾空白,最多 120 個字元,不可包含方括號或控制字元;若留空則完全省略
演出者 (ar)選擇性;限制與標題相同
專輯 (al)選擇性;限制與標題相同;若留空則完全省略

為了讓你更具體理解計算方式,請想像起始時間為 00:12.34,搭配 2.50 秒的間隔。產生器會把間隔儲存為 250 百分秒,並把這個整數加到累計總和上,因此第一行會得到 00:12.34,第二行會得到 00:14.84(12.34 + 2.50 = 14.84),第三行會得到 00:17.34(14.84 + 2.50 = 17.34)。因為累計總和永遠是整數的百分秒,即使在長達 500 行的歌曲中,也不會有捨入誤差悄悄混進去。

如果最後計算出來的時間戳記會超過 999:59.99——這個格式能支援的上限——產生作業就會失敗,而不會悄悄截斷。這個拒絕機制是有意為之:被截斷的時間戳記比沒有檔案更糟,因為不同播放器處理無效列的方式難以預料。

如何從歌詞產生 LRC 檔

  1. 在桌面或行動瀏覽器中開啟 LRC 檔案產生器。
  2. 把最多 500 行歌詞貼進歌詞方塊中,每一列對應一個顯示事件,並移除任何你不想計時的空白列。
  3. 以 MM:SS.xx 格式輸入起始時間戳記——例如,如果第一行應該出現在歌曲第 12.34 秒處,就輸入 00:12.34。
  4. 輸入間隔值,介於 0.01 到 600.00 秒之間,最多使用兩位小數;對於中等速度的歌曲,2.50 是常見的起點。
  5. 選擇性填寫標題、演出者與專輯欄位;每一個都會成為檔案頂端的 ti、ar 或 al 標籤。
  6. 在預覽區域中閱讀完整的檔案文字;第一個與最後一個時間戳記都會顯示在那裡,讓你能在儲存前先檢查範圍是否合理。
  7. 點選「下載」,以 .lrc 副檔名儲存與預覽相同的文字;若提供了標題,檔名會使用該標題,否則會以 synced-lyrics.lrc 作為預設檔名。
  8. 在播放器或編輯器中,把下載的檔案與實際錄音並排開啟,調整那些時間與人聲對不上的個別行。

步驟 8 是把草稿變成實用檔案的關鍵。產生器只會鋪出規律的格線;對齊實際演唱的工作,必須稍後對照你真正打算播放的音訊來完成。

輸出檔案的內容

下載的檔案是一份純文字的 UTF-8 文件,其結構能被大多數音樂播放器辨識。如果有提供中繼資料,那些中繼資料行會排在最前面,接著是一行空白的分隔行,再來才是有計時的歌詞列。每一列有計時的歌詞都是由方括號包住的 MM:SS.xx 時間戳記,緊接著同一行的歌詞文字——沒有額外空格、沒有填補字元、沒有小時欄位、沒有冒號分隔的格率格式、沒有逐字的尖括號時間戳記,也沒有卡拉 OK 對唱標記。

段落範例
標題標籤[ti:Example Song]
演出者標籤[ar:Example Artist]
專輯標籤[al:Example Album]
分隔行(僅在有中繼資料時存在的單一空白行)
有計時的歌詞列[00:12.34]First line of the song

QuickLRC 格式參考記錄了這個事實上的格式,而獨立的Subforge 時間實作則確認了背後的數學:分鐘貢獻六萬毫秒,秒數貢獻一千,而兩個小數位代表百分秒。本產生器採用相同的規則,因此檔案中標記為 [00:12.34] 的一行,代表從播放開始算起的 12.34 秒。預覽區域永遠會顯示即將被儲存的確切位元組,因此你在預覽中看到的內容,與下載得到的內容之間不會有任何隱藏的重新格式化。

為何固定間隔只是起點草稿

真實歌曲並非完全等距。 verse 會呼吸、chorus 會壓縮、bridge 會收斂,而歌手在某些樂句上會搶拍或拖拍。2.50 秒的格線對一般長度的行看起來會很合適,但對特別的行就會明顯出錯。這個網頁本身不會聆聽音訊、轉寫所唱的內容、識別節拍格線,或估算每個樂句實際開始的位置,因此這個等距輸出的設計目的,是要與錄音並排開啟並進行修訂。

一旦檔案存進你的裝置後,你可以用任何純文字編輯器或專門的 LRC 編輯器開啟它,微調個別時間戳記。大多數編輯器讓你點選某一行,在歌曲播放時按下快捷鍵,然後把該行的時間戳記綁定到目前的播放位置。存回同一個 .lrc 檔後,你的播放器就會套用修正後的時間,而不需要重新編碼音訊。下載的結果是草稿;重新校時後的版本才是你真正會發佈的內容。

播放器相容性與編碼選擇

不同的播放器支援更廣義 LRC 家族中的不同部分。這裡產生的簡單子集合——百分秒等級的行時間戳記,加上選擇性的 ti、ar 與 al 標籤——是接受度最高的,但有些播放器會完全忽略中繼資料,有些會截斷超過特定門檻的較長分鐘值,還有些舊版程式仍依賴 UTF-8 以外的編碼。產生器以不含位元組順序記號的 UTF-8 寫入,因為這是現代播放器所預期的格式;檔名也省略了不安全的標點,以便在 Windows、macOS 與 Linux 上都能順利儲存。請務必在你實際使用的播放器中測試輸出結果;在一套程式載入正常的檔案,在另一套程式中可能會顯示為原始文字,唯一能確定的方式就是把它與歌曲並排開啟,觀察歌詞是否順利捲動。

隱私、著作權與瀏覽器內處理

所有運算與文字格式化都在瀏覽器分頁內完成。不會有歌詞文字被上傳到 Lizely、儲存到任何帳號,或送交給人工智慧服務;暫時性的下載連結會在你使用後或關閉頁面時立即撤銷。這能確保私人的創作、未發表的 demo,以及已授權的歌詞檔案都保留在你的裝置上。這個工具不會提供受著作權保護的歌詞、搜尋目錄、辨識歌曲、確認所有權,或授予同步授權。它只是把你已經獲得重製與散布權限的文字格式化為 LRC 格式,因此如果你要為別人的歌曲計時,請務必在發佈結果之前,確認自己持有或已取得相關權利。