I've been using HE-AAC for years for portable music / streaming from Plex. It's been great. I've been watching and playing with Opus for a while. I like it and like the idea. But, when I compare the two, I find that at 80-96Kbps, HE-AAC sounds better to me. Where it seems to have issues is playing rock music, and specifically reproducing cymbals. I know, I could just keep using HE-AAC, it's fine.
What bothers me is that in almost every chart I've seen, Opus is beating everything in that bitrate range. So... anybody else have any experience with comparing the two?
What are your thoughts? I could produce a sample, if someone wanted to listen.
Based on the various listening tests Opus is better overall. There will always be problem songs/samples that a particular codec struggles with. The same way that a lossless codec like FLAC or a archive format like Zip struggles to compress at all.
But you are also forgetting one important key fact "I've been using HE-AAC for years", your brain has been indoctrinated to find the way HE-AAC at the birates you use to be "normal" or "ok".
Somebody else more versed in the differences between HE-AAC and Opus can probably let you know the exact differences. But I'm guessing that HE-AAC keeps the low frequencies more or less intact and simulates the upper ones (the HE part), while Opus seems to reduce (remove info) all over the frequency spectrum.
The sound characteristics of each codec is different.
At higher bitrates the differences between codecs get more washed out an it's more a choice of convenience. I forget the exact numbers from previous tests posted but at 96kbps Opus starts to approach transparency, and at 192kbps it's in the middle of transparency territory. At around 224kbps and up all codecs (Opus, Vorbis, AAC, MP3) has enough bits to encode so it almost does not matter what you use, and when you start to reach 320kbps and up one might as well consider FLAC (lossless) if you got the space for it.
In general Opus is as good as or better than Vorbis/(HE-AAC)/MP3 (based on the test charts I've seen and it see,ms you have seen).
I will note however that personally I've found that I liked the sound of HE-AAC better than AAC or MP3 at the same bitrate. HE-AAC just sounded better at higher frequencies (AAC and MP3 sounded more muffled to me).
I found that I preferred HE-AAC (forced) at 192kbps over AAC or MP3 at 256kbps due to the way the higher frequencies sound.
It's probably due to the way my brain is wired regarding sensitivity to higher frequencies.
FIY. I can hear frequencies up to 16khz pretty consistently, then there is a huge dip up to about 18khz where my hearing range practically ends. That being said the loudness level at that point needs to be very loud, so loud that it would probably exceed the movie standard of 83dBSPL so I'd end up with hearing damage if listened at high freqs for any length of time.
I don't recall the exact point where HE-AAC has it's high freq "split" (I could probably search for it but I'm lazy right now), but it's around 14kHz to 16kHz somewhere (similar to MP3s lowpass?). And at nominal listening levels I probably would notice a difference in sound at the lower end of the "high frequencies".
I usually use Replaygain (EBU R 128) tagged music and playback gain adjusted by -5dB (so I'm listening at the standard EBU R 128 loudness of -23 LUFS almost all the time), so hyper compressed music is played at so low volume (and sound so crappy to me anyway) that I probably wouldn't notice the high freq differences between HE-AAC and Opus.
BTW! Make sure that when you compare codecs that the source is actually lossless (decoding from a lossy to a lossless is pointless) as the lossy codecs can struggle on music encoded previously with a lossy codec.
Ideally you also do not want overly "compress" music that's been the victim of the loudness war. If there is one thing (most?) audiophiles have in common with audio codecs it's that fully dynamic music is desired (audiophiles because it sounds less harsh, and audiocodecs because dynamic music is "easier" to encode).
But I digress...
To re-iterate my first point. You are probably a victim of your own indoctrination. You are simply used to the HE-AAC sound, and what one is used to is what one "likes". You basically need to untrain yourself. (this is why listening tests even Double Blind tests is a pain in the ass to do), same thing happens when you switch headphones, it can take takes or several weeks before you untrain yourself from the old ones and get used to the new ones.
Here's my advice. Go exclusively Opus only for a few weeks. Then do a comparison with HE-AAC again (you probably won't need a double blind test). Now your opinion may have changed the other way. But do note that it's possible your brain "remembers" the old HE-AAC sound and mentally filters the sound somehow (the same way your brain can ignore environmental noise).
At a certain point the listening experience changes from being technical (codec/audio quality/physical ears) to psychological (how your brain perceive sound from certain sources).
As a quick example, I compared MP3 and Opus at higher bitrates. I found Opus sounded better, then I did a null test (using RMS to loudness match each) and found that Opus "threw away" more sound than MP3, but yet Opus sounded better, how could that be? I have no idea why but I'm assuming it's due to the way that Opus handles the encoding, it's a completely different codec from the MP3/AAC/Vorbis "generation".
If you are used to the "MP3" sound you probably like AAC and Vorbis but might not like Opus. Luckily (or not) I dislike the "MP3 sound", but ironically I'm exposed to MP3 encoded music almost all day *sigh*.
I forgot one thing. Opus encodes at 48kHz, but notes down the original frequency and playback at 48kHz is not required. Depending on your player the audio might get resampled to 44.1kHz. or 48khz is sent to your OS/soundcard and resampled to 44.1kHz. If you are unlucky then there could be a crappy resampler in the playback chain somewhere.
So if comparing HE-AAC with Opus then you might want to compare with HE-AAC at 48kHz (re-sample the original to a 48kHz wav then encode that to HE-AAC and Opus), that "should" eliminate any difference during playback.
If you can produce a sample, I would like to hear it. @jmvalin
, who actually develops Opus, would almost certainly be interested as well.
Before all that, though, do you know what version of Opus you are using? There have been some substantial tweaks in the last year.
In my experience Opus sounds better than AAC-HE at 64 kbps VBR and above for stereo music. Around 48 kbps and below I find HE-AAC's spectrum thinning preferable over the grating noise Opus starts to produce in an attempt to keep each band from losing energy. They really need to threshold that so if there's too much energy loss it just gives up on trying to match it with noise because while mathematically more accurate it can sound like total shit when it goes overboard. I feel like it would beat HE-AAC at those ultra low bitrates for music otherwise.
Depends on how complex the music is. For opus metal/elctro and stuff need 96kbits while most Ambient i have can sound great at 56k.
i have switched from AAC to Opus approx a year ago. generally i find opus to be superior, but i am comparing 64 kbps AAC with ~100 kpbs Opus what obviously cannot be directly compared. the reason for this is that I had to use 64 kbps AAC to get HE-AAC, at higher bitrates i ended up with LC only. however i still see some serious issues with Opus:
- it fails to encode some specific samples, like static noise is usually converted to silence with Opus (a good example is track 9 from the deluxe edition of the album Berdeyminn from Solstafir)
- silence is encoded with high bitrates. actually opus produces higher bitrate output than flac (again see Ulver's Themes from William Blake's The Marriage of Heaven & Hell where the last track contains almost 20 mins of silence)
- compatibility - virtually no hardware and very few android applications support opus (although it should be natively supported since android 5.1 most apps just ignore the files with .opus extensions). also the A2DP bluetooth profile does not support Opus, so when streaming opus tracks via bluetooth to car audio or bt speaker the already lossy opus audio will be transcoded to other lossy format