跳至內容

FLAC

出自Taiwan Tongues 客語維基
這是此頁批准,以及是最近的修訂。

FLAC(發音:/ ˈflæk /;全部講:FreeLosslessAudioCodec), 中文直翻譯為自由無損音訊息壓縮編碼(註:這位「_ Free _」講个係無音質損失—— 並毋係免費)。 FLAC 係一款个自由音訊壓縮編碼,佢特點就做得對音訊息檔無失真壓縮。無共樣其他有損失壓縮編碼(像係 MP 三、AAC 等), 壓縮後毋會有任何音質損失,這下已經分當多軟體摎硬體音訊產品所支援。

歷史

FLAC 專案由 Josh Coalson 在二零零年發起了開發。FLAC 位元流格式在進入 FLAC 零角五版本內部測試个時節分人凍結,二零零一年一月十五號 FLAC 毋過五隻版本愛放出來,做為第一個 FLAC 个參考實做,二零零一年七月二十,FLAC 一千五百空正式釋出。

二零零三年一月二十九號,Xiph . Org 基金會宣佈 FLAC 併入旗下,連同 Ogg Vorbis,Ogg Theora 過 Speex 變做旗下个開源專案。

二零一三年五月二十六號,FLAC 一千擔百空三 . 零釋出,乜會開發轉移到台灣 Xiph . org Git 倉庫仔。

二千空一十四年十一月二十五日,FLAC 一千擔百空三 . 一釋出。

二零一七年一月初一,FLAC 一千擔百空三 . 二釋出。

二零一九年八月初四,FLAC 一千擔百空三 . 三釋出,毋過Windows 版本並無分人編譯做 EXE 格式,還過在首頁頂項个 latest news 處也無顯示,單淨在 changelog 中出現。

二零二二年二月二十號,FLAC一千擔百空三 . 四釋出。

二零二二年九月初九,FLAC 一千擔四百空二。

專案組成

FLAC 專案包含:

  • 音訊格式
  • libFLAC,一隻參考个編碼摎解碼程式庫,還過一個元資料介面
  • libFLAC + +,一个配合嗬 libFLAC 个物件壓縮器
  • flac,一隻文字介面个壓縮手指令,配合 libFLAC 以編碼抑係解碼 . flac 檔案
  • metaflac,一個命令列介面个 . flac 元資料編輯器
  • input plugins,無共樣个音樂播放軟體个輸入外掛程式(像係 Winamp,XMMS,foobar 兩千,musikCube)

_ 自由 _ 指个係這個音訊格式做得在毋使事先授權个情況下來使用(xiph . org 保留吔製定 FLAC 規格摎認證相容規定个權利)。 不管係 FLAC 格式抑係佢編啦碼摎解碼方法都無任何軟體專利保護,這表示歸隻 FLAC 係自由軟體:libFLAC 過 libFLAC + + 个原始碼係在 BSD 授權條款之下發佈,還過 flac,metaflac還有其他外掛程式个原始碼都係在 GPL 下發佈。

在佢个官方个目標當中,FLAC 計畫毋鼓勵開發者在其中加入任何反複製个特性。

技術

FLAC 淨支援定點取樣,毋支援浮點取樣仔,這係因為佢愛確保無任何約數錯誤以致影響音質。佢做得支援任何 PCM 位解析度,對四到三十二 bits per sample 都有。佢乜支援任何取樣頻率,由一 Hz 到了六五十五 , 三百五十 Hz 不等,並做得一一個 Hz 小可調查。

FLAC 𢯭手當多無共樣个平台:大部分个 Unix-like 系統(包含 Linux,BSD,Solaris 過 Mac OSX), Windows,BeOS 過 OS / 二。支援恁多平臺个原因係因為佢係由 autoconf/automake、MSVC、Watcom C 過 Project Builder編譯个。

