• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required as is 20 years of participation in forums (not all true). Come here to have fun, be ready to be teased and not take online life too seriously. We now measure and review equipment for free! Click here for details.

Objectively best/most compliant MP3 decoder?

Joined
Apr 1, 2019
Messages
82
Likes
56
Location
Station Square
#1
I recently found myself going down the rabbit hole of trying to figure out which is the most compliant and bit perfect MP3 decoder available today. Now, I understand the inherent limitations of lossy formats but the stark reality is we largely live in a post-CD era where Amazon and iTunes rule the world. With that in mind, here is the objective tests I found so far endeavoring to show the most bit perfect MP3 decoder and results don’t entirely line up.

This link suggests that Apollo 37zz is the best:
https://web.archive.org/web/20131023220543/http://koti.welho.com/hylinen/apollo/FAQ.html

On the other hand, this source tends to lead one to believe that MAD is the best:
https://www.underbit.com/resources/mpeg/audio/compliance/

Yet here Fraunhofer’s l3dec appears to be the best:
http://mp3decoders.mp3-tech.org/24bit.html

Thoughts?
 

Veri

Major Contributor
Joined
Feb 6, 2018
Messages
5,308
Likes
5,990
#2
For MP3 when I did need it, I just used the latest available LAME at 320kbps constant setting. Had no idea there were so many options..?
 
OP
Hifihedgehog
Joined
Apr 1, 2019
Messages
82
Likes
56
Location
Station Square
Thread Starter #3
For MP3 when I did need it, I just used the latest available LAME at 320kbps constant setting. Had no idea there were so many options..?
To be clear, I am speaking of the decoder or playback part and not the encoder that turns your lossless CD into a compressed lossy MP3, which is what LAME is doing in your case. The strange thing I’ve learned is because of its purported accuracy, there is a cult following of sorts for Apollo and “many radio stations” insist on using it for decoding for broadcast. Until recently, I didn’t even know it existed.
 

Veri

Major Contributor
Joined
Feb 6, 2018
Messages
5,308
Likes
5,990
#4
To be clear, I am speaking of the decoder and not the encoder, which is what LAME is doing in your case. The strange thing I’ve learned is because of its purported accuracy, there is a cult following of sorts for Apollo and “many radio stations” insist on using it for decoding for broadcast. Until recently, I didn’t even know it existed.
Woops, my bad. You're saying these decoders don't all translate to the same PCM output ?
That would be weird to say the least :oops: would be quite simply to verify, too.
 

bennetng

Addicted to Fun and Learning
Joined
Nov 15, 2017
Messages
998
Likes
853
#5
Woops, my bad. You're saying these decoders don't all translate to the same PCM output ?
That would be weird to say the least :oops: would be quite simply to verify, too.
It's completely true that different decoders decode differently. For fixed-point decoders vs floating-point decoders the differences could be audible when the fixed-point deocders clipped, for floating-point decoders the differences could be measured and identified (e.g. null test) but I can't ABX them.
 

bennetng

Addicted to Fun and Learning
Joined
Nov 15, 2017
Messages
998
Likes
853
#6

Fluffy

Addicted to Fun and Learning
Joined
Sep 14, 2019
Messages
847
Likes
1,228
#7
This sounds like a rabbit hole that should be avoided. If you're not concerning yourself with perfection by listening through lossy compression (and there's nothing wrong about that, I do it too), then why bothering yourself with obsession with decoders?

On top of that, not every service uses MP3. There are many different types of lossy codecs, but they're all transparent at 320 kbps and above (some are transparent below that). I think whatever service you are using, you should just make sure you are getting the best bitrate you can, and that should be the end of it.
 

mansr

Major Contributor
Joined
Oct 5, 2018
Messages
2,117
Likes
4,274
Location
Hampshire
#8
Woops, my bad. You're saying these decoders don't all translate to the same PCM output ?
That would be weird to say the least :oops: would be quite simply to verify, too.
The MP3 spec leaves some wiggle room for decoder implementations. The differences are mainly in the IDCT. While it's possible to be compliant with a 16-bit fixed-point version, using 32-bit or floating-point will be more accurate.

MAD is an excellent decoder and free. Use it with confidence.
 

Mnyb

Senior Member
Joined
Aug 14, 2019
Messages
356
Likes
340
Location
Sweden, Västerås
#9
It's completely true that different decoders decode differently. For fixed-point decoders vs floating-point decoders the differences could be audible when the fixed-point deocders clipped, for floating-point decoders the differences could be measured and identified (e.g. null test) but I can't ABX them.
So true , I have old squeezeboxes they are a little short of CPU power hence they have fixed piont MAD decoders .

I've tested that ,mp3 audibly distorting on my Squeezebox when playing native mp3 on some very rare specific tracks .

Same track worked fine when the server decoded to flac by using a better algorithm , I asume floating piont .

So yes some small network streamers and portable DAP's can behave less than ideal with lossy codecs .
 

Blujackaal

Active Member
Joined
Feb 7, 2020
Messages
132
Likes
49
#10
No idea why 8 to 640kbps wasn't made as final specs for MP3 decoders. Since above 320 frames could've be useful for challenging content.
 

Tks

Major Contributor
Joined
Apr 1, 2019
Messages
1,881
Likes
2,436
Location
NYC
#11
The MP3 spec leaves some wiggle room for decoder implementations. The differences are mainly in the IDCT. While it's possible to be compliant with a 16-bit fixed-point version, using 32-bit or floating-point will be more accurate.

