As you are no doubt aware, an MP3 encoder is a piece of software that creates MP3s -- usually from CD or WAV files. You are probably used to using an encoder that incorporates a CD ripper, and possibly a player as well. In addition to these external' functions, at the core of any MP3 encoder is the encoding engine or codec. The codec is responsible for the fundamental task of compressing the audio information. This is the most critical part of an encoder, but often the least considered when choosing encoding software.
There are literally dozens of MP3 encoding applications available, many of which incorporate a single MP3 codec, invisibly integrated into the software. The better encoders, however, will allow you to configure a compression codec of your choice -- be it an MP3 codec or another format such as Windows Media, AC3, MPC or Ogg Vorbis. In this article, we will be investigating the various MP3 compressors available, but not the encoding software that uses them -- this we will save for next time!
When it comes to selecting an MP3 codec, there are four key players to choose from, these being the original Fraunhofer codec (FHC), Xing, LAME, and Blade. Of these, the first two are commercial products, while the last two are available freely under the GNU Lesser General Public License model.
As the original MP3 codec, Fraunhofer was considered the best quality for over a decade since its introduction in 1987. The major downside to the FHC was its lengthy encoding times, although in recent years this has become less of an issue with hardware improvements. Being an older codec, FHC does not support variable bitrates. This codec (See Fig 1) can be found in programs such as Audioactive Production Studio and MP3 Producer.
For many years, the Xing encoder was considered the best compromise between speed and quality. Our tests indicate it is almost eight times faster than FHC and, in most cases, almost identical in quality -- especially at higher bitrates like 192Kbps. These days it is becoming less appealing with faster CPUs and newer codecs such as Blade and LAME, which are producing excellent results at acceptable encoding speeds. This codec was the first to introduce a variable bitrate option. The Xing encoder (see Fig 2) is used in the popular AudioCatalyst and Real JukeBox programs.
Until the appearance of LAME, Blade was the underground encoder of choice. It was faster than FHC, but slower than Xing. Yet, unlike Xing, there was no compromise in quality (see Fig 3). Like the FHC codec, Blade is getting a little antiquated and doesn't support variable bitrates. Blade is used by many popular applications including Easy CD-DA Extractor, Audiograbber and Cdex.
LAME stands for "LAME Ain't an MP3 Encoder". This is because, technically, it is just source code. The reality is that, once the source code is compiled, it is simple to use LAME to encode MP3s. Fortunately, precompiled versions of LAME are available for download, so you can use it without having to be familiar with C compilers. According to popular belief, LAME is currently the best quality encoder available as well as one of the fastest! It is the first free encoder to support variable bitrates. Currently, dozens of applications (see Fig 4), both commercial and freeware, use the LAME encoder. These include WaveLab, CDcopy and AudioStation.
Quite a few tests have been done on these and other MP3 codecs, which are available online. One of the more accessible is a study done by Ars Technica. The tests were done on a sample of pink noise and two short pieces of music. The summarised findings were that all the encoders performed comparably well at high bitrates (above 192Kbps), although some produced strange artefacts above the 16Khz frequency range. Theoretically, this is at the very upper range of human hearing ability, but the harmonic impact on other frequencies can result in strange distortions. For example, the Xing encoder behaves erratically around the 17-19Khz range, resulting in what they describe as "whispy" sounds. In contrast, the Blade and LAME encoders produced sounds described as "boxy". Reassuringly, these sorts of issues disappeared above 192Kbps in all the codecs.
Broadly speaking, 128Kbps is often considered to be "CD quality", and this is by far the most popular MP3 encoding quality in use by a long shot. The truth is that even a modest hi-fi system will expose the difference between 128Kbps MP3 and CD audio- regardless of the codec used. If you are serious about high quality MP3 encoding, then you should be considering at least 160Kbps if not 192Kbps as a starting point.
Being somewhat less subjective than the quality test, we conducted our own speed tests on the four codecs in question with the following results:
|FHC||EAC||128Kbps Stereo High Speed||0:28|
|FHC||EAC||128Kbps Stereo High Quality||1:31|
|Xing Encoder||128Kbps Stereo||0:08|
|Xing Encoder||128Kbps Stereo VBR||0:08|
|LAME||RazorLAME||128Kbps Stereo High Speed||0:16|
|LAME||RazorLAME||128Kbps Stereo High Quality||0:33|
|LAME||RazorLAME||128Kbps Stereo High Quality VBR||1:03|
|FHC||EAC||192Kbps Stereo High Speed||0:30|
|FHC||EAC||192Kbps Stereo High Quality||1:02|
|Xing Encoder||192Kbps Stereo||0:08|
|Xing Encoder||192Kbps Stereo VBR||0:08|
|LAME||RazorLAME||192Kbps Stereo High Speed||0:17|
|LAME||RazorLAME||192Kbps Stereo High Quality||0:34|
|LAME||RazorLAME||192Kbps Stereo High Quality VBR||1:01|