FLAC與MP3不同,MP3是有損音頻壓縮編碼,但FLAC是無損壓縮,也就是說音頻以FLAC編碼壓縮后不會(huì)丟失任何信息,將FLAC文件還原為WAV文件后,與壓縮前的WAV文件內(nèi)容相同。這種壓縮與ZIP的方式類似,但FLAC的壓縮率大于ZIP和RAR,因?yàn)镕LAC是專門針對(duì)PCM音頻的特點(diǎn)設(shè)計(jì)的壓縮方式。而且可以使用播放器直接播放FLAC壓縮的文件,就像通常播放MP3文件一樣(已經(jīng)有許多汽車播放器和家用音響設(shè)備支持FLAC,在FLAC的網(wǎng)站上你可以找到這些設(shè)備廠家的鏈接)。
FLAC是免費(fèi)的并且支持大多數(shù)的操作系統(tǒng),包括Windows,基于Unix Like內(nèi)核(Linux,BSD,Solaris,IRIX,AIX等)而開發(fā)的系統(tǒng),BeOS,OS/2,Amiga。并且FLAC提供了在開發(fā)工具autotools,MSVC,Watcom C,Project Builder上的build系統(tǒng)。
現(xiàn)各大網(wǎng)站都有FLAC音樂下載,發(fā)布者一般是購(gòu)買CD后把.cda音軌直接抓取成.flac,以保證光盤的原無損質(zhì)量。
無損格式配上好耳機(jī)的效果是非常棒的。
FLAC項(xiàng)目由Josh Coalson于2000年啟動(dòng)。進(jìn)入beta階段后并在2001年1月15日發(fā)布的0.5版的參考實(shí)現(xiàn)時(shí),F(xiàn)LAC位流格式凍結(jié)。
2001年6月FLAC發(fā)布了1.0版。
2003年1月29日, "Xiph. Org"基金會(huì)和FLAC項(xiàng)目宣布FLAC成為"Xiph. Org"旗下的獨(dú)立公司 banner. 除此之外,"Xiph. Org"還對(duì)許多免費(fèi)壓縮格式提供支持,如Vorbis、Theora、Speex等等。
2007年9月17日FLAC發(fā)布了1.2.1版。
2013年6月1日六年來首次發(fā)布更新,從v1.2升級(jí)到v1.3。主要變化包括:支持RF64和Wave64 格式,ReplayGain支持最高192kHz音頻取樣率,等等。
無損失壓縮:被編碼的音頻(PCM)數(shù)據(jù)沒有任何信息損失,解碼輸出的音頻與編碼器的輸入的每一個(gè)字節(jié)都是一樣的。每個(gè)數(shù)據(jù)幀都有一個(gè)當(dāng)前幀的 16-bit CRC校驗(yàn)碼,用于監(jiān)測(cè)數(shù)據(jù)傳輸錯(cuò)誤。對(duì)整段音頻數(shù)據(jù),在文件頭中還保存有一個(gè)針對(duì)原始未壓縮音頻數(shù)據(jù)的MD5標(biāo)記,用于在解碼和測(cè)試時(shí)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)。 電腦在播放WAV文件時(shí),是把WAV文件中的PCM數(shù)據(jù)直接發(fā)送給聲卡,而電腦在播放FLAC時(shí),需要先把FLAC解碼為PCM數(shù)據(jù),然后在發(fā)送給聲卡。就是多了一個(gè)解碼的環(huán)節(jié),就像是給RAR文檔解壓一樣。其PCM數(shù)據(jù)是與壓縮前的WAV沒有區(qū)別的。
快速:FLAC更看重解碼的速度。解碼只需要整數(shù)運(yùn)算,并且相對(duì)于大多數(shù)編碼方式而言,對(duì)計(jì)算速度要求很低。在很普通的硬件上就可以輕松實(shí)現(xiàn)實(shí)時(shí)解碼。
硬件支持:由于FLAC提供了免費(fèi)的解碼范例,而且解碼的復(fù)雜程度低,直至2012年以來FLAC是唯一獲得廣泛且良好的硬件支持的無損壓縮編碼。
可以用于流媒體:FLAC的每個(gè)數(shù)據(jù)幀都包含了解碼所需的全部信息。解碼當(dāng)前幀無需參照它前面或后面的數(shù)據(jù)幀。FLAC使用了同步代碼和CRC(類似于MPEG等編碼格式),這樣解碼器在數(shù)據(jù)流中跳躍定位時(shí)可以有最小的時(shí)間延遲。
可以定位:FLAC支持快速采樣精確定位。這不僅對(duì)于播放有益,更使得FLAC文件便于編輯。
富于彈性的metadata:可以定義和實(shí)現(xiàn)新類型的metadata數(shù)據(jù)塊,而不會(huì)影響舊的數(shù)據(jù)流和解碼器的使用。已有的metadata類型包括tag,cue表,和定位表。 已經(jīng)注冊(cè)的應(yīng)用程序可以定義自己專用的metadata類型(譯注:這一點(diǎn)與MIDI標(biāo)準(zhǔn)相似)。
非常適合于存檔應(yīng)用:FLAC是一個(gè)開放的編碼格式,并且沒有任何數(shù)據(jù)的損失,你可以將它轉(zhuǎn)換為你需要的任何其他格式。除了每個(gè)數(shù)據(jù)幀的CRC和MD5標(biāo)記對(duì)數(shù)據(jù)完整性的保障,flac(譯注:FLAC項(xiàng)目提供的命令行方式編碼工具)還提供了一個(gè)verify(校驗(yàn))選項(xiàng),當(dāng)使用該選項(xiàng)進(jìn)行編碼的時(shí)候,編碼的同時(shí)就會(huì)立即對(duì)已編碼數(shù)據(jù)進(jìn)行解碼并與原始輸入數(shù)據(jù)進(jìn)行比較,一旦發(fā)現(xiàn)不同就會(huì)退出并且報(bào)警提示。
便于對(duì)CD進(jìn)行備份:FLAC有一個(gè)“CUE表”metadata數(shù)據(jù)塊用于保存CD的內(nèi)容列表和所有音軌的索引點(diǎn)。你可以將一張CD保存到一個(gè)單一文件,并導(dǎo)入CD的cue表格,這樣一個(gè)FLAC文件就可以完整地記錄整張CD的全部信息,也就是說,可以把平時(shí)單獨(dú)存放的CUE文件嵌入到FLAC文件里。當(dāng)你的原來的CD損壞的時(shí)候,你就可以用這個(gè)文件恢復(fù)出與原來一模一樣的CD副本。
抗損傷:由于FLAC的幀結(jié)構(gòu),使得一旦發(fā)生數(shù)據(jù)流的損壞,損失會(huì)被限制在受損傷的數(shù)據(jù)幀之內(nèi)。一般只是會(huì)丟失很短的一個(gè)片段。而很多其他無損音頻壓縮格式在遇到損傷的時(shí)候,一個(gè)損傷就會(huì)造成后面所有數(shù)據(jù)的丟失。
FLAC可以通過很多播放器直接播放,比如千千靜聽(已改名百度音樂),F(xiàn)oobar2000,AIMP等,甚至部分視頻播放器如KMPlayer都能直接播放。當(dāng)然,為了音質(zhì)考慮,建議使用專業(yè)音樂播放器進(jìn)行播放。
在特殊情況下,可以將FLAC文件視為一個(gè)光盤鏡像,并加載到虛擬光驅(qū)上,這可以通過Nero將FLAC文件刻錄到映像文件然后通過虛擬光驅(qū)(如Daemon Tools)加載來實(shí)現(xiàn),也可以通過WinMount軟件可以直接把Flac文件掛載到一個(gè)虛擬光驅(qū)。但是因?yàn)椴僮鞣爆崳猿窃诒匾闆r下,一般我們都是通過播放軟件直接播放的。
FLAC僅僅是一個(gè)無損音頻編碼,不含有有損壓縮的功能。因此當(dāng)需要小體積有損編碼的音頻文件時(shí),你將仍然需要MP3、AAC、Ogg Vorbis等編碼。
FLAC不支持任何版權(quán)保護(hù)(防復(fù)制)方法,自行嘗試對(duì)FLAC文件進(jìn)行保護(hù)是徒勞無功的。
在音頻壓縮領(lǐng)域,有兩種壓縮方式,分別是有損壓縮和無損壓縮。我們常見到的MP3、WMA、OGG被稱為有損壓縮,有損壓縮顧名思義就是在壓縮過程中會(huì)讓原始音頻信息受損和失真。另一種音頻壓縮被稱為無損壓縮。無損壓縮能夠在100%保存原文件的音頻數(shù)據(jù)的前提下,將音頻文件的體積壓縮得更小,而將壓縮后的音頻文件還原后,能夠得到與源文件完全相同的PCM數(shù)據(jù)。無損壓縮格式有APE、FLAC、WavPack、TAK、TTA、WMA Lossless、Apple Lossless、La、OptimFROG、Shorten等,而在中國(guó)最流行的無損壓縮格式是APE和FLAC。下面就針對(duì)這兩種無損壓縮格式進(jìn)行一下對(duì)比。
APE即Monkey's Audio,是一種常見的無損音頻壓縮編碼格式,擴(kuò)展名為.ape。與有損音頻壓縮(如MP3、Ogg Vorbis或者AAC等)不同的是,Monkey's Audio壓縮時(shí)不會(huì)丟失數(shù)據(jù)。一個(gè)壓縮為Monkey's Audio的音頻文件聽起來與原文件完全一樣。Monkey's Audio文件的播放列表使用.apl(也支持cue)。同時(shí)它提供的開源開發(fā)包使得播放器開發(fā)者們可以較容易地讓播放器產(chǎn)品支持APE格式。在現(xiàn)有不少無損壓縮方案中,APE是一種有著優(yōu)勢(shì)并不突出的壓縮率以及較慢的解碼速度。由于推出時(shí)間較FLAC早,APE格式占據(jù)了大多數(shù)PC-HIFI友的心,在國(guó)內(nèi)很快流行,應(yīng)用非常廣泛,成為了國(guó)內(nèi)許多無損音樂愛好者的首選格式。
FLAC是Free Lossless Audio Codec的簡(jiǎn)稱,是一種非常成熟的無損壓縮格式,名氣不在APE之下。該格式的源碼完全開放,而且支持所有的操作系統(tǒng)平臺(tái)。它的編碼算法相當(dāng)成熟,已經(jīng)通過了嚴(yán)格的測(cè)試,當(dāng)FLAC文件受損時(shí)依然能正常播放。另外,該格式是最先得到廣泛硬件支持的無損格式。
前面已經(jīng)說明,無損壓縮是在保證不損失源文件所有碼率的前提下,將音頻文件壓縮得更小,也就是說這兩種音頻格式都能保證源文件碼率的無損。但兩種壓縮格式畢竟為兩種壓縮算法,下面比較一下這兩種壓縮格式的特點(diǎn):
一、壓縮率決定無損壓縮文件所占存儲(chǔ)空間
所有的無損壓縮編碼的壓縮率都較為相近,但在這些無損壓縮編碼之中,APE具有較好的壓縮率,F(xiàn)LAC的壓縮率略有不如。以一首49784KB的“5 Star Grave - In Bed With The Dead.wav”為例,轉(zhuǎn)換為flac后大小為37006KB,轉(zhuǎn)換為ape后大小為36460KB,兩者的壓縮率分別為74.33%和73.24%。大多數(shù)情況下,一個(gè)WAV音頻文件經(jīng)壓縮后得到的APE文件,一般會(huì)比壓縮為FLAC文件稍微小一些。由于不同的WAV文件信息量不同,以上數(shù)據(jù)僅供參考。(注:flac.exe為1.3.0版,MAC.exe為4.11版)
二、編碼速度考驗(yàn)用戶的耐心,速度快者優(yōu)
FLAC的壓縮和解碼速度均顯著優(yōu)于APE,APE只有在FAST的編碼強(qiáng)度下,速度才能和FLAC一拼。但相應(yīng)的,APE的壓縮率一直低于FLAC,APE的FAST壓縮下得到的文件體積已經(jīng)可以和FLAC最低壓縮率的文件體積媲美(經(jīng)測(cè)試,一首49784KB的“5 Star Grave - In Bed With The Dead.wav”文件,經(jīng)FAST壓縮后得的APE文件和最低壓縮率Level 8下得到的FLAC文件大小分別為36854KB、36960KB)。也就是說,如果以速度為基準(zhǔn)比較的話,在相同壓縮速度的設(shè)定下,兩者的壓縮率差不多。
三、平臺(tái)的支持決定普及度
FLAC相比APE的解碼復(fù)雜程度要較低(解碼運(yùn)算量小、只需要整數(shù)運(yùn)算),解碼速度快,對(duì)計(jì)算硬件要求很低,在很普通的硬件上就可以輕松實(shí)現(xiàn)實(shí)時(shí)解碼播放。FLAC是唯一獲得廣泛硬件支持的無損壓縮編碼,在消費(fèi)領(lǐng)域,已經(jīng)有很多移動(dòng)多媒體播放器、汽車、家用音響設(shè)備支持FLAC格式了。
APE格式,官方只提供Windows支持。雖然也有提供GNU/Linux和Macintosh平臺(tái)的官方支持的討論,但是沒有結(jié)果。只有一位名為SuperMMX的開發(fā)者于2003年7月釋出了一個(gè)非官方移植版本。它包括了供XMMS與Beep Media Player回放Monkey's Audio使用的插件。該移植本來只支持GNU/Linux,但從3.99 update 4 build 4版本開始支持Mac OS X和基于PowerPC、SPARC平臺(tái)的GNU/Linux。但是這個(gè)非官方移植計(jì)劃沒有得到官方的承認(rèn),受制于官方發(fā)行許可證的限制,其未來并不明朗。不過據(jù)稱Monkey's Audio的Win32庫(kù)可以借助Wine在GNU/Linux平臺(tái)運(yùn)行。硬件支持方面,由于采用了浮點(diǎn)運(yùn)算,編碼解碼速度慢,對(duì)硬件的要求較高,硬件支持度不如FLAC。
四、兩者的開源特性
APE屬于個(gè)人作品,未來不排除出現(xiàn)版權(quán)問題;技術(shù)水平和支持方面遜色于國(guó)際通用標(biāo)準(zhǔn)格式的FLAC。
FLAC是一個(gè)開放源代碼并且完全免費(fèi)的無損音頻編碼壓縮格式,是國(guó)際通用標(biāo)準(zhǔn),這種與CD質(zhì)量相同的音樂格式在音質(zhì)上一樣是無可挑剔的,以FLAC方式壓縮不會(huì)丟失PCM音頻的任何信息。而且你永遠(yuǎn)不必?fù)?dān)心惹上版權(quán)官司。受益于此,有很多音頻處理軟件默認(rèn)都可以輸入、輸出FLAC格式文件,這給音頻的后期處理帶來了方便。
兩者的開源或部分開源,對(duì)音頻軟硬件的設(shè)計(jì)們提供了很大的便利,不但幾乎所有主流播放軟件都支持二者,硬件方面也有很多播放器支持了FLAC和APE。只不過因?yàn)锳PE解碼的運(yùn)算量太大的問題,導(dǎo)致并不是每一個(gè)APE文件都可以被硬件播放器流暢播放,也更耗電。
五、容錯(cuò)能力
APE文件的容錯(cuò)性差,只要在傳輸過程中出現(xiàn)一點(diǎn)差錯(cuò),就會(huì)讓整首APE音樂作廢。而FLAC文件因?yàn)槊繋瑪?shù)據(jù)之間無關(guān)聯(lián)。因此當(dāng)FLAC文件在傳播過程中受損,導(dǎo)致某幀數(shù)據(jù)損壞缺失的話,只會(huì)損失該幀的音頻信息,不會(huì)影響到前后的數(shù)據(jù)。這是FLAC的優(yōu)勢(shì),但也因此FLAC的壓縮率略低。
總結(jié):
無論FLAC還是APE,因?yàn)樗伎臻g都比有損音樂大很多,單從技術(shù)角度講,F(xiàn)LAC要比APE更有優(yōu)勢(shì),因?yàn)镕LAC完全開源,許多播放器可以自由地將FLAC解碼功能內(nèi)建在自己的解碼器中。同時(shí),F(xiàn)LAC有廣泛的硬件平臺(tái)的支持,幾乎所有采用便攜式設(shè)計(jì)的高端解碼芯片都能夠支持FLAC格式的音樂,F(xiàn)LAC第三個(gè)優(yōu)勢(shì)在于:優(yōu)秀的編碼使得硬件在解碼時(shí)只需采用簡(jiǎn)單的整數(shù)運(yùn)算即可,這將大大降低所占用的硬件資源,解碼速度極快,這也是硬件播放器對(duì)FLAC支持更好的原因。