MAD is an excellent decoder and free. Use it with confidence.
Thoughts on Opus?

Seems to be used in some pretty serious enterprise and mass-scale purposes with good success

EDIT: I know I'm deviating off the topic of decoders themselves. But I trust your thoughts on this, though now that I think about it, I should've PM'd you.
 
Last edited:

mansr

Major Contributor
Joined
Oct 5, 2018
Messages
2,117
Likes
4,274
Location
Hampshire
#12
Thoughts on Opus?

Seems to be used in some pretty serious enterprise and mass-scale purposes with good success

EDIT: I know I'm deviating off the topic of decoders themselves. But I trust your thoughts on this, though now that I think about it, I should've PM'd you.
Opus is a much more advanced codec. I haven't studied it carefully, but it seems to perform remarkably well even at quite low bit rates. One of the tricky things in codec design is to make it degrade gracefully rather than become a screeching mess when the bit rate is reduced.
 

Blujackaal

Active Member
Joined
Feb 7, 2020
Messages
132
Likes
49
#13
Opus is a much more advanced codec. I haven't studied it carefully, but it seems to perform remarkably well even at quite low bit rates. One of the tricky things in codec design is to make it degrade gracefully rather than become a screeching mess when the bit rate is reduced.
At 160 ~ 192kbps both Opus & Musepack outperform other's for tranparency too. Which is great for saving space on any android phone or DAP even currently.
 

gvl

Major Contributor
Joined
Mar 16, 2018
Messages
1,943
Likes
1,726
Location
SoCal
#15
No deep knowledge in this area, but methinks the damage that was done during compression is multitudes worse than that from decoder differences, yet it is barely audible at high bit rates when compared to the original. So we arrive at the real question, why bother?
 

ZolaIII

Addicted to Fun and Learning
Joined
Jul 28, 2019
Messages
504
Likes
227
#16
@Hifiheadgeorg objectively most compliant one would be a reference one the Fraunhofer one. But you won't find it for everything as it's proprietary and whose paid. Used to come with Adobe Audition, there whose a paid Winamp pluggin... Best version whose MP3 Pro but you should avoid that one as it never lived nor had a wider suport, best one for wide compatibility would be MP3 V0 44100 Hz CBR 320 KB/s. The MAD whose only leading one from reverse engineered one's in the early days, today LAME is perfectly fine.

@Tks
Opus is a interesting codec especially now from V 1.3. when it has multi channel surround sound support (it had 256 chanel suport earlier but only 2.0). Its based on the old CELT codec (OGG) for the ultra wide band (20kHz), for narov band it uses (Google's) SILK codec and everything in between is done in "hybrid" mode using both. It has new & interesting sample packaging tech supports and mixes both 16 bit & 32 bit one's in the same file based on estimated complexity and need. Does a much better job in preserving both top and bottom and compared to everything before it on moderate bit rates. All do it nominaly goes up to 48 KHz it's hard limited at 20 KHz per band (chanel). It's Open Source & becoming widely supported. Reference implementation can be found in FFmpeg, Foobar2000...

https://opus-codec.org/docs/opus_api-1.2/index.html
 

solderdude

Major Contributor
Joined
Jul 21, 2018
Messages
6,153
Likes
11,266
Location
The Neverlands
#17
This info is 15 years old, things may have changed on the decoder side. They certainly have on the encoder side.

On the other hand, this source tends to lead one to believe that MAD is the best:
https://www.underbit.com/resources/mpeg/audio/compliance/

Yet here Fraunhofer’s l3dec appears to be the best:
http://mp3decoders.mp3-tech.org/24bit.html

Thoughts?
The other tests seem to be more recent.

I only use MP3 (320 or VBR-0) on FiiO portable players, no idea what decoder is in there but works fine.
 

ZolaIII

Addicted to Fun and Learning
Joined
Jul 28, 2019
Messages
504
Likes
227
#18
@solderdude well LAME had development suport for longest time and it's considered as standard regarding it today. Wildest used media codec framework (ffmpeg) uses it.
 

Blujackaal

Active Member
Joined
Feb 7, 2020
Messages
132
Likes
49
#19
@Blujackaal At those bit rates, has anyone even been able to blind-test AT ALL between it, and FLAC/loseless?
Very rare unless there killer samples, But going by 1 well know trained user DBT test at 192kbps. Some on HA did show they needed 256kbps but it was only 1 song out of there collection. Opus/Musepack are very robust for lossy codecs, With MPC being more so since complex stuff can shoot up to 1mbit if needed.

Opus = 5, Musepack = 5, Vorbis AT6.03 = 4.3, QAAC = 4.2, lame MP3 = 3.5

Under 160kbps MPC could be a choice if there was a encoder that did heavy tuning down there or was semi transform like HE MPC in a sense. I can see why they ddin't add it to blind tests after 2006 on hydrogenaudio.
 

solderdude

Major Contributor
Joined
Jul 21, 2018
Messages
6,153
Likes
11,266
Location
The Neverlands
#20
@solderdude well LAME had development suport for longest time and it's considered as standard regarding it today. Wildest used media codec framework (ffmpeg) uses it.
I use LAME as an encoder, the thread, however, is about the decoder side. There is no LAME decoder.
 
Top Bottom