Apple Lossless (.alac)
Apple 標準Apple Lossless Audio Codec(ALAC)是由 Apple 開發的無損音訊壓縮格式。它會重建編碼後的 PCM 取樣,檔案大小的節省幅度會隨音訊與編碼設定而異。
將 ALAC 轉換為 FLAC
免費的瀏覽器端 ALAC 轉 FLAC 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 ALAC 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 ALAC 檔案:
十六進位簽章(偏移量 0):
?? ?? ?? ?? 66 74 79 70ASCII 表示法: ????ftyp
標準化: Apple Open Source / ISO 14496-12
技術規格
| 容器架構 | ISO 基礎媒體檔案格式(MPEG-4 Part 14)容器,帶有「alac」atom |
| 壓縮 | 調適性線性預測編碼(LPC)與 Rice-Golomb 熵編碼 |
| 位元組序 | 大端序容器 atom;影格酬載位元封包 |
| 色彩空間 | 不適用(無損音訊串流) |
| 色版與結構 | 最多 8 個音訊聲道(立體聲、5.1 環繞聲與 7.1 環繞聲) |
| 最大尺寸 | 取樣率從 44.1 kHz 到 192 kHz,解析度為 16、24 或 32 位元 |
| 透明度 | 100% 數學上無損地重建未壓縮的 PCM 資料 |
| 串流與漸進式 | 在檔案前端放置原生 QuickTime「moov」atom,可支援即時位元組範圍串流 |
技術比較矩陣:ALAC 對比競爭格式
| 技術屬性 | ALAC (目前) | FLAC | WAV | APE |
|---|---|---|---|---|
| 壓縮品質 | 100% 數學無損 | 100% 數學無損 | 未壓縮無損 | 100% 數學無損 |
| Apple 生態系支援 | 部分 Apple 裝置與軟體原生支援;播放取決於裝置與編解碼器支援 | 需要第三方播放器或 QuickLook 外掛程式 | 原生未壓縮 | 不支援,除非使用第三方工具 |
| 解碼複雜度 | 極輕量;有利於硬體與電池續航力 | 非常輕量且快速 | 零 CPU 解壓縮負擔 | 高;CPU 需求高 |
| 容器包裝格式 | MPEG-4 Part 14 容器格式(.m4a) | 原生 Ogg / FLAC 位元串流(.flac) | RIFF 容器格式(.wav) | 自訂 Monkey's Audio 容器格式(.ape) |
常見損壞模式與十六進位修復指南
音訊檔案播放幾秒鐘後便突然終止,或播放器顯示 0:00 長度。
根本原因: 由於下載不完整,或音訊錄製程式在關閉檔案前當機,導致遺失或截斷了 'moov' atom。
修復: 使用 untrunc 或 MP4Box 從使用相同設定製作的同系列錄音中,復原並移植一個有效的 moov atom。
安全性分析與解析器攻擊向量
ALAC 解碼器會解析複雜的 MPEG-4 atom 樹狀結構與調適性 LPC 預測係數;若未檢查邊界,可能導致記憶體損毀。
已知攻擊向量
- 在接收超過 32 的係數階數時,LPC 預測器階數解析發生緩衝區溢位。
- 在舊版 QuickTime 元件中進行多聲道降混時發生超出範圍的影格寫入(CVE-2011-3258)。
- Atom 大小整數溢位,導致解碼期間配置的堆積緩衝區不足。
防禦最佳實務: 強制執行嚴格的 atom 大小限制,並在配置之前針對最大允許位元深度驗證預測器係數。
歷史起源與里程碑
2021Apple Music 為其目錄提供無損 ALAC,支援的解析度因曲目與播放設定而異。
2011Apple 以 Apache 2.0 授權條款開源釋出 ALAC 參考編碼器與解碼器。
2004與 QuickTime 6.5.1 及 iTunes 4.5 同步推出,用於無損擷取與播放。
主要優勢與優點
- 無損解碼會重建編碼的來源取樣;它無法還原來源中不存在的資訊。
- Apple 平台支援 ALAC 播放,可用性取決於裝置、軟體、應用程式與播放路徑。
- 完整支援內嵌的高解析度封面、章節標記與豐富的 iTunes 風格中繼資料。
技術限制與缺點
- 非 Apple 硬體對 ALAC 的支援度不如廣泛支援的開放式 FLAC 格式常見。
- 由於保守的 Rice-Golomb 編碼器調校,通常壓縮後比 FLAC 大 2% 到 5%。
- 與有損的 AAC 共用相同的 .m4a 副檔名,容易造成使用者對檔案壓縮類型的混淆。
有趣的技術冷知識
- Apple AirPlay 會透過以 16 位元 / 44.1 kHz ALAC 編碼的本地 Wi-Fi 串流來傳輸即時音訊。
- 在 Apple 於 2011 年將 ALAC 開源之前,反向工程師 David Hammerton 透過研究 iTunes 反組譯碼,寫出了第一個開放解碼器。
- MP4 檔案內部的 ALAC 串流是由 'stsd' 取樣描述 atom 內部的四字元代碼 'alac' 來識別。
常見技術問題
我要怎麼知道我的 .m4a 檔案是有損 AAC 還是無損 ALAC?
由於 Apple 對兩者都使用 .m4a,請在播放器或轉換器中檢查該檔案。ALAC 檔案的位元率通常在 700 到 1100 kbps 之間,而 AAC 檔案的範圍則是 128 到 320 kbps。
我可以將 FLAC 轉換為 ALAC 而不遺失任何音訊品質嗎?
可以。這兩種格式都是數學無損的。從 FLAC 轉換為 ALAC 是位元完全相同的,且不會產生任何世代損失。
為什麼 Apple 要建立 ALAC 而不是採用 FLAC?
在 2004 年,Apple 需要一種能直接整合其 QuickTime 與 iPod 硬體架構的音訊編解碼器,以確保 MP4 容器內部能順暢地進行 DRM 與中繼資料管理。