無損音頻格式 APE 與 FLAC

昨天,學霸胖問了我們一個問題,「APE」格式是什麼?我也一時想不起來全稱,只知道屬於一種無損的音頻格式。回來之後,覺得有必要查一查資料,然後做一次科普,同諸位分享。

查閱資料,當今廣泛存在的無損壓縮格式(音頻)有 APE、 FLAC、 WavPack、 LPAC、 WMALossless、 AppleLossless、 La、 OptimFROG 和 Shorten。而常見的、主流的無損壓縮格式是 APE、FLAC、WMALossless 和 AppleLossless。那我們今天就來聊聊這些無損音頻格式當中的兩個:APE 和 FLAC。

引入—— WAV 音頻格式與音頻壓縮

WAV 音頻格式是最接近無損的一種音樂格式,是微軟開發的一種符合 RIFF(Resource Interchange File Format) 文件規範的聲音文件格式。如果你使用過 Adobe Audition 系列軟體,會發現它們使用的默認存儲格式就是 WAV。WAV 文件通常都比較大,根據其大小計算公式:

文件大小(Byte) = (取樣頻率 * 取樣位數 * 聲道) * 時間 / 8n

一個10分鐘 44.1k 採樣頻率、16位立體聲音頻,根據計算式:

filesize = (44.1 * 1000 * 16 * 2) * 60 * 10 / 8n = 105,840,000 Byten = 100.93689 MBn

可見其實 WAV 文件是非常佔用空間的,如果是一場音樂會,時長90分鐘,使用24位深度,那麼文件大小約為 1.31GB,故而人們嘗試使用壓縮演算法來減小文件體積。

那麼重點來了,如何壓縮文件來獲得更小的體積佔用呢?軟體演算法把人耳不敏感的音頻信號全部濾除,從而只留下人耳敏感的部分,這樣會直接導致使用高還原度的音頻播放設備時,聲音出現明顯的失真!

簡單說來,此類演算法的目的就是要去掉不必要的音頻信號。所以,這一類壓縮演算法往往都是不可逆的,即通過壓縮之後的音頻文件,絕對不可能通過逆向演算法還原原來的文件。

APE 音頻格式

經過剛才的分析,我們已經知道了為什麼音頻格式會出現無損和有損之分,它指的是文件壓縮的時候是否會丟失精細程度,而不是相對原始聲音而言(因為真實聲音信號向數字信號轉換時,必然有一部分信息丟失,丟失的多少,與採樣率有直接關係)。那麼如何證明 APE 文件格式是無損的呢?以下進行一個實驗:

實驗工具:

  • Adobe Auditon CC 2017 release

  • Windows 10 Pro

  • 一段 WAV 音頻文件

實驗過程:

  • 第一步:生成 WAV 音頻文件

  • 第二步:生成 APE 文件

    可見 APE 文件相對 WAV 文件,產生了一定的壓縮。

  • 第三步:使用生成的 APE 文件還原 WAV 文件

所以我們說 APE 是一種無損壓縮。

FLAC 音頻格式

知道了 APE 格式,我們再來看看 FLAC 格式。

同樣的工具和步驟:

  • 第一步:生成 FLAC 文件

  • 第二步:還原 WAV 文件

FLAC 格式因起強大的信息保全特性和較好的跨平台支持特性,廣受人們的歡迎,如今不如智能化時代,設備的運算能力提升,故市面常見的播放器廠商都會對這種格式作支持。

但是值得注意的是,FLAC 格式的壓縮比不高,使得文件存儲時仍然需要較大的空間。同時,低圧縮比也是其相對 APE 的另一優勢。APE 文件因其高壓縮比而往往需要設備更強大的解碼能力,在軟硬體能力不足時,其流暢性會受到損傷。

多平台支持

FLAC 相比 APE 的解碼複雜程度要較低(解碼運算量小、只需要整數運算),解碼速度快,對計算硬體要求很低,在很普通的硬體上就可以輕鬆實現實時解碼播放。所以 FLAC 是目前唯一獲得廣泛硬體支持的無損壓縮編碼,在消費領域,已經有很多移動多媒體播放器、汽車、家用音響設備支持 FLAC 格式了。

目前,APE 格式官方只提供 Windows 支持。雖然也有提供 GNU/Linux 和 macOS 平台的官方支持的討論,但是沒有結果。目前只有一位名為 SuperMMX 的開發者於2003年7月發布了一個非官方移植版本。它包括了供 XMMS 與 Beep Media Player 回放 Monkeys Audio (APE) 使用的插件。該移植支持 GNU/Linux,後續逐漸支持Mac OS X和基於 PowerPC、SPARC 平台的 GNU/Linux。但是這個非官方移植計劃沒有得到官方的承認,受制於官方發行許可證的限制,其未來並不明朗。不過據稱 Monkeys Audio 的Win32庫可以藉助 wine 在 GNU/Linux 平台運行。而硬體支持方面,由於採用了浮點運算,編碼解碼速度慢,對硬體的要求較高,硬體支持度不如FLAC。

容錯能力

APE 文件的容錯性很差,只要在傳輸過程中出現一點差錯,就會讓整首 APE 音樂作廢。而 FLAC 文件因為每幀數據之間無關聯。因此當 FLAC 文件在傳播過程中受損,導致某幀數據損壞缺失的話,只會損失該幀的音頻信息,不會影響到前後的數據。這是 FLAC 的優勢,但也因此 FLAC 的壓縮率略低。

下面附上 FLAC 官方網站的網址:Free Lossless Audio Codec

【說明】使用 APE 和 FLAC 還原 WAV 文件時,會發現文件大小有幾kb的差別,這一點產生的原因目前還不能確定。所以還需對二進位文件比較來查證。

關注公眾號:MSTest0,我們都在點滴分享中成長

weixin.qq.com/r/qDpaQhH (二維碼自動識別)


推薦閱讀:

TAG:科普 | 音频文件格式 |