Encoders compared

Update: October 21, 2003

I decided to compare a few different audio encoders to find which one performs best. I created a tool to measure differences between reference signal and signal which has gone through the CODEC.

Each graph has three plots; red one is average noise level (difference between reference and original), green is average frequency response of sample (through CODEC) and blue is average reference frequency response. Distance between noise level and signal level is what counts.

Signal used is real music and not some test signal, so flat responses cannot be expected! (ie. what has been lost) More important are the differences between the reference and the ones which have gone through the codec.

Conclusions

  • Fraunhofer performs better than lame at higher frequencies which doesn't come without a cost at lower frequencies.
  • Lame is good at low bitrates and blade is good at high bitrates.
  • Apple iTunes MP3 encoder is preserving even more high frequencies than blade with higher cost at low frequencies.
  • Ogg would be better than lame at variable bitrates, unless it had some issues with the high end.
  • WMA and RA8 are equal in performance and take the third place after mp3 and ogg/vorbis.
  • Only ogg/vorbis and and WMA preserve high frequency content (> 16 kHz) at low bitrates.
  • Apple iTunes AAC encoder performs roughly same way as WMA, but doesn't preserve highest frequencies as iTunes MP3 or WMA encoder does. This gives better performance at 6 - 16 kHz range.
Ogg is having some problems with high frequencies around 10 kHz (and 1.5 kHz). Noise level also varies widely over the frequency range which is somewhat alarming and needs more research.

I'll be doing some transient analysis on the CODECs later.

Fraunhofer (mp3) @ 128 kbps CBR
[fraunhofer 128kbps]

blade (mp3) @ 128 kbps CBR
[blade 128kbps]

lame (mp3) @ 128 kbps CBR
[lame 128kbps]

iTunes (mp3) @ 128 kbps CBR
[iTunes 128kbps]

ogg/vorbis @ 128 kbps CBR
[ogg/vorbis 128kbps]

WMA @ 128 kbps
[wma 128kbps]

iTunes AAC @ 128 kbps
[aac 128kbps]

RealAudio8 (ATRAC3) @ 132 kbps [ra8 132kbps]

RealMedia Audio (.rm) @ corporate LAN rate [rm corporate]

blade @ 256 kbps CBR
[blade 256kbps]

lame @ 256 kbps CBR
[lame 256kbps]

lame @ 128-256 kbps VBR
[lame 128-256kbps]

ogg/vorbis @ q=5 VBR
[ogg/vorbis q5]


Copyright (c) 2003 Jussi Laako