FLAC 音訊 (.flac)

Xiph.Org 標準

Free Lossless Audio Codec(FLAC)是一種廣泛使用的開源無損音訊格式。壓縮與解碼效能取決於音訊內容、設定與實作方式。

將 FLAC 轉換為 MP3

免費的瀏覽器端 FLAC 轉 MP3 轉換器。在您的裝置上即時轉換檔案。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 FLAC 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 FLAC 檔案:

十六進位簽章(偏移量 0):

66 4C 61 43

ASCII 表示法: fLaC

標準化: Xiph.Org 開放標準 / IETF 草案

技術規格

容器架構具備 METADATA_BLOCK 結構的原生 FLAC 位元串流容器
壓縮線性預測(LPC)與萊斯熵編碼(Rice entropy coding),並搭配子影格分割
位元組序大端序(Big-Endian)位元串流標頭;取樣酬載為有號整數 PCM
色彩空間不適用(無損音訊串流)
色版與結構1 到 8 個獨立音訊聲道
最大尺寸最高支援 655,350 Hz 取樣率,每取樣 4 到 32 位元
透明度100% 數學無損位元精確音訊重現
串流與漸進式原生影格同步字與尋找表格支援位元組範圍 HTTP 串流

技術比較矩陣:FLAC 對比競爭格式

技術屬性FLAC (目前)ALACWAVAPE
授權模式免費且開源(BSD/GPL)Apache 2.0 開源公有領域 / 專有 RIFF開源自訂授權
解碼 CPU 負載極低;對電池影響極小低零 CPU 解壓縮負擔中等到高
錯誤偵測內嵌原始 PCM 音訊的 128 位元 MD5 簽章僅 atom 層級的完整性無內建每個影格一個 CRC32 檢查碼
硬體播放器採用率在車用音響、家用接收器和 Hi-Fi 音響系統中無所不在蘋果裝置與 AirPlay 接收器相容性取決於播放器與裝置。非常有限

常見損壞模式與十六進位修復指南

FLAC 解碼器記錄「MD5 簽章不符」,或是播放器在播放過程中出現停頓。

根本原因: 位元腐化(bit rot)或傳輸錯誤導致壓縮音訊影格資料中的位元反轉。

修復: 使用「flac -t sample.flac」測試完整性。使用「flac -F」重新編碼以忽略損壞的影格並復原音訊。

安全性分析與解析器攻擊向量

FLAC 擁有成熟的程式碼基底,但格式錯誤的中繼資料區塊(例如過大的圖片或曲目索引表區塊)可能會觸發解析器問題。

已知攻擊向量

  • METADATA_BLOCK_PICTURE 解析中的整數溢位,會導致未修補的媒體索引器發生堆積損壞。
  • 精心製作的聲道分配位元會在立體聲去相關常式中導致除以零錯誤。
  • libFLAC Vorbis 註解讀取器中的堆積超出界限讀取。

防禦最佳實務: 在配置記憶體緩衝區之前驗證中繼資料區塊長度,並強制執行合理的封面圖片最大尺寸。

歷史起源與里程碑

2017微軟與蘋果在 Windows 10 和 macOS High Sierra 中加入原生 FLAC 解碼支援。
2003FLAC 加入 Xiph.Org Foundation 傘下,與 Ogg、Vorbis 和 Theora 並列。
2001Josh Coalson 以開源 GPL/BSD 授權釋出 FLAC 1.0。

主要優勢與優點

  • 完全開源且免權利金的規格,沒有專利限制。
  • 非對稱式設計可在電池續航力受限的硬體上實現即時、輕量化的解碼。
  • 在 STREAMINFO 標頭中包含 MD5 音訊簽章,用於自動進行位元層級的損壞驗證。

技術限制與缺點

  • 檔案大小明顯大於 MP3、AAC 或 Opus 等有損格式(通常大 5 倍)。
  • 不原生支援 DAW 內部混音匯流排常用的 32 位元浮點數音訊資料。
  • 來自早期蘋果應用程式的歷史阻力,需要 ALAC 等替代格式。

有趣的技術冷知識

  • 4 位元組的檔案簽章(magic bytes)「fLaC」採用混合大小寫,代表「Free Lossless Audio Codec」。
  • 歐洲太空總署使用 FLAC 來壓縮大氣太空任務中的科學音訊錄音。
  • 尼爾·楊的高解析度 Pono 音樂播放器將其整個生態系建立在 24 位元 / 192 kHz 的 FLAC 基礎上。

常見技術問題

FLAC 壓縮音訊的效果跟 MP3 一樣好嗎?

不一樣。FLAC 是無損的,因此解碼後的音訊取樣與來源取樣相符。產生的檔案大小會隨音訊內容和設定而有所不同,沒有固定的縮減百分比。MP3 是有損的,通常會透過捨棄音訊資訊來產生較小的檔案。

FLAC 壓縮等級(0-8)有什麼作用?

FLAC 中的壓縮等級會影響編碼時間與 CPU 運算量,而不是音訊品質。所有等級(0 到 8)解碼出來的音訊都完全相同。等級 8 需要較長的編碼時間,但產生的檔案會稍微小一點。

FLAC 可以儲存專輯封面圖片嗎?

可以。FLAC 包含專用的 METADATA_BLOCK_PICTURE 區塊,可將正面封面、背面封面和內頁圖片直接嵌入音訊檔案中。