Opus — the Codec To End All Codecs 327
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 (Score:4, Funny)
Obligatory. [xkcd.com]
Re:Obligatory (Score:5, Funny)
That's the nice thing about standards. There are so many to choose from!
Re: (Score:3, Insightful)
Yup, that was my thought the moment I read this - and I bet it was the case for a large number of other Slashdotters as well.
As far as being "good or better than existing proprietary codecs" go... I'll wait and see what people less invested in Opus say. We heard the exact same things about WebM, and the various Oggs before that - and it turned out not to be the case, unless the "Free" status of a codec was given significant weight in the quality space.
Re:Obligatory (Score:5, Informative)
See the "listening tests" part of our comparison page [opus-codec.org]. These are all tests that were performed by other folks, independently from us.
Re: (Score:3)
Were they blind tests?
Re:Obligatory (Score:5, Funny)
Re:Obligatory (Score:5, Funny)
We blinded each subject ourselves. Yes we take pride in our work.
Re: (Score:3)
What's it like at high bitrates? I notice the graph on the comparison page ends at 128kbs - personally I prefer my music in 256kbs AAC (iTunes Plus) or in LAME V0 MP3 which is a VBR at around 190-220kbs.
I'd be interested to see (hear?) if this codec is better than AAC or MP3 at high bitrates.
Re:Obligatory (Score:4, Informative)
It is quite decent at high bitrates, however that kind of defeats the point mostly, the point is to be able to get music of similar quality to your 256k aac in less than that, say 192 or less.
With lossy after a point the bitrate stops mattering after it is good enough, otherwise we'd all just encode lossless.
Re: (Score:3)
Re:Obligatory (Score:5, Informative)
what's with the FUD, dude? pre-release Opus was included in the hydrogenaudio listening tests months ago alongside all the relevant (not shit) implementations of HE-AAC. just because it doesn't say "plus" doesn't mean it doesn't include SBR (or PS or any of the other bells and whistles).
SBR is good for perceptual "niceness", but as far as _sounding like the original_ goes, it's often quite harmful. all these things are accounted for with the hydrogenaudio listening tests - they're an extremely anal community and wouldn't dare let prejudice through without a long and protracted flamewar. they're actually very trustworthy.
Re:Obligatory (Score:5, Informative)
aacplus was just the early CT-proprietary version of HE-AAC. They did test against the two best publicly available HE-AAC encoders, which have improved quite a bit since the aacplus days. Opus was better, by a statistically significant margin. [xiph.org]
Opus has band folding, which is in some ways similar to SBR but considerably superior. Halfway down Monty's two-year-old CELT demo page [xiph.org] there's some explanation and a visual of what this looks like on a spectrogram in low-bitrate situations. (Opus used technology from CELT but is considerably improved.)
If you really think HE-AAC type codecs sound like CD at 32kbps and so forth you are extremely insensitive to coding artifacts. Unless you meant mono for all of those.
Re:Obligatory (Score:4, Informative)
Actually, the "AAC" curve in the graph is meant to represent the best of AAC-LC and HE-AAC at a given rate. I agree that wasn't obviousl
Re:Obligatory (Score:4, Insightful)
The point is to be able to use lower bitrates and get the same quality. This is especially useful for things like audio streaming over the internet, where less bandwidth used equals more space for listeners.
Re:Obligatory (Score:4, Interesting)
The point is to be able to use lower bitrates and get the same quality. This is especially useful for things like audio streaming over the internet, where less bandwidth used equals more space for listeners.
For audio streaming over the Internet, it's even more important to gracefully deal with packet loss and packets arriving out of order. You don't want drop-outs and audible artefacts.
This generally means that a format that uses large decoding buffers will lose out.
ABX-testing in perfect listening conditions with zero packet loss and no out-of-order packets is useless if this were the purpose.
As for high-end and local streaming, well, FLAC and other lossless formats are always going to be better than any lossy format, no matter how good they are.
And with today's bandwidth and storage capacities, where 2 TB drives, GbE and 300 Mbps WiFi are standard, there's little point in using lossy compression for audio.
So again, I fail to see the importance of this, unless it is to sneak DRM into music again.
Re: (Score:3)
The point is what it's always been -- streaming audio over the internet. Sure, FLAC is fine for LAN use.
The good: this does (in theory) AAC quality compress, but with much lower latency. A use case: playing music live over the internet. You need high quality, but if the latency is over 1ms, every musician is compensating for the delay already, and if it's over about 10ms, you just can't play together. And since it's music, the quality does matter.
Another good thing, the XKCD cartoon not withstanding, is tha
Re: (Score:3, Insightful)
Short version for you: Microsoft - Skype. Can you figure it out now?
Re: (Score:3)
That is because Opus is still very new and any browser which wants to support WebRTC will need to support Opus, because Opus is mandatory-to-implement (real time communication: think video-streaming and voice calls and lots of other applications. Also includes peer2peer connection support between browsers with NAT-traversal and encryption).
But did you know you can download Skype with one of the two codecs on which Opus is based on and that it also includes WebM video ?
Re:Obligatory (Score:5, Interesting)
What would make an audio codec something worth using that would make you switch?
I would assume that widespread support among major applications would be an issue. You could also throw in the ability to compact an audio stream better than alternatives might be useful in some applications. Simply having content in that codec would be very useful as well.
I would say being patent and license free (aka it can be incorporated into a GPL'd application) would be pretty far down the list, but not needing to pay a licensing fee might make the difference for some marginal applications or for start up groups needing some sort of audio playback where even a few extra dollars in royalties can end up costing more than it is worth (such as is the case for the current MP3 format).
Then again that is sort of what pushed the VHS format over Betamax in the video tape format wars.... small independent producers could mass produce VHS tapes cheaper than the Betamax tapes, and for marginal videos (*cough* porn movies *cough*) that made all of the difference.
The problem here is that audio codecs are pretty entrenched and as you've suggested that even free alternatives are available. Unless there is something substantially different being done by this codec that even a non-techie can notice and suggest that this new algorithm is substantially better, I really have a hard time seeing this being adopted widely. There might be some niche applications if the compression algorithm is even a few percentage points better, such as perhaps a transmission protocol for audio on the Iridium satellites. Something like that may even be useful to have an on the fly codec converter depending on how it is used.
Re:Obligatory (Score:5, Insightful)
"What would make an audio codec something worth using that would make you switch?"
A car stereo that supports it, phones that support it, etc... There is a reason that mp3 is still the king, it can be played on 98,543,221.5 different brand sof devices and another 800 are created that support mp3 every 6 seconds.
Ogg? 5 devices.
Apple's codec? 5 devices.
mp3 will be around for another 10 years simply because I can buy a $0.25 chip and make the toaster my company is making play mp3's.
Re: (Score:3)
Re:Obligatory (Score:4, Informative)
I can play ogg on any of the music-playing devices I have access to. My main music library is ogg. What are you talking about "5 devices"!?
Re: (Score:3)
my 5g ipod with rockbox did between 10 and 11 hours playing -q4 (~128kbps) vorbis last time I tested it, which was really at least 3 years ago, probably better now. I know they've done improvements to the codec implimentation since then.
the same 5g ipod playing similar bitrate MP3, tested around the same time, was better by about 2 hours.
I'm not sure what qualifies as "guzzling", but I doubt I'm ever going to listen to my ipod for more than 11 hours without recharging it, especially considering I keep it pl
Re:Obligatory (Score:4, Informative)
Ogg? 5 devices.
Is this actually true? I've not seen a non-Apple device that didn't support Vorbis...
Re: (Score:3)
Pretty much every browser will probably support Opus, because the IETF WebRTC working group (real time communication like video chat) has made Opus it mandatory to implement for their specification.
As every mobile device, tv and desktop in the near future probably includes a browser... I think many devices will support it.
Re: (Score:3)
>>>produce VHS tapes cheaper than the Betamax tapes, and for marginal videos (*cough* porn movies *cough*) that made all of the difference.
Not sure what you're talking about? There was porn on Betamax. The producers put it on both VHS and Beta, just as they made both Bluray and HD-DVD during the mid-2000s.
Re:Obligatory (Score:4, Interesting)
There is no dominant format at the moment. Music is ogg, mp3, flac and probably a few others. Flac is loosless, so it won't dissapear, but the other two gradualy will.
The html5 <audio> tag hasn't been used much yet, and I'm betting <audio>+Opus will be the one to domainte over current flash-only players (since it seems it'll be the best supported format).
Movies in MKV files are actually container with video streams and audio streams. There's also a small variety of formats used for those audio streams, and maybe Opus catches on. I certainly hope it does.
But the market is fragmented, there's lots of different format being used in different areas. Opus has a lot of giants behind it, if they do their part, Opus support will be better than that of many other formats in the long run, hence users will tend to adopt it, in time.
Re: (Score:3)
In Firefox 15 (the current version) already added support for Opus.
Opus is one of the 2 audio codecs which are mandatory-to-implement if a browser wants to support WebRTC (real time communication: video chat, voip from the browser and all that jazz).
Telco's are following at WebRTC really closely, some see it as an oppertunity. Other probably not.
So your smartphone might be getting support for it soon.
So will your fancy TV in the near future include a browser ? And a webcam (some already do) ? And because of
Re: (Score:3, Insightful)
Using Vorbis as an example, it's actually commonly used in a number of applications (like video games) where they don't want to pay licensing fees for every copy sold. Unfortunately, this doesn't translate very well to consumer usage. People paying for music are getting it in AAC, and people downloading it are getting it in MP3. Transcoding the audio is essentially a loss no matter what.
If Windows, Mac, and Android all began including the codec automatically then you could potentially see quick uptake.
Re: (Score:3)
I would say being patent and license free (aka it can be incorporated into a GPL'd application) would be pretty far down the list
Depends on your application. For an iPod-type device the licence is probably unimportant, but for wide spread support in web browsers, having to get a licence is a big problem.
Then again that is sort of what pushed the VHS format over Betamax in the video tape format wars.... small independent producers could mass produce VHS tapes cheaper than the Betamax tapes, and for marginal videos (*cough* porn movies *cough*) that made all of the difference.
Sony actually refused to grant porn producers a licence to sell Betamax tapes, which is why the porn producers used VHS. So it wasn't about VHS being cheaper, it came down to the fact that they were simply not allowed to use Betamax. Interestingly, when BluRay first appeared (also a Sony format), Sony again refused to licence it to
Re:Obligatory (Score:4, Interesting)
Actually, I belive this one might be the exception. So many mayor players major playes have participated and are standing behing Opus, I can easily see this becoming the dominant codec for loosy audio. It won't displace flac, as flac is looseless, but it will displace oga, mp3, and other major players given time.
I'm pretty sure it'll become the de facto standard in web as well, given the browser support, and HTML5's new <audio> tag.
(I know that XKCD comic is meant to be a joke, but it does actually prefectly reflect what happens with almost every new standard these days)
No Loseless support? (Score:4, Insightful)
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.
Re:No Loseless support? (Score:4, Funny)
Re: (Score:2, Interesting)
FLAC mainly, same reason that is it not replacing codec2 either.
http://www.youtube.com/watch?v=iaAD71h9gDU
Re: (Score:3)
They mention FLAC about 7 minutes into that video for anyone looking for it. They don't say much other than that they aren't trying to replace codecs for lossless (FLAC) or very low bitrate (codec2).
Re:No Loseless support? (Score:5, Funny)
They also left out n-channel support. You get mono or stereo, but that's it. No 7.1 surround encoding. That would have made it the one true codec for everything. That and lossless encoding. The two true codecs for everything.
Oh, and support in the iPhone. That would have made three true codecs. Among the many true codecs... oh bugger, I'll start again.
Re:No Loseless support? (Score:5, Insightful)
Opus has support for up to 255 channels [wikipedia.org]. Indeed, lossless was the most glaring omission, but considering the obsolescence of MP3HD [wikipedia.org], I think they must had good reasons to leave it out.
Re:No Loseless support? (Score:4, Informative)
Despite what the wiki page says, the RFC page states mono or stereo, and indeed the reference source code checks for channels equal to 1 or 2.
if((Fs!=48000&&Fs!=24000&&Fs!=16000&&Fs!=12000&&Fs!=8000)||(channels!=1&&channels!=2)||
(application != OPUS_APPLICATION_VOIP && application != OPUS_APPLICATION_AUDIO
&& application != OPUS_APPLICATION_RESTRICTED_LOWDELAY))
{
if (error)
*error = OPUS_BAD_ARG;
return NULL;
}
I think the 255 reference was probably a left over from the Vorbis definition. It's too bad that multi-channel isn't naively supported, as multiplexing multiple mono or stereo streams will be a bit of a pain.
Re: (Score:2, Informative)
At least it looks like they thought of that and provided some helper code in the reference source. See opus_multistream.c / .h.
Re:No Loseless support? (Score:4, Informative)
Support for more than 2 channels is done at the container level, although the Opus format already has the framing planned. See http://tools.ietf.org/html/draft-terriberry-oggopus [ietf.org] for more details.
Gah. No thats wrong! (Score:3, Informative)
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.
Re:No Loseless support? (Score:4, Funny)
Wh_ re-lly n_eds lo_sl_ss en_od-ng? Yo_ ca_'t ev_n no_ic_ t_e mi_s_ng d_tai_s!
Re: (Score:3, Interesting)
If it isn't built in from the start, multi-channel will never work well.
1. Formats that hasn't been planned for it, will lack stuff like declaring WHAT the channels are. AC3 for instance can have 4-channel left-center-right-back, or 4-channel left-right-leftback-leftright. So just knowing you have 4 channels is USELESS.
2. It will lack optimizations similar to joined-stereo, so you achieve good bit-rates by not encoding the similarities between all the channels over and over again.
Re: (Score:3)
Apple is part of the MPEG LA patent pool. I wouldnt be surprised if they retained their music in formats that support the group than switch to free alternatives.
Re: (Score:2)
Because the specification was recorded on a lossy medium.
Re: (Score:2)
Except surround sound. Or any spatialized content aside from L-R. Or synchronization with video, or any other kind of stream.
Also their list of uses are all streaming/interactive, like teleconferencing; the standard does not specify a recommended container format. Vorbis, FLAC and MP3 all have prescribed at-rest file formats.
Re: (Score:3, Informative)
(comment withdrawn)
Re:No Loseless support? (Score:5, Funny)
File a DMCA take down notice against your comment.
Re:No Loseless support? (Score:5, Informative)
It can support up to 255 channels. The two-channel maximum is per stream. Multiple streams can be packed into single frames, but for >2 channels the mapping and coupling has to be signaled at the container level.
The standard tools available at opus-codec.org use Ogg as a container for "at-rest files," and Firefox, foobar2000, and gstreamer-supporting apps (like Opera on Linux) all play Opus-in-Ogg files. VLC and Rockbox will soon release versions with playback support for these too. Though RTP etc is a primary focus, the "at-rest file" support is ahead of the interactive support at this stage of the game.
A Matroska mapping is still in progress. Most likely, for the time being, Opus files will be predominantly Ogg, while the Matroska mapping will be more important for using Opus with video streams (esp. vp8, improving on the webm vp8+vorbis+matroska combination).
Re:No Loseless support? (Score:5, Informative)
the standard does not specify a recommended container format
See the Opus Ogg mapping [ietf.org] for more details. Of course, if people want to use other containers, we're not a container police.
Re:No Loseless support? (Score:5, Informative)
Re: (Score:3)
To get more than 2 channels you use multiple instances of the codec.
The at rest format of MP3 is the raw stream written to a file, just like Opus.
At least that's what a cursory read suggests.
Re: (Score:3)
A quick look at the graph shows that they stop at 128kbps, which would mean it's a great codec for high-quality real-time audio telephony rather than as a codec to span the spectrum of low end real time to lossless audio.
At least looking at the page - the summary mentions it's the "one codec to rule them all", but the page leads me to believe it's somethi
Re:No Loseless support? (Score:4, Informative)
Testing that things work has been done for all kinds of bitrates (512kbps per stream * multiple streams in a surround encoding). It's just that Opus is transparent to most listeners on most samples before you hit 128kbps for stereo. It's extremely hard to do a worthwhile listening test when only a few listeners can tell even a few of the samples from the original.
Some people at hydrogenaudio.org have reported problem samples which they were able to ABX from the original at up to 160kbps. I haven't personally found any stereo samples I can reliably ABX from the original at above 80kbps.
Of course lossless has its place. You don't want to be doing a lot of decoding lossy files, editing them, and then re-encoding, since you'll get . For similar reasons, rather than transcoding from one lossy format to another it makes sense to keep a lossless master and encode to lossy formats from that. But for listening purposes, Opus is quite capable of being perceptually transparent. [wikipedia.org]
Re:No Loseless support? (Score:5, Informative)
A quick look at the graph shows that they stop at 128kbps, which would mean it's a great codec for high-quality real-time audio telephony rather than as a codec to span the spectrum of low end real time to lossless audio.
The reason the graph stops at 128 kb/s is that things become uninteresting at that point -- because nobody's able to actually tell the difference. With VBR, we've never had anyone report audio not being transparent above 200 kb/s. There's a reason people don't want to organize listening tests at 128 kb/s and (especially) above. It's indeed the case that we don't support lossless. That one is already covered very well by FLAC and there was no point adding completely different algorithms to handle that. Otherwise, Opus can replace MP3/AAC/Vorbis at rates above 128 kb/s too.
Re: (Score:3, Interesting)
I noticed there were no hardware manufacturers of note on the supported list -- are you planning to get chip-based support for Opus (so that it'll be handled transparently by all the phones etc out there, including, say Apple)?
Re:No Loseless support? (Score:5, Interesting)
I don't think silicon support for audio codecs is really useful anymore. Audio codecs have such a low complexity compared to video that modern smartphones can run them really easily.I haven't measured exactly, but I'd say you can probably decode an Opus stream with about 2% CPU on the latest Android phone. Not worth paying for extra silicon.
Re:No Loseless support? (Score:4, Insightful)
Even then, I suspect a heavily power-optimized ARM core might be better than some custom hardware that's designed just for Opus. Keep in mind that any hardware you design will still have a fully programmable core in it, so in the end what you gain by doing more stuff in hardware you lose by not having your chip nearly as optimized as a more general-purpose CPU.
Re:No Loseless support? (Score:5, Informative)
What Monty mostly regretted were some decisions that caused a large increase in the amount of *RAM* required. We were actually careful about that. Another improvement compared to Vorbis is that we don't have these codebooks that you need to carry in the headers. This means you can join an ongoing Opus stream with no signalling whatsoever.
Re:No Loseless support? (Score:5, Funny)
One Codec to rule them all
Once Codec to find them
Once Codec to bring them all
And in the RIAA's darkness bind them
Re: (Score:3, Funny)
One Codec to rule them all
Once Codec to find them
Once Codec to bring them all
And in the RIAA's darkness bind them
In the land of Hollywood, where the money lies.
Re: (Score:3, Informative)
Lossless isn't audio encoding; it's data compression like Lempel-Ziv 77 and so on.
Support for such a thing would mean that Opus is not a codec, but a container/stream format which multiplexes completely different compression algorithms.
Those, we probably don't need any more of.
Re:No Loseless support? (Score:5, Interesting)
Actually generic data compression algorithms don't work very well on audio files. Lossless audio codecs like ALAC and FLAC do waveform analysis and "know more" about the nature of audio files so that they can be compressed more than your typical compression algorithm like gzip would do.
Re: (Score:3)
Opus?!? (Score:5, Funny)
What's wrong with Bill the Cat?
Re:Opus?!? (Score:5, Funny)
Transmission reliability problems. Even when a packet got lost, it would still ACK.
Re: (Score:2)
What's wrong with Bill the Cat?
Maybe that's what they'll name the video codec they just started working on?
Patents (Score:5, Insightful)
Re: (Score:2)
Cue MPEG-LA calling for a patent portfolio to be created and licensed for hard cash, under their gracious auspices, of course.
File patent-troll suits proactively, a-la-The Minority Report, "Our mutants predict you will be violating our property rights in 5 years, so you can start paying now."
Re: (Score:2)
It's a trap! [opus-codec.org] A prenup and a restraining order have more teeth.
Re: (Score:3)
I imagine about 5 minutes. The only reason it took this long to get here is that Opus had to be careful not to step on a landmine.
Sorry, nope. (Score:3)
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.
Re:Sorry, nope. (Score:5, Interesting)
Bitrates below 16 kb/s are irrelevant on the Internet. Just the overhead (IP+UDP+RTP headers) of sending packets every 20 ms is 16 kb/s. At that point, you might as well transmit some real quality.
Re:Sorry, nope. (Score:4, Informative)
What?? (Score:4, Informative)
"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 [opus-codec.org] if you want more details, keeping in mind that the Opus encoder has continued to improve in the year since those studies were done.
It's awesome (Score:5, Interesting)
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.
Re:It's awesome (Score:4, Insightful)
Umm, no. The more subtle the difference, the better hearing you need to be able to resolve an AXB comparison. (Is sample X equivalent to A, or equivalent to B).
If you can hear a difference with poor hearing, then it must be substantial.
Many people missing the point: HTML5, VOIP, etc (Score:5, Informative)
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.
Re:Many people missing the point: HTML5, VOIP, etc (Score:5, Informative)
No. You're confusing transmission latency with algorithmic latency. If you're encoding music to store on an mp3 player, the format can use larger transform windows (usually MDCT) and other methods which mean the encoder looks at a larger number of samples before sending any output and the decoder has to read a larger amount of data before outputting any audio.
For codecs like mp3, AAC, etc, even if you had an infinitely fast computer and infinitely fast transmission, adding an encoder and decoder between the recording and the playback adds ~200ms of latency. That's fine for storing files on an mp3 player but totally unacceptable for real-time communication. Opus, by default, has 20ms of algorithmic latency, and it can be configured to go as low as 2.5ms.
Re:Many people missing the point: HTML5, VOIP, etc (Score:4, Informative)
No, he is using them correctly, referring to the application, not the medium.
Music playback doesn't require low latency; it doesn't matter if there is a 500ms delay between when you press the play button and you hear the music. Because of this data is encoded in (relatively) large blocks to allow for as much compression as possible.
VoIP on the otherhand does require low latency (100ms max). Otherwise it is very difficult to carry on a conversation because otherwise if you were to speak during a silence, it may not still be silent when the signal gets to when the other person, so you constantly talk over one another. The other potential application, live interactive music, requires even lower latency for musicians to keep in sync with each other. For this reason Opus is designed to encode in small blocks of data to obtain better latency.
Re: (Score:3)
Music playback doesn't require low latency; it doesn't matter if the music player has to process 500ms of audio before you hear the music.
FTFY, a fast CPU won't necessarily take 500ms to decode the first 500ms of audio, but since it already has all of the audio data it can take as long as it needs to. I know that's almost uselessly pedantic. The best kind of pedantic.
Codec latency, not network latency (Score:5, Informative)
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.
Re:Many people missing the point: HTML5, VOIP, etc (Score:4, Insightful)
Great but if there are no ASICs to decode it it will never be used in music players.
Did you forget that a "music player" these days is actually a phone with four processors running at 1Ghz+ ?
Getting it right the second time! (Score:5, Interesting)
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!
It fills a needed niche (Score:5, Informative)
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.
Re: (Score:3)
My understanding was that this was a pretty big issue with OGG compared to MP3. I had one of the few MP3 players at the time (~2006 or so) that supported OGG and OGG playback drained the battery noticeably faster than MP3 playback. Here's to hoping they got that part right this time.
Re:Getting it right the second time! (Score:5, Informative)
there is test code, but I didn't see sample code explicitly.
Well, we have code snippets for the encoder [xiph.org] and the decoder [xiph.org]. Otherwise, there's always the code for opus_demo.c and opusenc.c/opusdec.c. Let me know what you think is missing and we can try improving that.
One Codec (Score:2)
Nice (Score:2)
Some indications that it's not "Fully Free" ...yet (Score:5, Informative)
Re:Some indications that it's not "Fully Free" ... (Score:5, Interesting)
I asked Qualcom if they'd consider changing their declaration to royalty-free. I don't know anyone at Huawei.
Re: (Score:3, Informative)
Re:Some indications that it's not "Fully Free" ... (Score:4, Insightful)
Re: (Score:3)
Opus covers everything?!? (Score:3)
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/ [codec2.org] but from what I see it just sounds like a new ogg vorbis which is useful through a wider range of bitrates.
Re:Oh boy! (Score:5, Insightful)
Re:Oh boy! (Score:5, Funny)
Pffft, you say ordinary diamonds. real audiophiles only listen to BLUE diamonds that were polished on the thighs of virgins.
Re: (Score:2)
It's 2012, we have the bandwidth and storage to go to lossless.
Not in wireless spectrum, especially if you are not the only radio. Far from it, actually.
Re: (Score:3)
"It's 2012, we have the bandwidth and storage to go to lossless."
maybe in your fancy country there in europe and its 100Mbps to the home. But the united states is a 3rd world country when internet bandwidth is concerned.. Most americans are lucky to get 5mbps with low latency.
Re: (Score:3)
Last I checked, APT-X was not lossless (you can't be lossless and guarantee a compression ratio). Also, the only time I saw a comparison between APT-X and Opus, Opus was actually winning hands down. APT-X claims compression ratios of 4:1 (so 384 kb/s for 48 kHz stereo). Opus is already transparent long before that. I've never had anyone telling us he could hear any kind of artefact whatsoever above 200 kb/s VBR). Usually, 128 kb/s (12:1) is transparent for the vast majority of content and listeners (yes, th