FLAC中文可解释为无损音频压缩编码。FLAC是一套著名的自由音频压缩编码,其特点是无损压缩。不同于其他有损压缩编码如MP3及AAC,它不会破坏任何原有的音频信息,所以可以还原音乐光盘音质。FLAC项目由Josh Coalson于2000年启动。
我们说“FLAC是自由(free)的”不仅仅意味着你可以不花钱而得到它。更重要的是FLAC的文件格式是对公众完全开放的,你可以以任何目的使用它(FLAC 项目只保留维护 FLAC 格式规格和确认兼容特性的权利),FLAC的文件格式和编码/解码的实现方式都不受任何已知专利的限制。还有,所有的源代码都在开放源代码的授权方式下可以得到。
上一篇说到APE的覆灭,这一篇谈谈FLAC的崛起。
FLAC和APE一样,都是无损压缩格式,被编码的音频(PCM)数据没有任何信息损失,解码输出的音频与编码器的输入的每一个字节都是一样的。每个数据帧都有一个当前帧的 16-bit CRC校验码,用于监测数据传输错误。对整段音频数据,在文件头中还保存有一个针对原始未压缩音频数据的MD5标记,用于在解码和测试时对数据进行校验。 电脑在播放FLAC时,需要先把FLAC解码为PCM数据,然后在发送给声卡。和WAV播放相比就是多了一个解码的环节。
FLAC的优势:
快速:FLAC更看重解码的速度。解码只需要整数运算,并且相对于大多数编码方式而言,对计算速度要求很低。在很普通的硬件上就可以轻松实现实时解码。
硬件支持:由于FLAC提供了免费的解码范例,而且解码的复杂程度低,直至2012年以来FLAC是唯一获得广泛且良好的硬件支持的无损压缩编码。
抗损伤:由于FLAC的帧结构,使得一旦发生数据流的损坏,损失会被限制在受损伤的数据帧之内。一般只是会丢失很短的一个片段。而很多其他无损音频压缩格式在遇到损伤的时候,一个损伤就会造成后面所有数据的丢失。
可以用于流媒体:FLAC的每个数据帧都包含了解码所需的全部信息。解码当前帧无需参照它前面或后面的数据帧。FLAC使用了同步代码和CRC(类似于MPEG等编码格式),这样解码器在数据流中跳跃定位时可以有最小的时间延迟。
基于以上特点,FLAC迅速取代了APE,成为世界上最流行的无损压缩格式。
第一次使用FLAC,很别扭,习惯了.ape的后缀名,.flac怎么看怎么不舒服……- -!
FLAC一共有9档压缩率,从0-8,0是快速模式,对cpu运算负担最小,文件体积最大;8是慢速模式,对cpu运算负担最大,体积最小,一般eac或者foobar2000提供的压缩工具默认压缩率为5或6。虽然说FLAC的压缩等级只是和体积和cpu运算有关,但在实际回放中,8级压缩率的flac,很难听;反过来0级压缩的flac好很多,声音宽松而富有弹性,在解压缩这个过程中,cpu运算带来的负担对声音还是有影响的。之后估计作者也发现了这个问题,在编码器中加入了uncompressed模式,播放时不再解压缩,和WAV一样,直接送入声卡解码,韩国出了一批MQS数字文件,全部采用uncompressed模式封装,声音质量很好。目前能制作uncompressed flac的工具有dBpoweramp和EZCD Audio Converter。
最后,补充一点,不同软件抓取/压缩的flac声音风格上有些差别。2014年的时候买了一台国产旗舰数播,机器不支持cue,wav又无法进行标签管理,开始了漫长的转制FLAC工作。期间,使用了几乎windows下所有的压制工具,包括windows media player、foobar、jriver、media go及后续版本music center for pc、free audio converter、flac frontend……发现只要是播放器,压制的flac多多少少会带上一点该播放器的声音特色,而纯压制工具带的味道少,声音也稍微精细一点。建议使用EAC、dBpoweramp、EZCD Audio Converter这类的专业软件来制作FLAC。