-
FLAC
(無損音頻壓縮編碼)
鎖定
- 中文名
- 無損音頻壓縮編碼
- 外文名
- Free Lossless Audio Codec
- 外語縮寫
- FLAC
- 類 型
- 無損壓縮
- 項目啓動時間
- 2000年
- 發佈時間
- 2001年1月15日
- 最新穩定版
- FLAC 1.4.2 (2022/10/22) [2]
FLAC解析區別
FLAC與MP3不同,MP3是有損音頻壓縮編碼,但FLAC是無損壓縮,也就是説音頻以FLAC編碼壓縮後不會丟失任何信息,將FLAC文件還原為WAV文件後,與壓縮前的WAV文件內容相同。這種壓縮與ZIP的方式類似,但FLAC的壓縮率大於ZIP和RAR,因為FLAC是專門針對PCM音頻的特點設計的壓縮方式。而且可以使用播放器直接播放FLAC壓縮的文件,就像通常播放MP3文件一樣(已經有許多汽車播放器和家用音響設備支持FLAC,在FLAC的網站上你可以找到這些設備廠家的鏈接)。
FLAC是免費的並且支持大多數的操作系統,包括Windows,基於Unix Like內核(Linux,BSD,Solaris,IRIX,AIX等)而開發的系統,BeOS,OS/2,Amiga。並且FLAC提供了在開發工具autotools,MSVC,Watcom C,Project Builder上的build系統。
現各大網站都有FLAC音樂下載,發佈者一般是購買CD後把.cda音軌直接抓取成.flac,以保證光盤的原無損質量。
無損格式配上好耳機的效果是非常棒的。
FLAC項目
FLAC 數據流的格式
flac,一個以命令行方式工作的可以編解碼FLAC文件的程序;
metaflac,以命令行方式工作的FLAC文件的metadata編輯器。
FLAC 不同音頻播放器的輸入插件
我們所説的“FLAC是自由(free)的”不僅僅意味着你可以不花錢而得到它。更重要的是FLAC的文件格式是對公眾完全開放的,你可以以任何目的使用它(FLAC 項目只保留維護 FLAC 格式規格和確認兼容特性的權利),FLAC的文件格式和編碼/解碼的實現方式都不受任何已知專利的限制。還有,所有的源代碼都在開放源代碼的授權方式下可以得到。
FLAC發展歷史
2001年6月FLAC發佈了1.0版。
2003年1月29日, "Xiph. Org"基金會和FLAC項目宣佈FLAC成為"Xiph. Org"旗下的獨立公司 banner. 除此之外,"Xiph. Org"還對許多免費壓縮格式提供支持,如Vorbis、Theora、Speex等等。
2007年9月17日FLAC發佈了1.2.1版。
2013年6月1日六年來首次發佈更新,從v1.2升級到v1.3。主要變化包括:支持RF64和Wave64 格式,ReplayGain支持最高192kHz音頻取樣率,等等。
FLAC特性
無損失壓縮:被編碼的音頻(PCM)數據沒有任何信息損失,解碼輸出的音頻與編碼器的輸入的每一個字節都是一樣的。每個數據幀都有一個當前幀的 16-bit CRC校驗碼,用於監測數據傳輸錯誤。對整段音頻數據,在文件頭中還保存有一個針對原始未壓縮音頻數據的MD5標記,用於在解碼和測試時對數據進行校驗。 電腦在播放WAV文件時,是把WAV文件中的PCM數據直接發送給聲卡,而電腦在播放FLAC時,需要先把FLAC解碼為PCM數據,然後在發送給聲卡。就是多了一個解碼的環節,就像是給RAR文檔解壓一樣。其PCM數據是與壓縮前的WAV沒有區別的。
快速:FLAC更看重解碼的速度。解碼只需要整數運算,並且相對於大多數編碼方式而言,對計算速度要求很低。在很普通的硬件上就可以輕鬆實現實時解碼。
硬件支持:由於FLAC提供了免費的解碼範例,而且解碼的複雜程度低,直至2012年以來FLAC是唯一獲得廣泛且良好的硬件支持的無損壓縮編碼。
可以用於流媒體:FLAC的每個數據幀都包含了解碼所需的全部信息。解碼當前幀無需參照它前面或後面的數據幀。FLAC使用了同步代碼和CRC(類似於MPEG等編碼格式),這樣解碼器在數據流中跳躍定位時可以有最小的時間延遲。
可以定位:FLAC支持快速採樣精確定位。這不僅對於播放有益,更使得FLAC文件便於編輯。
富於彈性的metadata:可以定義和實現新類型的metadata數據塊,而不會影響舊的數據流和解碼器的使用。已有的metadata類型包括tag,cue表,和定位表。 已經註冊的應用程序可以定義自己專用的metadata類型(譯註:這一點與MIDI標準相似)。
非常適合於存檔應用:FLAC是一個開放的編碼格式,並且沒有任何數據的損失,你可以將它轉換為你需要的任何其他格式。除了每個數據幀的CRC和MD5標記對數據完整性的保障,flac(譯註:FLAC項目提供的命令行方式編碼工具)還提供了一個verify(校驗)選項,當使用該選項進行編碼的時候,編碼的同時就會立即對已編碼數據進行解碼並與原始輸入數據進行比較,一旦發現不同就會退出並且報警提示。
便於對CD進行備份:FLAC有一個“CUE表”metadata數據塊用於保存CD的內容列表和所有音軌的索引點。你可以將一張CD保存到一個單一文件,並導入CD的cue表格,這樣一個FLAC文件就可以完整地記錄整張CD的全部信息,也就是説,可以把平時單獨存放的CUE文件嵌入到FLAC文件裏。當你的原來的CD損壞的時候,你就可以用這個文件恢復出與原來一模一樣的CD副本。
抗損傷:由於FLAC的幀結構,使得一旦發生數據流的損壞,損失會被限制在受損傷的數據幀之內。一般只是會丟失很短的一個片段。而很多其他無損音頻壓縮格式在遇到損傷的時候,一個損傷就會造成後面所有數據的丟失。
FLAC軟件支持
FLAC編碼
Audacity | 1.2.5版之後 |
KMPlayer | 通過官方解碼器 |
Flake(libFlake) | 一個第三方開發的實驗性的版本對多線程/核提供支持。 |
Windows平台
ALLPlayer
通過外部解碼器 |
12.0.3xx版以後 |
通過可選的外部分離器插件 |
10.2版以後 |
Producer版,7版以後 |
9版以後 |
Pro 8/Pro 9 |
5.35版之後通過Flake,5.54版之前會產生不正確的MD5檢驗 |
Toast Titanium | 版本7開始支持 |
xACT | 不要與微軟的XACT庫混淆 |
FLAC解碼
跨平台
Boxee
FFmpeg |
aTunes |
PS3 Media Server |
Adobe Audition |
Audacity 1.3.5 Beta |
MPlayer |
Songbird |
Squeezebox |
The Core Pocket Media Player with FLAC plugin |
VLC media player |
XBMC Media Center |
Mixxx Digital DJ software |
Windows平台
Ableton Live |
Windows Media Player 12.0.9800 |
類Unix
GnomeBaker | GNOME |
Quod Libet | GNOME |
Rhythmbox | GNOME |
Totem Movie Player | GNOME |
Serpentine | GNOME |
Amarok | KDE |
JuK | KDE |
Audiokonverter | KDE |
Mac OS X
Fluke |
Quicktime |
Ableton Live |
Cog |
Plex Media Center |
xACT |
TRAKTOR 3 |
TRAKTOR Scratch |
Palm OS
TCPMP | 0.72rc1版,開源,通過插件 |
FLACCD抓軌
跨平台
Songbird |
aTunes |
Windows平台
Audiograbber
AudiTranscoder |
BonkEnc |
CDex |
DBpoweramp |
Exact AudiCopy |
Easy CD-DA Extractor |
foobar2000 |
iriver plus 3 |
JetAudio |
MediaMonkey |
Winamp |
Yahoo! Music Jukebox |
類Unix
ABCDE |
Asunder |
Banshee |
Cdda2wav |
Cdparanoia |
Mencoder |
crip |
Grip |
Sound Juicer |
K3b |
Konqueror |
soundKonverter |
Mac OS X
Max | Mac OS 10.4版或更高版本 |
FLAC硬件支持
FLAC原生支持
蘋果 (Apple ) iPhone 7, 7 Plus, 8, 8 Plus, X, XS, XS Max, XR | 更新至iOS 11後可以實現原生播放,僅支持lightning輸出。 不支持藍牙耳機,不支持iPhone 6s, 6s Plus及以下機型。 |
TRAXMOD | 支持44.1 kHz/16位 立體聲回放 |
Onkyo TX-NR906 | 支持播放外部USB設備上的16位/24位 |
Pioneer SC-05, SC-07, SC-25, SC-27 以及 SC-09TX | 支持外部USB設置 (網絡支持特性待驗證) |
Denon AVP-A1HDCI, AVR-4810, AVR-4310, AVR-3310等 | |
Yamaha RX-V2065 功放 | |
Meridian Sooloos | |
Escient | |
iAudio (Cowon) - A2, A3, 6, 7, F2, M3, M5, X5, U3, U5 | 通過刷入最新固件可以實現原生播放 |
Olive (Symphony, Musica, Opus) | |
PhatBox | |
Rio Karma | |
SanDisk Sansa Fuze | 更新固件後支持 |
Squeezebox 和Transporter(Logitech的網絡音樂播放器) | 最新產品支持原生解碼。早期產品需要在服務器端轉換為PCM編碼 |
Sonos | |
魅族(Meizu) M6 Mini Player, M3 Music Card, M8, M9 | |
VEDIA A10, B6 | |
Pixel Magic Systems' HD Mediabox | 1.3.4版或之後的固件 |
嵌入式Waveplayer | 支持FLAC 0-2級 |
Teclast T29, T39, C260, C280, C290 | |
Trekstor Vibez | |
T+A Music Player | |
Linn Klimax DS (Digital Stream) | |
Linn Akurate DS | |
Linn Majik DS | |
Linn Sneaky Music DS | |
iriver E100, E50, E30, Lplayer, SPINN | |
NMT players | |
Archos 5 互聯網平板電腦 | |
Archos互聯網多媒體平板電腦 | |
Naim Audio HDX 硬盤播放器 | |
Samsung YP-U5 | |
Creative Zen X-Fi 2 | |
WD TV | |
索尼(SONY) BDV-E4100//M 3D藍光家庭影院 (黑色) | 支持FLAC |
FLAC其他平台
Nintendo Wii | 通過Wii自制程序,MPlayerWii或MPlayer CE |
Apple TV,BMC Media Center 或 Boxee | |
1-5.5代iPod, iPod Mini,1代iPod nano | 通過第三方Rockbox固件 |
絕大多數兼容Rockbox的數碼音樂播放器(DAP) | 包括iriver和Gigabeat (東芝公司)的產品,以及上面提到的iPod |
Sound Devices 7-Series專業音頻錄音機 | 通過更新"badger" 固件 (v.2.24版) |
Sony PlayStation Portable(PSP) | 使用自制LightMP3程序 |
Samsung YP-P3, YP-Q1, YP-Q2, YP-U5, YP-S5,YP-RO | 通過三星網站上發佈的新版固件 |
Windows Mobile, Symbian OS(S60, S80 和 S90平台), | 通過免費的開源音樂播放程序OggPlay。 |
Google Android 設備 | 通過運行CM 3.9.6版(或更高版本) |
FLAC打開方式
FLAC可以通過很多播放器直接播放,比如千千靜聽(已改名千千音樂),Foobar2000,AIMP等,甚至部分視頻播放器如KMPlayer都能直接播放。當然,為了音質考慮,建議使用專業音樂播放器進行播放。
在特殊情況下,可以將FLAC文件視為一個光盤鏡像,並加載到虛擬光驅上,這可以通過Nero將FLAC文件刻錄到映像文件然後通過虛擬光驅(如Daemon Tools)加載來實現,也可以通過WinMount軟件可以直接把Flac文件掛載到一個虛擬光驅。但是因為操作繁瑣,所以除非在必要情況下,一般我們都是通過播放軟件直接播放的。
FLAC缺點
FLAC不支持任何版權保護(防複製)方法,自行嘗試對FLAC文件進行保護是徒勞無功的。
FLACFLAC與APE
在音頻壓縮領域,有兩種壓縮方式,分別是有損壓縮和無損壓縮。我們常見到的MP3、WMA、OGG被稱為有損壓縮,有損壓縮顧名思義就是在壓縮過程中會讓原始音頻信息受損和失真。另一種音頻壓縮被稱為無損壓縮。無損壓縮能夠在100%保存原文件的音頻數據的前提下,將音頻文件的體積壓縮得更小,而將壓縮後的音頻文件還原後,能夠得到與源文件完全相同的PCM數據。無損壓縮格式有APE、FLAC、WavPack、TAK、TTA、WMA Lossless、Apple Lossless、La、OptimFROG、Shorten等,而在中國最流行的無損壓縮格式是APE和FLAC。下面就針對這兩種無損壓縮格式進行一下對比。
APE即Monkey's Audio,是一種常見的無損音頻壓縮編碼格式,擴展名為.ape。與有損音頻壓縮(如MP3、Ogg Vorbis或者AAC等)不同的是,Monkey's Audio壓縮時不會丟失數據。一個壓縮為Monkey's Audio的音頻文件聽起來與原文件完全一樣。Monkey's Audio文件的播放列表使用.apl(也支持cue)。同時它提供的開源開發包使得播放器開發者們可以較容易地讓播放器產品支持APE格式。在現有不少無損壓縮方案中,APE是一種有着優勢並不突出的壓縮率以及較慢的解碼速度。由於推出時間較FLAC早,APE格式佔據了大多數PC-HIFI友的心,在國內很快流行,應用非常廣泛,成為了國內許多無損音樂愛好者的首選格式。
FLAC是Free Lossless Audio Codec的簡稱,是一種非常成熟的無損壓縮格式,名氣不在APE之下。該格式的源碼完全開放,而且支持所有的操作系統平台。它的編碼算法相當成熟,已經通過了嚴格的測試,當FLAC文件受損時依然能正常播放。另外,該格式是最先得到廣泛硬件支持的無損格式。
一、壓縮率決定無損壓縮文件所佔存儲空間
所有的無損壓縮編碼的壓縮率都較為相近,但在這些無損壓縮編碼之中,APE具有較好的壓縮率,FLAC的壓縮率略有不如。以一首49784KB的“5 Star Grave - In Bed With The Dead.wav”為例,轉換為flac後大小為37006KB,轉換為ape後大小為36460KB,兩者的壓縮率分別為74.33%和73.24%。大多數情況下,一個WAV音頻文件經壓縮後得到的APE文件,一般會比壓縮為FLAC文件稍微小一些。由於不同的WAV文件信息量不同,以上數據僅供參考。(注:flac.exe為1.3.0版,MAC.exe為4.11版)
二、編碼速度考驗用户的耐心,速度快者優
FLAC的壓縮和解碼速度均顯著優於APE,APE只有在FAST的編碼強度下,速度才能和FLAC一拼。但相應的,APE的壓縮率一直低於FLAC,APE的FAST壓縮下得到的文件體積已經可以和FLAC最低壓縮率的文件體積媲美(經測試,一首49784KB的“5 Star Grave - In Bed With The Dead.wav”文件,經FAST壓縮後得的APE文件和最低壓縮率Level 8下得到的FLAC文件大小分別為36854KB、36960KB)。也就是説,如果以速度為基準比較的話,在相同壓縮速度的設定下,兩者的壓縮率差不多。
三、平台的支持決定普及度
FLAC相比APE的解碼複雜程度要較低(解碼運算量小、只需要整數運算),解碼速度快,對計算硬件要求很低,在很普通的硬件上就可以輕鬆實現實時解碼播放。FLAC是唯一獲得廣泛硬件支持的無損壓縮編碼,在消費領域,已經有很多移動多媒體播放器、汽車、家用音響設備支持FLAC格式了。
APE格式,官方只提供Windows支持。雖然也有提供GNU/Linux和Macintosh平台的官方支持的討論,但是沒有結果。只有一位名為SuperMMX的開發者於2003年7月釋出了一個非官方移植版本。它包括了供XMMS與Beep Media Player回放Monkey's Audio使用的插件。該移植本來只支持GNU/Linux,但從3.99 update 4 build 4版本開始支持Mac OS X和基於PowerPC、SPARC平台的GNU/Linux。但是這個非官方移植計劃沒有得到官方的承認,受制於官方發行許可證的限制,其未來並不明朗。不過據稱Monkey's Audio的Win32庫可以藉助Wine在GNU/Linux平台運行。硬件支持方面,由於採用了浮點運算,編碼解碼速度慢,對硬件的要求較高,硬件支持度不如FLAC。
四、兩者的開源特性
FLAC是一個開放源代碼並且完全免費的無損音頻編碼壓縮格式,是國際通用標準,這種與CD質量相同的音樂格式在音質上一樣是無可挑剔的,以FLAC方式壓縮不會丟失PCM音頻的任何信息。而且你永遠不必擔心惹上版權官司。受益於此,有很多音頻處理軟件默認都可以輸入、輸出FLAC格式文件,這給音頻的後期處理帶來了方便。
兩者的開源或部分開源,對音頻軟硬件的設計們提供了很大的便利,不但幾乎所有主流播放軟件都支持二者,硬件方面也有很多播放器支持了FLAC和APE。只不過因為APE解碼的運算量太大的問題,導致並不是每一個APE文件都可以被硬件播放器流暢播放,也更耗電。
五、容錯能力
APE文件的容錯性差,只要在傳輸過程中出現一點差錯,就會讓整首APE音樂作廢。而FLAC文件因為每幀數據之間無關聯。因此當FLAC文件在傳播過程中受損,導致某幀數據損壞缺失的話,只會損失該幀的音頻信息,不會影響到前後的數據。這是FLAC的優勢,但也因此FLAC的壓縮率略低。
總結:
無論FLAC還是APE,因為所佔空間都比有損音樂大很多,單從技術角度講,FLAC要比APE更有優勢,因為FLAC完全開源,許多播放器可以自由地將FLAC解碼功能內建在自己的解碼器中。同時,FLAC有廣泛的硬件平台的支持,幾乎所有采用便攜式設計的高端解碼芯片都能夠支持FLAC格式的音樂,FLAC第三個優勢在於:優秀的編碼使得硬件在解碼時只需採用簡單的整數運算即可,這將大大降低所佔用的硬件資源,解碼速度極快,這也是硬件播放器對FLAC支持更好的原因。
- 參考資料
-
- 1. MP3播放器已死?新時代來了 .驅動之家.2014-04-03[引用日期2014-10-25]
- 2. FLAC .XIPH.2022-10-22[引用日期2022-11-06]