发信人: horsearmor(马甲)
整理人: sisi8597(2004-03-17 05:20:22), 站内信件
|
无损音频压缩格式FLAC介绍
版权声明:本文版权归Superguest所有,在美丽元素论坛(www.b-factors.com)首发并维护。欢迎...局惺褂煤妥亍?/a>
以下文章是本人熬夜从FLAC官方网站翻译下来的,希望能够和大家一起对这种在国外已经替代APE的优秀格式有所了解。
FLAC代表 Free Lossless Audio Codec - 免费的无损音频压缩 。
简而言之,FLAC与MP3相仿,但是是无损压缩的,也就是说音频以FLAC方式压缩不会丢失任何信息。这种压缩与Zip的方式类似,但是FLAC将给你更大的压缩比率,因为FLAC是专门针对音频的特点设计的压缩方式,并且你可以使用播放器播放FLAC压缩的文件,就象通常播放你的MP3文件一样(现在已经有许多汽车播放器和家用音响设备支持FLAC,在FLAC的网站上你可以找到这些设备厂家的连接)。
FLAC是免费的并且支持大多数的操作系统 ,包括Windows, "unix" (Linux, *BSD, Solaris, OS X, IRIX), BeOS, OS/2, 和Amiga。并且FLAC提供了在开发工具autotools, MSVC, Watcom C, 和Project Builder上的build系统。
FLAC项目包括以下几个方面:
数据流的格式
以库的形式提供的参考编码器和解码器
flac, 一个以命令行方式工作的可以编解码FLAC文件的程序(译注:有些象Lame吧?)
metaflac, 以命令行方式工作的FLAC文件的metadata编辑器
不同音频播放器的输入插件
我们所说的“FLAC是免费的”不仅仅意味着你可以不花钱而得到它。更重要的是FLAC的文件格式是对公众完全开放的,你可以以任何目的使用它(FLAC 项目只保留维护 FLAC 格式规格和确认兼容特性的权利),FLAC的文件格式和编码/解码的实现方式都不受任何已知专利的限制。还有,所有的源代码都在开放源代码的授权方式下可以得到。
FLAC是世界上第一个完全开放和免费的无损音频压缩格式 。
FLAC的特性:
无损失压缩: 被编码的音频(PCM)数据没有任何信息损失,解码输出的音频与编码器的输入的每一个字节都是一样的。每个数据帧都有一个当前帧的 16-bit CRC 校验码,用于监测数据传输错误。对整段音频数据,在文件头中还保存有一个针对原始未压缩音频数据的MD5标记,用于在解码和测试时对数据进行校验。
快速: FLAC更看重解码的速度。解码只需要整数运算,并且相对于大多数编码方式而言,对计算速度要求很低。在很普通的硬件上就可以轻松实现实时解码。
硬件支持: 由于FLAC提供了免费的解码范例,而且解码的复杂程度低,所以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的全部信息。当你的原来的CD损坏的时候,你就可以用这个文件恢复出与原来一模一样的CD副本。
抗损伤: 由于FLAC的帧结构,使得一旦发生数据流的损坏,损失会被限制在受损伤的数据帧之内。一般只是会丢失很短的一个片段。而很多其他无损音频压缩格式在遇到损伤的时候,一个损伤就会造成后面所有数据的丢失。
FLAC不具有的特性:
数据缩水。FLAC是专门并且仅仅为无损压缩而设计的,您可以选用许多其他优秀的有损压缩方式如Vorbis, MPC, 和MP3(LAME提供了一个优秀的开放源代码的实现)。
SDMI(例如cetera)兼容。FLAC不准备支持任何复制保护方法,实际上这些手段最终都是在浪费数据。(从另一个角度看,由于所有这些手段最终都被证明是无效的,所以也可以说FLAC把这些无用数据压缩到了零!)当然我们不能阻止某些人利用专用的metablock进行复制保护,但是他们的保护只会在他们自己解码产品上有效,其他解码器会跳过这些专门的metablock的。
文件大小:FLAC大一些(例:潛龍勿用 5分19秒 APE高 33.6M FLAC最高 34.9M)。
推荐设置下的编码速度:FLAC慢很多。
解压速度:APE慢很多(播放时资源占用相应高一点点)。
硬件支持:FLAC的特性决定他更容易得到硬件支持,目前已有少量硬件开始支持。
播放容错度:APE损坏只有极少量播放软件(我只见到WINAMP)支持,FLAC轻易跳过错误部分。
解压容错度(最致命的问题):APE损坏整首歌曲无法解压,FLAC损坏去除错误部分轻易解压(如果错误很少,听觉可以忍耐)。
文件损坏是很容易出现的(一般音乐网站上下载回来很多mp3文件都是损坏的),上传(应该是最容易出现错误)、下载(最少出现错误,但上传的有错下载再好也没用)、代理下载、病毒破坏等都有可能导致文件损坏。
并不是要求大家把现有的APE转换成FLAC,而是推荐不再新压制APE格式。
[MPC 原创+收集修正 感谢谢汉化世纪论坛Preacher、STopGun的部分翻译]
MPC格式在高Bitrates音质好于MP3,也是高Bit下最好音质的有损音乐格式,国外一致认同,单以音质而论有损音乐格式高BIT段强烈推荐MPC。
-----------------------------------------
推荐的压制过程
-----------------------------------------
44.1K CD->EAC+Mppenc->44.1K MPC
-----------------------------------------
推荐的编码器、解码器
-----------------------------------------
Encoder 1.79c是MPC的最初设计者Andree Buschmann开发的。后来的Frank
Klemm在他的基础上又作了很多改进,并陆续发布了许多新版本。这些编码器不但在编码速度上比Encoder
1.79c有了数倍的提高,而且音质上也改善许多,所以不推荐老旧的Encoder 1.79c,推荐用Encoder 1.14。
关于编码器、参数等信息有兴趣看看官方说明:(List of recommended MPC settings)
http://www.hydrogenaudio.org/ind ... 1&t=1927&s=
编码器 MusePack Encoder 1.14 (by Frank Klemm)
http://www.musepack-source.de/do ... nc-windows-1.14.zip
解码器 MusePack Decoder 1.95z6 (by Frank Klemm)
http://www.musepack-source.de/do ... -windows-1.95z6.zip
-----------------------------------------
推荐的编码器设置
-----------------------------------------
(MPC只支持动态编码,也就是vbr)
脑死亡——极高品质:
--quality 8 --xlevel
(平均约高于240 kbit/s,一般232~278 kbit/s,推荐)
(尝试压缩 22.050KHz 以下的所有讯号,解回 Wave 再压成其他格式音质几乎不受损失)
神经质——极高品质:
--quality 7 --xlevel
(平均约高于220 kbit/s,一般232~268 kbit/s,推荐)
X颤音——极高品质:
--quality 6 --xlevel
(平均约200 kbit/s,一般168~212 kbit/s)
标准——高品质(默认):
--quality 5 --xlevel
(平均约170 kbit/s,一般142~184 kbit/s)
自定义:
--quality x.xx
(如:--quality 7.4, --quality 5.55)
数字范围从1.00(最差)到10.00(最佳)
(--quality 10 --xlevel 就能达到320 kbit/s)
******注意******
1.后面都加上--xlevel是为了在编码时减少Clipping(削波) 。
2.--quality和--xlevel使用时是安全的。但是不要再另加参数,因为有些已不再工作(如以前常用的"--ltq fil"和影响音质的"--ms
0"!)。
另附:--quality 9 --xlevel约320kbit/s
--quality 10 --xlevel约350kbit/s
3.取消-insane参数,只是把他们变成了q7、q8这种更简单的参数,只是换了个名字。
4.此编码器在dos下简化的命令行:
mppenc --小写参数 文件名.wav
----
|
|