VOICE Home Page: http://www.os2voice.org |
February 2002
[Newsletter Index]
|
By Don Eitner © February 2002 |
It's no secret that mp3 audio (MPEG audio layer III) has become not only irrepressibly
popular among PC users but also big business. Nearly every maker of small electronic
devices makes at least one handheld mp3 player and even brand name DVD players for
home theaters now have support for mp3 files on CD-R discs.
When it comes to creating these mp3 audio files ("encoding") OS/2 users
have it pretty good. We don't have a lot of fancy flashy graphical programs for
mp3 encoding, but even in the Windows world those GUIs are just front-ends (facades,
if you will) to a command-line program, and OS/2 has a few such facades itself.
It is the command line program, though, that does the work and determines both the
quality and the size of the final output.
mp3 encoders evolve fairly rapidly. Most of them are open source programs where
the program code is available to anyone to modify and extend. Among the more popular
encoders are LAME and GOGO, both of which are free for non-commercial use. GOGO
is actually a derivative of LAME designed to use enhanced features of modern processors
such as MMX, 3DNow, and SSE. LAME, on the other hand, is widely viewed as having
slightly superior sound quality in the output file (the mp3, as it were). Both LAME
and GOGO have recently been upgraded and there are OS/2 versions available on http://hobbes.nmsu.edu/. I will compare these
latest versions with their predecessors from the past year to see if they have improved.
I am not an audiophile so will not comment on the sound quality other than to say
that I do not discern any great difference in my four output files.
I tested LAME version 3.88 and version 3.90.2 as well as GOGO version 2.36 and
version 3.08. My hardware consists of an AMD Athlon 800MHz processor, 512MB PC133
memory and an IBM ATA-100 hard drive (Deskstar 75GXP) running on an ATA-66 IDE controller.
My operating system is eComStation 1.0 with fixpack 1 applied. All tests were performed
upon a fresh reboot to avoid issues of disk caching with my HPFS drive. My input
WAV file (CD audio track) is 48.25MB in size. All encodings were done for a 128Kbits
per second rate, which while not incredibly high quality is good enough for most
people and is, I dare say, the standard bitrate for mp3 files you find on the internet.
File sizes are kept small (about 1/10 the size of the original CD audio track) while
maintaining a respectable amount of the CD audio quality.
The first step, before you can begin to encode your WAV or CD audio tracks to mp3 format, is to get the input file onto your hard drive. This can be accomplished by many means such as directly recording through your soundcard using the OS/2 Digital Audio application reviewed in last month's VOICE Newsletter, or by "grabbing" or extracting the audio from your CD-ROM drive. The latter can be easily accomplished using OS/2 applications. In June of 2000 I wrote a short article on CD audio grabbing, which can be found at http://www.os2voice.org/VNL/past_issues/VNL0600H/vnewsfe.htm. But my two favorite CD audio grabbers are Chris Wohlgemuth's Audio-CD-Creator (http://www.os2world.com/cdwriting/), a fully WPS drag'n'drop aware application which aside from being able to grab audio tracks from a CD can also be used to create an audio CD if you have a CD-R or CD-RW drive, and the command-line based Leech which can be found at http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=leech.
LAME 3.88 encoded this file to mp3 format in 51 seconds. Not bad for a 273 second
(4 minute 33 seconds) song. This comes out to about a 5.35X encoding speed (encoding
at 5.35 times the normal CD playing speed).
LAME 3.90.2 encoded the same file in only 40 seconds -- rather a significant
increase over its predecessor from earlier in 2001. This comes out to about a 6.82X
speed.
GOGO (or more correctly GOGO-no-coda) is built upon the LAME code base but is
not up to the latest LAME version. I tested last year's GOGO 2.36 which is based
on LAME 3.29 and parts of LAME 3.5. GOGO is designed to utilize modern CPU features
such as MMX and 3DNow. Since I have an AMD Athlon CPU I have both of these. GOGO
is able to achieve significantly faster encoding when coupled with 3DNow, and this
273 second WAV file was encoded in a mere 27 seconds for a speed of 10.1X. Very
impressive when you consider that the sound quality is still quite good.
The latest release of GOGO-no-coda is version 3.08 and is based on LAME 3.88
(see above test for LAME 3.88). In this test, GOGO 3.08 needed only 19 seconds to
encode the test file. This equates to about a 14.36X speed. Think of the difference
between those first generation CD-ROMs in the early 1990s compared to the 16X models
of a few years ago. Which would you rather use to install a huge software package
such as an operating system or office suite?
As a final test, I ran GOGO 3.08 with 3DNow support disabled to see how it might
fare on Intel hardware. Of course, I do not have SSE support which is in Pentium
III and higher processors (and Athlon XP processors) so it was apparently running
on MMX extensions which are a bit more universal (being supported on everything
from Intel Pentium with MMX up through Pentium 4 and AMD K6 up through Athlon XP
processors. With the 3DNow support disabled, GOGO 3.08 took 26 seconds to encode
the file, which puts it back to the older version 2.36's speed but keeps it considerably
faster than LAME.
And again, in listening to all four of these mp3 files using z! 2.5 from December
8, 2001, I could not discern any drastic differences. If anything, the two LAME
encoded files sound just slightly distorted during moments of loud bass while the
GOGO encoded files sound less so. So much for the generally accepted belief that
LAME produces higher quality audio. The latest GOGO version, being based upon LAME
3.88, achieved an encoding speed of nearly 4 times that of LAME 3.88 and the sound
quality, to me, is better (though it's nearly impossible to tell).
And finally, the sizes of the mp3 output files differ slightly, but only on the
scale of about 500 to 900 bytes between versions of the same encoder. In the cases
of both LAME and GOGO, the older versions created smaller files. GOGO had the smaller
output files both for older version and for newer version. For those of us who only
think in megabytes, though, all four mp3 files came out to 4.37MB.
The clear winner for me is GOGO-no-coda version 3.08. With an encoding speed as high as 14X and what I perceived to be slightly superior sound quality when compared to LAME, I just cannot imagine using anything else. But as with everything, your mileage may vary, especially if your CPU is not one of the latest and greatest. GOGO might not be any faster than LAME if you are using an old 486 or early Pentium processor.
References:
|
[Feature Index]
editor@os2voice.org
[Previous Page] [Newsletter Index] [Next Page]
VOICE Home Page: http://www.os2voice.org