《无损音频压缩格式 FLAC》由会员分享,可在线阅读,更多相关《无损音频压缩格式 FLAC(4页珍藏版)》请在金锄头文库上搜索。
1、无损音频压缩格式无损音频压缩格式 FLAC时间:2006-03-30 点击次数:105 大 中 小 FLAC(Free Lossless Audio Codec,免费的无损音频压缩),简而言之,FLAC 与MP3 相仿,却是无损压缩的,也就是说音频以 FLAC 方式压缩不会丢失任何信息。这种压缩与 Zip 的方式类似,但是 FLAC 将给你更大的压缩比率,因为 FLAC 是专门针对音频的特点设计的压缩方式,并且你可以使用播放器播放 FLAC 压缩的文件,就象通常播放你的MP3 文件一样(现在已经有许多汽车播放器和家用音响设备支持 FLAC,在 FLAC 的网站上你可以找到这些设备厂家的连接)。
2、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 编辑器 不同音
3、频播放器的输入插件我们所说的“FLAC 是免费的”不仅仅意味着你可以不花钱而得到它。更重要的是 FLAC的文件格式是对公众完全开放的,你可以以任何目的使用它(FLAC 项目只保留维护 FLAC格式规格和确认兼容特性的权利),FLAC 的文件格式和编码/解码的实现方式都不受任何已知专利的限制。还有,所有的源代码都在开放源代码的授权方式下可以得到。 FLAC 是世界上第一个完全开放和免费的无损音频压缩格式。 FLAC 的特性的特性无损失压缩: 被编码的音频(PCM)数据没有任何信息损失,解码输出的音频与编码器的输入的每一个字节都是一样的。每个数据帧都有一个当前帧的 16-bit CRC 校验码,用
4、于监测数据传输错误。对整段音频数据,在文件头中还保存有一个针对原始未压缩音频数据的 MD5 标记,用于在解码和测试时对数据进行校验。快速: FLAC 更看重解码的速度。解码只需要整数运算,并且相对于大多数编码方式而言,对计算速度要求很低。在很普通的硬件上就可以轻松实现实时解码。硬件支持: 由于 FLAC 提供了免费的解码范例,而且解码的复杂程度低,所以 FLAC是目前唯一获得硬件支持的无损压缩编码。可以流化: FLAC 的每个数据帧都包含了解码所需的全部信息。解码当前帧无需参照它前面或后面的数据帧。FLAC 使用了同步代码和 CRC(类似于 MPEG 等编码格式),这样解码器在数据流中跳跃定位
5、时可以有最小的时间延迟。 可以定位: FLAC 支持快速采样精确定位。这不仅对于播放有益,更使得 FLAC 文件便于编辑。 富于弹性的 metadata: 可以定义和实现新类型的 metadata 数据块,而不会影响旧的数据流和解码器的使用。目前已有的 metadata 类型包括 tag,cue 表,和定位表。已经注册的应用程序可以定义自己专用的 metadata 类型(译注:这一点与 MIDI 标准相似)。 非常适合于存档应用: FLAC 是一个开放的编码格式,并且没有任何数据的损失,你可以将它转换为你需要的任何其他格式。除了每个数据帧的 CRC 和 MD5 标记对数据完整性的保障,flac
6、(译注:FLAC 项目提供的命令行方式编码工具)还提供了一个 verify(校验)选项,当使用该选项进行编码的时候,编码的同时就会立即对已编码数据进行解码并与原始输入数据进行比较,一旦发现不同就会退出并且报警提示。(译者:怎么样,这样压缩出来的东西还有什么不放心的?)便于对 CD 进行备份: FLAC 有一个“cue 表”metadata 数据块用于保存 CD 的内容列表和所有音轨的索引点。你可以将一张 CD 保存到一个单一文件,并导入 CD 的 cue 表格,这样一个 FLAC 文件就可以完整地记录整张 CD 的全部信息。当你的原来的 CD 损坏的时候,你就可以用这个文件恢复出与原来一模一样
7、的 CD 副本。抗损伤: 由于 FLAC 的帧结构,使得一旦发生数据流的损坏,损失会被限制在受损伤的数据帧之内。一般只是会丢失很短的一个片段。而很多其他无损音频压缩格式在遇到损伤的时候,一个损伤就会造成后面所有数据的丢失。FLAC 不具有的特性不具有的特性数据缩水。FLAC 是专门并且仅仅为无损压缩而设计的,您可以选用许多其他优秀的有损压缩方式如 Vorbis,MPC,和 MP3(LAME 提供了一个优秀的开放源代码的实现)。SDMI(例如 cetera)兼容。FLAC 不准备支持任何复制保护方法,实际上这些手段最终都是在浪费数据。(从另一个角度看,由于所有这些手段最终都被证明是无效的,所以也
8、可以说 FLAC 把这些无用数据压缩到了零!)当然我们不能阻止某些人利用专用的 metablock进行复制保护,但是他们的保护只会在他们自己解码产品上有效,其他解码器会跳过这些专门的 metablock 的。文件大小:FLAC 大一些(例:潛龍勿用 5 分 19 秒 APE 高 33.6M FLAC 最高 34.9M)。推荐设置下的编码速度:FLAC 慢很多。解压速度:APE 慢很多(播放时资源占用相应高一点点)。硬件支持:FLAC 的特性决定他更容易得到硬件支持,目前已有少量硬件开始支持。播放容错度:APE 损坏只有极少量播放软件(我只见到 WINAMP)支持,FLAC 轻易跳过错误部分。解
9、压容错度(最致命的问题):APE 损坏整首歌曲无法解压,FLAC 损坏去除错误部分轻易解压(如果错误很少,听觉可以忍耐)。 文件损坏是很容易出现的(一般音乐网站上下载回来很多 mp3 文件都是损坏的),上传(应该是最容易出现错误)、下载(最少出现错误,但上传的有错下载再好也没用)、代理下载、病毒破坏等都有可能导致文件损坏。并不是要求大家把现有的 APE 转换成 FLAC,而是推荐不再新压制 APE 格式。推荐的压制过程推荐的压制过程 - 44.1K CD-EAC+Mppenc-44.1K MPC - 推荐的编码器、解码器 - Encoder 1.79c 是 MPC 的最初设计者 Andree
10、Buschmann 开发的。后来的 Frank Klemm 在他的基础上又作了很多改进,并陆续发布了许多新版本。这些编码器不但在编码速度上比 Encoder 1.79c 有了数倍的提高,而且音质上也改善许多,所以不推荐老旧的 Encoder 1.79c,推荐用 Encoder 1.14。 编码器 MusePack Encoder 1.14 (by Frank Klemm) 解码器 MusePack Decoder 1.95z6 (by Frank Klemm) - 推荐的编码器设置 - (MPC 只支持动态编码,也就是 vbr) 脑死亡极高品质: -quality 8 -xlevel (平均约
11、高于 240 kbit/s,一般 232278 kbit/s,推荐) (尝试压缩 22.050KHz 以下的所有讯号,解回 Wave 再压成其他格式音质几乎不受损失) 神经质极高品质: -quality 7 -xlevel (平均约高于 220 kbit/s,一般 232268 kbit/s,推荐) X 颤音极高品质: -quality 6 -xlevel (平均约 200 kbit/s,一般 168212 kbit/s) 标准高品质(默认): -quality 5 -xlevel (平均约 170 kbit/s,一般 142184 kbit/s) 自定义: -quality x.xx (如:
12、-quality 7.4,-quality 5.55) 数字范围从 1.00(最差)到 10.00(最佳) (-quality 10 -xlevel 就能达到 320 kbit/s) 注意 1后面都加上-xlevel 是为了在编码时减少 Clipping(削波) 。 2-quality 和-xlevel 使用时是安全的。但是不要再另加参数,因为有些已不再工作(如以前常用的“-ltq fil”和影响音质的“-ms0”!)。 另附:-quality 9 -xlevel 约 320kbit/s -quality 10 -xlevel 约 350kbit/s 3取消-insane 参数,只是把他们变成了 q7、q8 这种更简单的参数,只是换了个名字。 4此编码器在 dos 下简化的命令行: mppenc -小写参数 文件名.wav