UID437667
威望0
金钱24139
交易诚信度0
主题3
帖子351
注册时间2007-9-1
最后登录2026-4-3
初级会员
 
交易诚信度0
注册时间2007-9-1
|
转贴“EAC圣经”里的部分内容
附录 3:关于 MP3 与 LAME 参数的说明
LAME - 压缩 MP3 的最佳利器
如今的音频有损压缩技术呈百家争鸣之势,MP3 的光环已不再如昔日般明亮。微软的 Windows Media Audio 8(WMA) 凭借操作系统本身的优势大行其道,Thomsom 的 MP3 pro 格式也以其低比特率高音质的技术如日中天,其它还有像 mpc、ogg、aac 等各种编码方案层出不穷,MP3 的压力可谓与日俱增 -- 这一切的一切是否意味着 MP3 将逐渐消亡?
答案是否定的。
诚然,在小于 128kbps 的比特率时,MP3 与 wma 或 MP3 pro 相比的确相形见绌,但这不能成为我们放弃 MP3 的理由。首先,无论是 128kbps 的 MP3、wma 还是 64kbps 的 MP3 pro(甚至于被 cool edit pro 2.0 所支持的 144kbps 的 MP3 pro),其音质较 44.1khz,16bit 的 CD 音频标准尚有不小的差距,无法满足乐迷的要求。为了获得更高的音质,我们势必要提高比特率。然而,wma 在高于 128kbps 时音质并无明显提升,且最高只能编码为 192kpbs;MP3 pro 众所周知不能脱离 96kbps 的桎梏;对 MP3 来说,高于(等于)192kbps 的编码才真正是它的天下,我们可以制作出高达 320kbps 的 MP3(这是 MP3 标准的最大 bitrate),此时的音质与 CD 相比已相差分毫。其次,因为 MP3 本身是一种公开的编码方案,其对应的编码器非常多,很多 MP3 编码器粗糙的编码算法导致了许多细节的丢失,同时也败坏了 MP3 的名声。这就是我在此介绍 LAME 的原因。
LAME是什么?
LAME 是 LAME Ain't an Mp3 Encoder(LAME 不是一个 MP3 编码器)的简称,是世界上最好的 MP3 编码器之一。之所以叫这个名字是因为最初 LAME 只是一个 ISO 编码器的补丁,是为了避免同 Fraunhofer 的法律问题而开发的。后来 LAME 开始独立发展,从 1998 年 12 月至今,LAME 已被越来越多人的公认为是 MP3 压缩的最佳利器。
为什么LAME 是最好的 MP3 encoder?
这是一个很难用几句话就能回答的问题,其中要涉及到 MP3 的编码原理。让我们先来谈谈什么是 CBR、VBR、ABR?
对 MP3 来说 bitrate(比特率)是最重要的因素,它用来表示每秒钟的音频数据占用了多少个 bit(bit per second,简称 bps)。这个值越高,音质就越好。未压缩的 WAV 文件其 bitrate 为 1400kbps,1 个字节为 8 比特,将 1400/8 转换成字节就是 175kByte/s。所以,对一首 4 分钟的音乐,wav 格式的文件占用的空间为 4 分 * 60 秒 * 175=42000kByte,即 42000/1024=41MB;而 192kbps(每秒 24kByte)的 MP3 则占用了 4*60*24/1024=5.625MB。这种每秒固定比特率的算法是由 Xing 公司开发的,被称为 Constant BitRate,即 CBR(固定速率);后来,Xing 又发展了一种新的算法,他们将一首歌的复杂部分用高 bitrate 编码,简单部分用低 bitrate 编码,这被称为 Variable BitRate,简称 VBR(可变速率)。主意虽然不错,可惜 Xing 编码器的 VBR 算法很差,音质与 CBR 相去甚远,而且不是所有的播放器都支持 VBR 编码的 MP3,包括微软的 media player,这也是为什么在 WMP 中 VBR 编码的 MP3 不能正确显示时间的原因。幸运的是,由 LAME 完美地实现了 VBR 算法(以 Xing 的算法为基础加以改进和扩充),非但如此,从 LAME 3.89 版本开始,LAME 又引入了一种新的算法:ABR(average bitrate,平均速率)。ABR 也被称为“safe VBR”,它可以将生成的 MP3 控制在给定的 bitrate 上。举例来说,当指定用 192kbps、ABR 对一段 wav 文件进行编码时,LAME 会将该文件的 90% 用 192kbps 编码,然后对剩余 10% 进行优化:复杂部分用高于 192kbps 来编码、简单部分用低于 192kbps 来编码。与 192kbps、CBR 相比,192kbps、ABR在文件大小上相差不多,音质却提高不少。据统计,ABR 编码在速度上是 VBR 编码的 2 到 3 倍,在 128-256kbps 范围内质量要好于 CBR。
此外还有两个重要的因素:
1、LAME 是完全免费的软件;
2、LAME 在不断地发展完善。
LAME 是以原代码的形式发布的,所以存在着好多个不同的编译版本,而且每隔几天就有测试版出台,当前最为流行的版本有:
1、3.92 稳定版,下载链接:http://home.pi.be/~mk442837/lame-3.92.zip
2、3.90.2-ICL 推荐版,下载链接:http://www.hydrogenaudio.org/extra/LAME/lame3.90.2-ICL.zip
关于 LAME 的版本的优劣也存在很多争议,请大家酌情使用,感兴趣的话可以自已编译。
如何使用 LAME编码? - 这才是本文的关键
下载后将 zip 文件解压,其中的 lame.exe 和 lame_enc.dll 是我们要用到的。dll 文件主要提供对其他程序的接口,当前有许多软件使用 LAME 的 dll 引擎压缩 MP3,最常用的当数 Automp3 Maker,不过因为使用 lame.exe 时可以灵活设定所有的参数,所以调用 dll 压出来的 mp3 质量不如 exe(按:这是一般性的看法,随着支持 preset 参数的 dll 文件的出台,dll 与 exe 压缩 MP3 的差别已不明显)。至于 lame.exe 的使用,因为共有数十个参数可供选择,所以从 LAME 产生的第一天起就没有停止过争论,幸运的是,2001 年 12 月从 LAME 的 3.90 版开始,LAME 终于向用户提供一套预设参数,从此我们不必再为 LAME 的设置大伤脑筋。
下面就是摘自 r3mix 论坛的 LAME 推荐设置表:(音质由高到低排列)
用法:lame 参数 原文件 目标文件
例如:lame --alt-preset standard 1.wav 1.mp3
-------------------------------------------------
CBR 320(最高音质):
-------------------------------------------------
--alt-preset insane
(bitrate: 320 kbps)
-------------------------------------------------
VBR(Variable Bitrate)设置:
-------------------------------------------------
高品质(较慢):
--alt-preset extreme
(bitrates 220-270 kbit/s - 通常在 256kbps 左右)
快速(与上面相比质量略差):
--alt-preset fast extreme
(bitrates 与上面的相同)
高品质(较慢):
--alt-preset standard(注:当前 LAME 标准设置)
(bitrates 180-220 kbit/s - 通常在 192 kbps 左右)
快速(与上面相比质量略差):
--alt-preset fast standard
(bitrates 与上面相比质量略差)
......
笔者在此略去了一些不常用的设置选项,以妨误导,低于 standard 参数的 bitrate 不宜使用 LAME 压缩,低 bitrate(<=128kbps) 下的最佳编码器是 ogg。
以上几种即为当前 LAME 设置的标准,按照预设参数的设计者 Dibrom 的说法,这些设置均在代码级实现,不能用相关的参数组合代替。这样做的目的是为了避免引入更多的实验参数(LAME 的参数已经够多了),同时也方便在以后的版本中加以调整。
[ 本帖最后由 hu156 于 2010-3-22 16:00 编辑 ] |
|