Opus — the Codec To End All Codecs
New submitter jmv writes "It's official. The Opus audio codec is now standardized by the IETF as RFC 6716. Opus is the first state-of-the-art, fully Free and Open audio codec ratified by a major standards organization. Better, Opus covers basically the entire audio-coding application space and manages to be as good or better than existing proprietary codecs over this whole space. Opus is the result of a collaboration between Xiph.Org, Mozilla, Microsoft (yes!), Broadcom, Octasic, and Google. See the Mozilla announcement and the Xiph.Org press release for more details."
Obligatory.
Seems to cover a wide range of range applications. I wonder why they left out loseless encoding. That would have made it the one true codec for everything.
What's wrong with Bill the Cat?
A feeling of having made the same mistake before: Deja Foobar
Cue MPEG-LA calling for a patent portfolio to be created and licensed for hard cash, under their gracious auspices, of course.
Ezekiel 23:20
Can't wait to try this on my portable music player!
be as good or better than existing proprietary codecs over this whole space
Except upon clicking on that link, their own graph is showing that it's not as good for anything under ~12 kbps or so, when compared to AMR-WB and AMR-NB. Furthermore, they have no data on HE-AAC below 64 Kbps, when in fact HE-AAC only really starts to shine at substantially lower bitrates like 16-32 Kbps. Bitrates in the 4-16 range are particularly relevant since you see a lot of voice communication down there.
About 9 months ago, I implemented Opus in our VoIP products, replacing G722 and Speex. It kicks a whole lot of ass. Compared to speex, It's far better coded, uses far fewer CPU cycles, and sounds vastly better (even to me, and I have shitty hearing). Similarly, we replaced all our old audio DSP pipeline, based on the Speex library (thanks Xiph.org, etc) with the low-level components from WebRTC (thanks Google!) and things have never sounded better.
Today's weirdness is tomorrow's reason why. -- Hunter S. Thompson
The codecs being compared don't include APT-X which (in various flavours) is lossless, as close to realtime as makes no difference and has been used for everything from high-end rack mounted kit in TV studios down to being embedded in wireless microphones and bluetooth headsets.
It's true that Opus does better than AAC and Vorbis at CD-quality bitrates and thus would be an improvement for music players etc.
But the improvements there are fairly small- in fact, Opus wasn't originally targeted at that kind of use at all, and the authors were quite surprised that it outdid those kinds of high-latency codecs. Opus is a very low-latency codec, and it combines Skype's speech compression technology and more music-oriented technologies (those introduced in CELT) to allow interactive speech and music over the Web.
Gaining marketshare in the high-bitrate stored music market against dominant formats like MP3 and AAC is hard, even when you outperform them substantially. But there's not really any established players in low-latency Internet audio. Opus blows all the other low-latency and/or low-bitrate codecs out of the water when competing in those other codecs' bitrate-latency "sweet spots", is the only codec which can compete across that kind of a range, is now a standard, is royalty-free, and is already implemented in Firefox.
Those who are saying "meh, only audiophiles will care" or "this won't get marketshare against AAC" are missing the point. This codec will change the face of the Web.
It's 2012, we have the bandwidth and storage to go to lossless. There's really no need to sample at anything above 48 kHz, and 16 bit is enough for human ears, so the required space isn't too large.
Audiophiles care about FLAC for lossless music and AAC for high quality, lossless, multi-channel audio for movies.
Audiophiles? Really? The only format they care about is original wax drums rubbed with a diamond and amplified by analog equipment connected by gold cables soaked in unicorn tears. They want nothing to do with digital audio codecs.
Kudos to the folks working on this. We were all rooting for ogg/vorbis/xiph, but they had some lessons to learn. Positives that I see for Opus:
still could use some love:
Still, an order of magnitude better than the last attempt at gaining industry acceptance of free codecs. This one might just work out!
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
One Codec to Rule Them All.
Slashdot ya no es que lo era!
A nice way to honor Opus the penguin.
Audiophiles? Really? The only format they care about is original wax drums rubbed with a diamond and amplified by analog equipment connected by gold cables soaked in unicorn tears. They want nothing to do with digital audio codecs.
Not any more. Have a look at a few audiophile forums - some have sections devoted to setting up high quality systems to play high bitrate audio files encoded in (eg) FLAC or Apple Lossless (whatever it's called). There's products like Pure Music that improve iTunes playback considerably and can import FLAC into iTunes. And very high quality USB sound cards for laptops eg CEntrance DACPort.
"one codec to *stream* them all"
My blog
none other than Bruce Perens (Open Source champion) points us to these: https://datatracker.ietf.org/ipr/1520/ https://datatracker.ietf.org/ipr/1741/ wherein we learn that Opus is "possible royalty/fee". this is not consistent with "Fully Free" to any patent troll waiting for broad adoption before jumping.
To me the biggest difference is that Vorbis was competing head on with a strongly entrenched codec (MP3) and it's official successor (AAC). Opus on the other-hand fills niche in the audio encoding world that doesn't have an established winner; that is high-quality low-latency codecs. This area has largely been driven by cellphone market, and has focused on encoding voice signals at toll-quality, that is as good as an analog long-distance signal (8kHz mono). There really hasn't been much focus on creating a low-latency codec that can encode full-band (music signals), and Opus does that incredibly well. It also sounds much better encoding speech at the bitrates that are used for VoIP (rather than the lower ones used by cellphones).
The internet community has never really been happy with the performance of ITU specified codecs that have been primarily used for SIP and other VoIP applications in the past, and there is no good reason from them not to support Opus. The patent grants are there, the vender support is there, and there is no real competitor codec worth mentioning. I'm convinced this will make much deeper inroads than Vorbis did.
http://www.opus-codec.org/
Another great feature for streaming and Real Time Comms use is that it can seamlessly switch modes, channel count, bitrates, frame sizes and turn forward error correction on or off while it's playing, without glitches and without any out-of-band signalling. So if your link quality changes due to network traffic or other conditions, you can adjust to make the best of what you have. This could also be awesome for podcasts and radio shows with various types of content - e.g. super-wideband mono speech and high quality stereo music themes, stings and clips can all be part of the same stream or .opus file.
Sounds amazing to me at 64 kbps, confirmed by hydrogenaudio double-blind public listening tests (this mode was called CELT, not OPUS at the time) and google's formal testing. No wonder it's been voted for Mandatory To Implement status in WebRTC.
You mean MP3 is about as standard as it gets (for lossy anyway).
AAC is not lossless nor is it a video codec.
Those patents are openly declared as freely licensed and open-source compatible. See http://www.opus-codec.org/license/
When applied to a codec, "latency" (obviously) refers to stream latency, not network latency (the latter has nothing to do with a codec, obviously). The problem with codecs like MP3 for streaming purposes is that they encode fairly large "frames" of audio, and these frames must be recorded before they can be encoded, encoded before they can be transmitted, received before they can be decoded, and quite possibly also decoded (fully) before they can be played. It may be possible to begin playing before the decoding is complete, which would help a lot, but it also might not - it depends on the codec.
Suppose you've got a "high latency" codec (such as MP3) that uses a 250ms frame and requires full decoding (this is an example; I don't know the actual numbers for MP3). Then suppose you have a low-latency codec (like Opus) with a 15ms frame size. In both cases, your network latency is going to be the same (let's say 100ms). You want to stream audio over this connection. It's pretty high bandwidth and you've got a decent audio processor, so any codec can be encoded, transmitted, and decoded in 10ms or less.
At t=0, begin recording an audio (such as voice) segment.
Codec1 (high-latency):
At t=250ms, you've filled the frame and can begin compression.
At t=360ms, the frame has been encoded, transmitted, received, and decoded.
Total latency before playback can begin: almost 3/8 of a second after recording began.
Codec2 (low-latency):
At t=15ms, you've filled an audio frame and can begin compression.
At t=125ms, the frame has been recieved and decoded by the other end, and playback can begin.
Total latency: 1/8 of a second over the same network connection.
1/8 of a second can be perceived, but barely, and almost all of that is simply an inherent cost of the network transmission. 360ms is not only easy to perceive, it's quite enough to be annoying (think intercontinental call via satellite). There's tons of demand for low-latency codecs.
There's no place I could be, since I've found Serenity...
AAC is not lossless nor is it a video codec.
The second "lossless" was obviously meant to be "lossy".
And no, it's not a video codec, that's why I said "multi-channel audio for movies".
OSS is wonderful.
You are welcome on my lawn.
Pffft, you say ordinary diamonds. real audiophiles only listen to BLUE diamonds that were polished on the thighs of virgins.
Do not look at laser with remaining good eye.
"Shine" is a really funny word for what HE-AAC sounds like at 16-24kbps. You can't polish a turd.
As far as AMR-WB/NB, you have to get down to 8kbps before AMR-WB sounds measurably better, and you have to get down to 6kbps before AMR-NB sounds better. Opus is tied with AMR-WB at 12kbps and better at 16kbps, and it's tied with AMR-NB at 8kbps and significantly better at 12 or above. Look at the studies linked from the comparison page if you want more details, keeping in mind that the Opus encoder has continued to improve in the year since those studies were done.
Did Qualcomm Inc and Huawei Technologies Co.,Ltd (the putative patent holders) sign off on that statement?
Does Pandora use it?
Well, that's just because people weren't used to distinguishing between ACK and ACK-THBBBPT.
Use Codec2 for that. It just got a quality upgrade recently, so if you have tried it before, check the latest source out of git and try again.
Bruce Perens.
suck it up, deafie!
you can put subtitles in the ogg container too, you know :)
I asked Qualcom if they'd consider changing their declaration to royalty-free. I don't know anyone at Huawei.
Bruce Perens.
Thank you for being such a good watchman. We really don't need another "gif" situation. Can you provide a dumbed-down explanation of what "RAND terms" are? (i'm -guessing- they aren't intrinsically random ;)
Mod UP! This deserves discussion.
you can put subtitles in the ogg container too, you know :)
Let's see a karaoke app!
This is why you shouldn't let the DSP engineers comment in public. Opus only couples two channels at a time, but the multichannel support is at the internal codec framing level. Not the container level. Container level would be a disaster, as basically nothing would be able to support it without a redesign (apps not designed for sample accurate sync between separate streams), and there wouldn't be ways to signal the use or mapping in most containers.
RAND = reasonable and non-discriminatory
That means potentially including royalties, and there is no real definition of what is "reasonable" and "non-discriminatory". In general the presence of royalties discriminates against Open Source completely.
Bruce Perens.
True audiophiles prefer hearing acoustic instruments, well played in a good room.
Everything else is instantly recognisable as inferior, even to people who normally can't tell the difference between 128kbps mp3 and 24/96.
We are still a very long way from reproducing sound with any degree of accuracy.
Flac is loosless, so it won't dissapear
If Flac won't disapear(sic), then it is loseless, not loosless.
(Ba-dump!)
Ok, until the current generation of "bud earphone users" have gone deaf before age 40 (or at least significantly damaged hearing), there's a HUGE difference in lossless formats over ANY compression. And being able to reconstitute a duplicate of the original medium is a nice side bonus and makes for an easy to use backup solution for a large "legacy" collection of those smallish shiny discs, particularly if you've copied a damaged original with a temporary scratch filler (i.e. furniture polish, lemon fresh even!)
I was lucky enough to hunt down a [JVC] car audio head unit that reads (there's no real "decode" other than deflate and D-to-A) FLAC and everyone is amazed at the difference. Side by side, no comparison, even with my own self ripped high bit rate titles.
Audiophiles? Really? The only format they care about is original wax drums rubbed with a diamond and amplified by analog equipment connected by gold cables soaked in unicorn tears. They want nothing to do with digital audio codecs.
That's unicorn urine , you cloth-eared techno-weenie!
I mean, what kind of a hearing-impaired techno-dolt would soak gold cables in unicorn tears anyway?
No one expected the Spanish Inquisition to have a hand in this.
From TFA:
Amongst its weaponry are such diverse elements as:
Fearfully low latency: Frame sizes from 2.5 ms to 60 ms
Surprising voice and music quality (it beats all other comers across its operating range, including Vorbis and AAC)
Ruthless bitrate efficiency from 6 kb/s to 512 kb/s
Je suis fier de pouvoir dire que j'ai déjà travaillé avec toi, malgré que ce fut sur qqch qui, pour l'instant, ait eu beacoup moins d'attention que tes codecs. Je pense à toi chaque fois que je vois le nom simdfunny dans mon netlist ;) Merci pour la plug Octasienne. Passes-donc nous voir un de ces 4. SebR
my phone doesn't like certain MP3's, ogg's existence is non, I don't want to be tied in to a media player like windows or apple, and here's another option that's promising me the universe, but has no support
in the year 2012 I hear there's going to be terabytes of storage for less than 100 bucks, cheap internet can download a ISO in a jiffy, and my 386 can play a wav file ... whats the point again? oh that's right, you want the entire history of recorded music on a 1x1 inch square cause anything else would make you choose.
retrieved from ancient mines on the mountains of Virunga.. Boron doped, no less.
Nanananana (all together now!)
To test the mp3 encoding quality was used as a reference the song "Tom's Diner".
To test the opus encoding quality was used as a reference the song "life is life", isn't it?
Wait, wait... An audio codec? For audio, the only format that matters is MP3. The hardware support is massive, open source tools exist, and despite some vague mumbling from the FSF about "submarine patents", nobody has ever paid any royalties to use MP3 (because the patents have expired) or has been patent trolled in any way. Sure, it's not as efficient as AAC or this new Opus thing, but it's "good enough". IMO it may be too late even for a new video codec. MKV and MP4 (these two use the same mpeg4 avc codec) are spreading fast, and WebM barely has time to crack itself in.
This should be modded funny, if anything. It is a description of hipsters calling themselves audiophiles. Real audiophiles embrace digital technology but are also skeptical of $100 stereo cables and other fancy sounding junk. Check out the Hydrogen Audio forums and The Audio Critic
Yeah, maaaaan, we still can't reproduce their paaaaain!
Considering that M$ is involved they are using this to embrace, extend, and then extinguish free software. This way M$ can keep their illegal monopoly. That chair-throwing gorilla sweaty B once called free software, GNU/Linux included, a cancer and even compared it to communism. Today it seems that $lashdot has forgotten about the history of M$ with their strategy of "embrace, extend, and extinguish." Perhaps $lashdot is getting kickbacks from M$ and doesn't want any negativity towards their sponsors. It is high time for people to abandon the M$ version of $lashdot and lend support to Groklaw and Techrights. Just leave $lashdot to the M$ addicts and astroturfers.
--
Friends don't help friends install M$ junk
Friends do assist M$ addicted friends in committing suicide.
Pffft, you say ordinary diamonds. real audiophiles only listen to BLUE diamonds that were polished on the thighs of virgins.
I hope your thighs aren't too sore from all that polishing...
Lost in the noise floor here is that Opus pretty much destroys the premise that good audio compression requires a psycho-acoustic model. These are hard to develop and limit participation.
In my own tests with Opus with my own voice dictation, I was pretty happy with Opus at its highest compression ratio.
It's pretty ridiculous to think that Opus should also have tackled lossless and extreme voice compression (codec2 territory). You people, please turn in your bignum libraries on the way out (or would you rather ditch your IEEE 754?)
Lossless is a different game and extreme voice compression is still a work in progress (I predict this can go a lot further yet, ending up as almost a MIDI file for the human larynx with a compression layer on top that models typical speech production--this may or may not be language neutral).
You mean these here?
"Opus covers basically the entire audio-coding application space"
Maybe I didn't look hard enough but I didn't see anything about how well it handles getting some of it's data corrupted. I only see comparisons of how it works at different bitrates. This is important for radio applications as there will always be interference and some percentage of the received bits will be wrong. That is why for example we don't see Amateur Radio operators using Speex. If this truly covers everything then we don't need codec2 http://codec2.org/ but from what I see it just sounds like a new ogg vorbis which is useful through a wider range of bitrates.