Rationale for LAME development,
by Mike Cheng
A few years back I started hearing about this fantastic new sound
compression technology; mpeg layer 3. I had used layer 2 before and was
very impressed, and so I started to look for layer3 software
The Amiga
At this time I was a dedicated amiga user, and I went about finding source
code to port over to the amiga. I spent much time optimizing the dist10
decoder so that I could at least play back these files. Then AMP came along
and I gave up optimizing and just ported AMP to the amiga. Then Stephane
Tavenard came along and made a superfast m68 asm mp3 player for the amiga
and I bowed to his greater programming prowess.However, there was an encoder
in the dist10 source as well, and I set about porting this to the amiga.
Now the amiga is a good machine with a fab OS, but it just doesn't have
the computational grunt to do mp3 encoding at a reasonable speed. I spent
lots of 1997 just playing with the dist10 source code, optimizing little
bits and making it faster. This optimizing effort appeared as an amiga-only
program.
Changing Times
Early this year a group called 8hz announced that they were going
to start a concentrated effort to speed up the ISO source code. I immediately
signed up. Within a week I had sped up the already fast 8hz effort by incorporating
my speedups into their code. Over the next few months, I'd improved on
the 8hz source code - speeding it up by about 45%. All these changes I
made public and mailed back to the 8hz guys. It was good to be part of
this net effort
Fraunhofer Crackdown
In September 1998, Fraunhofer started cracking down on use of their freely
available source code (don't ask me why), and the 8hz effort, and a number
of other free encoders based on ISO sources were also halted.That sucked
Now..
Now I've released a patch file to the mpeg ISO source code. And this is
called LAME which is gnu-speak for LAME Ain't an Mp3
Encoder. [For non-english speakers, "ain't" is a way of saying "is
not"].I haven't released an mp3 encoder. I've released a patch file for
the dist10 source code. The file I am releasing is totally incapable of
producing an mpeg layer 3 file. The file I am releasing cannot be compiled,
and is not an executable. You must use the ISO mpeg source code
in order to get a functional mpeg layer 3 encoder.
Open Source
The SlashDot community has got it
right. Open source is the way to go.BladeEnc's closed source annoys me,
because the author is not sharing his ideas. Due to licensing arrangements
I doubt he can make money on BladeEnc, so why not release the source? The
claim that it will lead to versions with inferior quality is bogus. If
you leave yourself as the authoritative source for the code, it doesn't
matter what everyone else does with it - so why not release it? It can
only lead to better software...
To the future...
I've been thinking about an open source community effort to develop a compressed
audio format equivalent/better than mpeg layer 3. In thinking about it,
I simplified it down to make it seem like an achievable task:-
-
Only 44.1khz samples. This is CD quality. Don't bother with 32 or 48khz
-
Only 128kbit/s bit rate. The mpeg standard tries to cover bitrates from
16kbit/s up to 320. That's a huge range and requires different acoustic
and computational models. 128kbit/s produces CD-quality sound for mpeg
layer3, AAC and VQF.
Anyone who has ideas on this is welcome to get in contact with me.
mike/cstar