(Lame Ain't an MP3 Encoder) is a long running open-source MP3
encoder project. From the
"...LAME is the source code for a fully LGPL'd MP3 encoder, with speed and quality to rival and often surpass all commercial competitors.
LAME is an educational tool to be used for learning about MP3 encoding. The goal of the LAME project is to use the open source model to improve the psycho acoustics, noise shaping and speed of MP3. LAME is not for everyone - it is distributed as source code only and requires the ability to use a C compiler. However,
ripping and encoding programs include the LAME encoding engine..."
The LAME project has
announced the first release in several years:
"After rough[ly] two years of development, the LAME project has released a new version (3.98.2) of the best-known Open Source MP3 encoder.
All users are encouraged to use it, see new improvements regarding the previous releases and send feedback for the project."
LAME has a long and interesting development history.
From the LAME home page:
"LAME development started around mid-1998. Mike Cheng started it as a patch against the 8hz-MP3 encoder sources. After some quality concerns raised by others, he decided to start from scratch based on the dist10 sources. His goal was only to speed up the dist10 sources, and leave its quality untouched. That branch (a patch against the reference sources) became Lame 2.0, and only on Lame 3.81 did we replaced of all dist10 code, making LAME no more only a patch.
The project quickly became a team project. Mike Cheng eventually left leadership and started working on tooLame, an MP2 encoder. Mark Taylor became leader and started pursuing increased quality in addition to better speed. He can be considered the initiator of the LAME project in its current form. He released version 3.0 featuring
a new psychoacoustic model he developed.
In early 2003 Mark left project leadership, and since then the project has been lead through the cooperation of the active developers (currently 4 individuals)." Numerous additional
have contributed to the project.
The slightly out of date
project version history
documents the changes to the code since September 1998.
Improvements added to version 3.98 (started in May, 2007) include:
- Numerous bug fixes were implemented.
- A lot of code cleanup was done.
- Support was added for newer versions of various libraries.
- Many build system improvements were done.
- The RPM specification was updated.
- Numerous changes were made to the lame front end switches.
- New VBR code, derived from the NSPSY psymodel, was added.
- There were changes to the new VBR psymodel.
- The out of bits strategy for the newer VBR code was overhauled.
- PCM WAVE_FORMAT_EXTENSIBLE support was added.
- Support for ID3v2 total track count was added.
- ID3v2 TLEN support was added.
- The ATH adjustment was improved for low volume cases.
- A new SSE version of the FFT code was used.
- A flush option was added for flushing the output stream in lame.exe.
- The FFTSSE and FFT3DNOW assembler code was back ported from the Lame4 branch.
Building the newest version of LAME on an Ubuntu 8.04.1 LTS (Hardy Heron)
i386 system was straightforward. An older Ubuntu package of LAME was
first removed from the system using the Synaptic package manager.
The LAME version 3.98.2 source code was
downloaded, unzipped and untared. The configure script was
run, no missing dependencies were found.
The usual make and make install steps were done.
A few test case .wav files were encoded with the command
lame file.wav file.mp3 and the files were played
with the SoX play
command as well as the closed-source
Everything worked as expected, and sounded as good as one can
expect for an MP3 file.
Overall, the latest changes to LAME fall into the category of
maintenance or the addition of mostly user-transparent features.
It is good news that this important piece of software
is going into another phase of active development.
to post comments)