Fraunhofer 发展出MP3之后,涌现了众多MP3编码器软件。在奔腾时代,一台配备P120并超频至200MHz,加4X光驱的硬件配置,完成一首长度5分钟的曲子的抓轨并压缩成MP3需要40多分钟,要将一整张碟转换成MP3需要折腾几个小时。时间成本太高,阻碍了MP3的发展。
在VCD时代,Xing是一个很有知名度的软件品牌,它们出品的VCD播放软件深受用户喜欢,它们也推出了一款MP3编码器软件Xing MP3
Encoder,这款软件采用了标准的Windows界面,操作上也易上手,因此受到了好评,但它的编码速度还不够快,它也不是一个免费软件,限制了其传播。
差不多同时期,出现了一个叫做MPLifier的免费编码器,其编码MP3的速度十分快速,超过了同时代同类软件的数倍,操作上更加简单,拖拽就能完成所有操作。一时间迅速获得用户和媒体好评。
但好景不长,发烧友发现MP3虽然节约了大量的存储空间,但音质也严重劣化。使用频谱查看MPLifier编码的MP3,会发现高频信号会被整齐的切掉。可以看出,MPLifier的编码算法相当粗暴。
Fraunhofer 也有自己的编码器,音质也要明显优于同类软件,但处于利益角度,Fraunhofer
提供的选项过于简单,而且编码效率也不算很好。为了保护自己的利益,Fraunhofer 注册了大量的专利,这让竞争对手不得不绕开这个专利池。
2001年前后,一个叫做LAME的MP3播放器逐渐进入人们视野(LAME项目开发始于1998-1999年期间,2000年后开始被人广泛推荐)。LAME全称LAME
Ain't an MP3 Encoder,中文意思是LAME不是一个MP3编码器。这个命名很有些无厘头的意思。背景故事就是为了绕开Fraunhofer
的专利池。2005年后,LAME更改了部分代码,成为了一个LGPL(GNU宽通用公共许可证)许可协议下程序。
在《光盘见证数码多媒体的30年 开启有损数字音频时代的MP3》[作者:夏昆冈 ]
一文中,我们提到了MP3两项革命性的技术——VBR与听觉模型的导入。LAME均予以了支持,并做了大量的优化工作。LAME成为了公认最优秀的MP3编码器,虽然它一直是一个使用不是很方便的命令行程序,但其他免费软件,例如著名的抓轨软件Exact Audio Copy、播放软件Foobar2000都为LAME留下了程序接口,只要经过简单的设置,这些软件可以轻松的调用LAME来完成工作。可以实现抓轨到MP3、或者其他格式转换成MP3的一条龙操作。LAME还有大量的外壳程序,通过图形界面来调用LAME完成操作。
针对不同CPU,LAME也为特色的多媒体指令集进行优化,例如Intel 的MMX SSE、AMD的3DNow!指令集,通过支持这些指令集,编码效率获得了成倍的提升。在奔腾II年代,用V0参数压缩一首5分钟的曲子大概需要3分钟左右,到了奔腾III年代,时间就缩短到了几十秒。由于LAME本身对主流CPU支持的完善,很多网站将LAME作为了一个测试CPU性能的项目。对CPU优化是非常重要的,我们在龙芯系统上测试过LAME,其编码效率就让人抓狂,并不是CPU太弱,而是编码太不够优化。
LAME是一个LGPL程序,因此它的代码可以被有限的使用,编码后的程序也可以被其他软件有条件的集成,这大大方便增加了LAME的普及渠道。经过广大程序员们的不懈努力,LAME成为了一个跨几乎所有平台的MP3编码器,经过改良,LAME还有很多形式的封装,例如DLL。它甚至可以当做Windows系统的一个虚拟设备使用。
兼具效率与质量,并且是一个广泛授权的免费程序,LAME已经成为一个最受欢迎的MP3编码器,它也是至今为止,编码MP3的最佳选择。Fraunhofer 发展出了MP3,LAME则壮大了MP3,如果没有LAME,MP3可能会被其他有损压缩方案所取代,因此,可以说LAME是一个伟大的编码器,它还影响了其他有损编码器的设计思路,让我们向LAME致敬。
本文最后,让我们看看LAME 1999-2002年期间的发展历程吧。
- Date: 2002-12-01
Version: 3.93.1
Interface: Command Line
Platform: Win32
Download:
lame3.93.1.zip - 190Kb
Date: 2002-11-16
Version: 3.93
Download:
lame3.93.zip - 189Kb
Date: 2002-04-14
Version: 3.92
Download:
lame3.92.zip - 188Kb
Date: 2001-12-29
Version: 3.91
Download:
lame3.91.zip - 180Kb
Date: 2001-12-21
Version: 3.90
Download:
lame3.90.zip - 367Kb
Date: 2001-12-24
Version: 3.90.1 - HydrogenAudio Fork
Download:
lame3.90.1.zip - 367Kb
Date: 2001-07-05
Version: 3.89b
Download:
lame3.89.zip - 171Kb
Date: 2001-03-25
Version: 3.88b
Download:
lame3.88.zip - 363Kb
Date: 2000-09-25
Version: 3.87a
Download:
lame3.87.zip - 188Kb
Date: 2000-08-06
Version: 3.86b
Download:
lame3.86.zip - 175Kb
Date: 2000-07-03
Version: 3.85b
Download:
lame3.85.zip - 111Kb
Date: 2000-06-30
Version: 3.84b
Download:
lame3.84.zip - 166Kb
Date: 2000-05-19
Version: 3.83b
Download:
lame3.83.zip - 160Kb
Date: 2000-05-11
Version: 3.82b
Download:
lame3.82.zip - 107Kb
Date: 2000-05-08
Version: 3.81b
Download:
lame3.81.zip - 140Kb
Date: 2000-05-06
Version: 3.80b
Download:
lame3.80.zip - 188Kb
Date: 2000-04-06
Version: 3.70
Download:
lame3.70.zip - 129Kb
Date: 2000-04-06
Version: 3.69b
Download:
lame3.69.zip - 129Kb
Date: 2000-04-04
Version: 3.68b
Download:
lame3.68.zip - 128Kb
Date: 2000-03-27
Version: 3.67b
Download:
lame3.67.zip - 128Kb
Date: 2000-03-21
Version: 3.66b
Download:
lame3.66.zip - 130Kb
Date: 2000-03-17
Version: 3.65b
Download:
lame3.65.zip - 129Kb
Date: 2000-02-20
Version: 3.63b
Download:
lame3.63.zip - 124Kb
Date: 2000-02-09
Version: 3.62b
Download:
lame3.62.zip - 124Kb
Date: 2000-01-14
Version: 3.61b
Download:
lame3.61.zip - 136Kb
Date: 2000-01-09
Version: 3.60b
Download:
lame3.60.zip - 133Kb
Date: 2000-01-04
Version: 3.59b
Download:
lame3.59.zip - 131Kb
Date: 1999-12-13
Version: 3.58b
Download:
lame3.58.zip - 99Kb
Date: 1999-11-22
Version: 3.57b
Download:
lame3.57.zip - 96Kb
Date: 1999-11-19
Version: 3.56b
Download:
lame3.56.zip - 98Kb
Date: 1999-11-11
Version: 3.55b
Download:
lame3.55.zip - 96Kb
Date: 1999-11-01
Version: 3.50
Download:
lame3.50.zip - 95Kb
Date: 1999-10-21
Version: 3.35b (DLL only)
Download:
lame3.35.dll.zip - 104Kb
Platform: IBM OS/2
Download:
lame3.35.OS2.zip - 145Kb
Date: 1999-10-12
Version: 3.34b
Download:
lame3.34.zip - 131Kb
Date: 1999-09-29
Version: 3.30b
Download:
lame3.30.zip - 364Kb
Date: 1999-09-21
Version: 3.29b
Platform: IBM OS/2
Download:
lame3.29.OS2.zip - 193Kb
Date: 1999-08-15
Version: 3.24b
Download:
lame3.24.zip - 363Kb
Date: 1999-07-19
Version: 3.20
Download:
lame3.20.zip - 81Kb