Home >> Articles >> EAC & MP3s
Give Decoding A Second Thought
June 26, 2002
A very bright individual, who goes by the name of Madrigal, brought to my attention something that I've overlooked.
While many of my tutorials, articles, thoughts & opinions focus on the encoding (compression) process, I rarely gave a second thought to the decoding (decompression) process.
When decoding mp3s, I always just assumed all decoders were equal, unlike encoding where there is great variation in quality. I have since learned this is definitely not the case.
Which decoder is best? Are there any audible differences?
Honestly, does it really matter which decoder I use?
Turns out it does. Some decoders exhibit the following flaws:
audible problems below 15kHz
audible problems above 15kHz
skipped samples during decoding
decodes to the nearest bit, with a noise or signal-like error in the last bit.
Where can I find comparison info on decoders?
By far the best website I've found on this subject can be found at David J M Robinson's Decoder Test Page.
I'm not even going to begin to pretend that any knowledge you gain from this point forward comes from my own experience. It all comes from the website above.
I don't want to simply cut and paste what must have taken him many, many hours of testing to learn.
I will try to be as brief as possible, and summarize what I've learned from his website, which I suggest you read through.
Alright, so what's the best decoder?
I'm going to mention two of them.
First, there is WinAmp 2.7. I suggest reading the reason's why this decoder is flawless, which will also show you
how to decode MP3 files in WinAmp.
Winamp versions 2.20-2.22 and 2.666 onwards have a good mp3 decoder (WinAmp started with a perfect decoder built-in for versions 2.20-2.22, from the Fraunhofer institute, then switched to a flawed decoder called
Nitrane for versions 2.23-2.6, and then with the release of WinAmp 2.666 switched yet again to a perfect decoder, which was based on code from the aforementioned Fraunhofer institute.
Previous versions of WinAmp had inaccurate decodes, high frequency errors,
and a 8191+/100hz bug.
You said you would mention 2 flawless decoders, what's the other one?
This other MP3 decoder is called MAD
and I'm mentioning it for a special reason.
It passes all the same accuracy tests as the WinAmp 2.7 decoder, but it also supports 24-bit decoding.
What's 24-bit decoding you ask? Well most decoders only use 16-bit decoding, but MAD is one of the very
few decoders that supports 24-bit decoding, which some people claim makes the decoded audio sound better.
Why does it sound better? If, like most people, you only have a 16-bit soundcard
'MAD takes the extra 8 bits of information (which are discarded by other decoders) and dithers them onto the quietest bit of the 16-bit signal.' (source: David J M Robinson.)
Got any more technical gobbledy-gook about 24-bit decoding?
Again, this is all from David J M Robinson's site:
The number of bits a decoder reproduces correctly is a measure of its sound quality and numerical accuracy. Having more bits is the binary equivalent of having more decimal places. For example, saying pi=3.141592653 is more accurate than saying pi=3.14. This accuracy determines the quietest sound, or finest detail a decoder can reproduce. 16-bits of accuracy (the same as a compact disc) is often thought to be enough, but it is possible to go further...
When decoding an mp3 file, the numerical results often run to many many decimal places - rounding the result to 16-bits is equivalent to adding a little extra distortion. A 24-bit decoder can allow owners of 24-bit sound cards to keep an extra 8-bits of accuracy (thus lowering the rounding distortion by a factor of 256). Owners of 16-bit soundcards can use a program to dither the 24-bit output down to 16-bits, so hiding the extra bits within the noise of the 16th bit, and avoiding the distortion introduced by simply rounding the result.
You may hear an improvement, you may not!
And no, despite what your box says, you do not have a 32, 64, or 128-bit sound card. The numerical value in the title of a certain series of soundcards may double as you go up the range, but it doesn't tell you the output accuracy of the sound cards - it doesn't even claim to. The best digital to analogue converters are 24-bits. Some very good ones may be linear down to the equivalent level of the 27th bit, but this is still using a 24-bit input signal and 24-bit converters. 99.9% of people still have 16-bit sound cards.
Click here for even more technical info on 24-bit decoding.
Fantasic. Well forget WinAmp 2.7 then, I'm using this 24-bit MAD decoder!
Well, coincidentally, the only real easy way to use the MAD decoder is by installing this MAD Plugin for WinAmp. (Which is not to be confused with the flawless 16-bit default decoder that comes with WinAmp 2.7)
There is one tiny caveat however. The MAD decoder for WinAmp clips the end off most files (typically 1000 samples, or 1/50th of a second). However,
if you have an ID3 tag in your MP3, this clipping does not occur. So if your MP3 collection is fully tagged, you have nothing to worry about.
If you have untagged MP3s, you risk losing a whole 1/50th of a second from your decoded files! My God how will you live!
So the software I'm using now isn't good at decoding? What about burning programs that
decode automatically on the fly?
Click here for a list of recommended software for burning, and a list of known burning software decoder flaws.
Info on some of the more popular ones....
Nero: slight high frequency errors (not recommended)
MusicMatch Jukebox: decoder makes an audible error with a particular lame encoded tone sweep (in other words, not recommended)
Real Jukebox and Media Jukebox are both good choices, and use flawless decoders.
If you don't have any of these burning packages, the easiest way is to download WinAmp 2.7, decode your .MP3s to .WAVs, and
then burn with whatever you have.