FLAC 个技術特點就像下:

  • 無失真壓縮:分人編碼个音訊(PCM)資料無任何資訊損失,解碼輸出个音訊摎編碼器个輸入个每一隻位元組都係共樣个。每一個資料框都有一個當前影格个十六 -bit CRC 校驗碼,用來監測資料傳輸毋著。對整段音訊資料,在檔案頭裡肚還有一個針對原始無壓縮音資料个 MD 五標記,用在解碼同測試時對資料進行校驗。
  • 生活个壓縮策略:摎 libflac 使用係「品質」个參數,該參數變化從零(盡遽)到八(盡細)。 雖然在壓縮過程(壓縮檔案總係完美个「無失真」表示个原始資料)。 涉及速度摎容量之間个折衷, 解碼過程當中一直係當遽个,毋係非常依賴比壓縮
  • 遽啊:FLAC 看重解碼个速度。解碼只愛整數運算,還過相對大部分个方式來講,對計算速度要求當低。在已普通个硬體項呢就做得輕鬆實現即時解碼。
  • 硬體支援:因為 FLAC 提供了毋使錢个解碼範例,還過解碼个複雜程度乜較低,故所 FLAC 係目前少數得著硬體支援个無失真壓縮編碼之一。(APE 格式也有少數个硬體支援)
  • 做得流化:FLAC 个逐個資料框都包含了解碼所需要个全部資訊。解碼當前影格毋使參照佢頭前抑係後背个資料框。FLAC 使用了同步代碼摎 CRC(像係 MPEG 這兜編碼个格式), 恁呢解碼器在資料流當中跳躍定位个時節做得有盡細个時間延遲。
  • 做得定位:FLAC 支援快速採樣確定位。這毋單淨對播放有好處,還較使得 FLAC 檔案就係在編輯。
  • 當有彈性 metadata:做得定義摎實現新類型个 metadata 資料塊,毋會影響舊个資料流同解碼器个使用。目前已經有个 metadata 類型包含 tag,cue 表,摎定位表。已經註冊个應用程式做得定義自家專用个 metadata 類型(這點與 MIDI 標準就像有相像)。
  • 適合於存檔應用:FLAC 係一個開放个編碼格式,還過無任何資料个損失,你做得摎佢轉換做你需要个任何其他格式。除了每一個資料框个 CRC 摎 MD 五標記對資料完整性个保障,flac(FLAC 專案提供个命令列方式編碼工具)還提供吔一個 verify(校驗)選項,使用該選項進行編碼个時節,編碼个同時斯會黏時對已經編碼資料來進行解碼還過同原始輸入資料來比較,係講發現無共樣就會登出還過報警提示。
  • 就算對 CD 進行著備份:FLAC 有一隻 cue 表,表內个 metadata 資料塊用來儲存 CD 內容列表還過所有音軌个索引點。你做得將一張 CD 儲存到一個單一檔案,匯入 CD 个 cue 表格,恁樣一個 FLAC 檔案就做得完成歸隻地方記錄歸張 CD 个全部資訊。做若个原來个 CD 壞忒个時節,你就做得用這個檔案恢復出同原來共樣共樣 CD 副本。
  • 抗損傷:因為 FLAC 个影格結構,當資料流損壞个時節,資料損失會分人限制在受損个資料框裡肚。一般淨會無忒去當短个一個片段。當多其他無失真音訊壓縮格式在堵著破壞个時節,一個損壞就會造成後背所有資料毋見忒。

FLAC 分其他無失真壓縮式,像係 ZIP 過 gzip 个主要分別係在 FLAC 做得黏時來放已經解決个音訊資料,還過 FLAC 比 ZIP 這類無失真壓縮格式有更高个壓縮比率。(FLAC 在高雄个時節有大約五成壓縮率,毋過 ZIP 在共情況下下淨一兩成壓縮率。)

雖然有損壓縮格式像 MP 三,Opus 等有還較高个壓縮率,毋故佢等會破壞消息个原來數據,分佢做毋得變轉原來个音質,還過 FLAC 做得自由選擇壓縮率還有縮壓時間,較高个壓縮率會帶來較高个解壓縮時間。相比其他無失真壓縮格式像 Monkey's Audio(擴大名仔安做 . APE)過 Shorten,雖然壓縮率有略略仔有毋掣 Monkey's Audio,FLAC 技術較先進,占用資源還較低,還過係開放个,故所,更多个平台摎硬體產品支援 FLAC。

在 Hydrogenaudio 維基有一個各類無損音訊壓縮个比較表,裡背包括吔 FLAC 格式。

參見

  • Monkey's Audio
  • 音訊編碼格式个比較
  • 無失真資料壓縮

註解

外部連結

  • etree . org 維基
  • FLAC 專案主頁 ( 舊 )
  • FLAC 專案主頁
  • 支援 FLAC 个音樂播放程式列表由推廣 FLAC 計畫組織所編寫。
  • FLAC比其他無損音訊格式較列表
  • Speek 个無損音訊息還有損音訊格式比較列表:過 FLAC , Wave , Ogg Vorbis 過 MP 三格式个壓縮率及時間。
  • 無失真壓縮格式个比較列表由 Hans Heiden 製作
  • 無損音訊壓縮到日誌