HE-AAC (aacPlus) tested, and what Spectral Band Replication does
Posted: July 29th, 2004 Comments OffI’ve recently been reading a lot about latest wonder-codec being pushed for low-and-medium-sized audio use, HE-AAC.
It’s had some extravagant claims made for it, most notably that it can
achieve “near-CD quality stereo” at 48Kbps – which would make it more
than twice as good as MP3. Read on for some more explanations and a
horrifically-amateurish (but still revealing) test.
HE-AAC is a new version of the popular AAC codec, which is part of MPEG-4 and is most notably used by Apple for its iTunes Music Store. HE-AAC, also known under the commercial branding aacPlus, is already supported by the open-source AAC decoder FAAD2. Winamp includes this support as of yesterday’s 5.04 release, so I’m quite keen to see what this thing can actually do.
How it works
MP3 and AAC are perceptual audio compressors, which means
they do their best to spot and remove audio frequencies that the human
ear won’t notice but which still take up data space. Unfortunately,
when the going gets tough and they’re working in a tight space, they
often chop out high frequencies that the ear can hear. This is why audio aspects such as treble and speech sibilance get very messy when MP3 drops below 96Kbps.
Standard AAC, which Apple uses with added DRM, is already known to
deliver better quality at low bitrates than MP3, but the HE (High
Efficiency) version goes a step better by using a patented technique called Spectral Band Replication.
SBR specialises at dealing with those high-frequency ranges that
perceptual codecs mess up, but the cool thing is that you can bolt it
onto those codecs rather than replacing them: You let the existing
codec deal with the lower frequencies and then add SBR data which adds
the higher frequencies in a much more efficient way than the other
codec would.
For example: suppose you MP3-encode a tune with added SBR. You
generate a 48Kbps MP3 stream, which would normally sound terrible, but
you sprinkle a 16Kbps layer of SBR magic on the top. While doing that,
you ensure that the MP3 codec isn’t wasting its time with the higher
frequencies, so can put more energy (and data) into refining the lower
ones. What you end up with – if the hype is to be believed – is a
64Kbps MP3-SBR hybrid which sounds better than a 96Kbps vanilla MP3
would. Even better, this new hybrid file is still playable on vanilla
MP3 players, because they just throw away the SBR data. (Of course,
it’s not going to sound that great) So you create a new format out of
this hybrid and push it to the industry, showing how it maintains a
kind of two-way backward compatibility while achieving much better
performance for those who support it, and you call it mp3PRO.
Similarly, HE-AAC is normal AAC with added SBR.
But is it actually any good?
When I started reading about HE-AAC I was quite keen to have a listen, as I currently use my Treo 600
for mobile music with a relatively small 256MB SD card as storage, so
I’m obviously quite keen to get the best bang for my bandwidth. It
helps that I’m pretty cloth-eared when it comes to audio quality, but I
can still easily tell the difference at lower bitrates. Currently I use
80Kbps Ogg Vorbis (thanks to the excellent Pocket Tunes). If HE-AAC can give me better quality at lower bitrates, bring it on.
In Roberto Amorim’s thorough analysis,
HE-AAC comes out comfortably on top at 64k using the same Nero codec I
use below. Still, I wanted to try it for myself. (And I, um, hadn’t
found that test at the time. Given my resulting experiences, though,
I’m glad I did it anyway.) As I said, I’m cloth-eared when it comes to
evaluating audio quality, so I didn’t bother with proper scientific
methods, blind testing, and all that malarkey. To be honest, I just
wanted to take one tune from a CD, throw it through some different
codecs at a few different bitrates (48, 64 and 128, with a mixture of
Constant and Variable Bitrate encoding) and see what happened. If you
want the full empirical experience, head for Roberto’s tests. This is
just a quick muck-about, using the following software:
- Test Track: Deacon Blue‘s
“Closing Time” (because it’s got a varied range of strings, bass and
vocals, it’s an old favourite, and stop sniggering, dammit) - CD Ripper/Converter: The excellent and free dBPowerAMP Music Converter
- HE-AAC Codec: Ahead’s Nero Digital Audio Plug-In with dBPowerAMP adaptor
- MP3 Codec: LAME 3.93
- Ogg Vorbis Codec: 1.01
- Player: Winamp 5.04
Summary of test results: Vorbis quite comfortably kicked HE-AAC’s arse.
At both 48K and 64K Vorbis delivered much greater clarity for the
higher frequencies (despite all the SBR hype) and better bass too. In
fact, I found 64K VBR Vorbis so good that I’ll probably use that for
portable music from now on. But they both beat MP3 quite comfortably.
(I must once again stress the horrifically unscientific nature of this
muckabout, and given that I contradict Roberto’s much more qualified
findings, I’m not going to push it too hard. But I’m still somewhat
stumped, given that even with my untrained ears I find the difference
completely obvious.)
If you want to check out the resulting files, they’re here
- please go easy on the server and download rather than stream (unless
you just want to hear the first thirty seconds for comparison, which is
all you really need).