The Opus Codec: New, Free and Open Source

There’s a new codec in town and it sounds good. Developed by a collaboration of the Internet Engineering Task Force, Mozilla, Microsoft (through Skype), Xiph.Org, Octasic, Broadcom and Google, it’s called Opus, it’s free and it carries no licensing costs.

We’ve seen the problems that stem from having competing proprietary codecs — the bits of software that play music, sound effects or speech from binary. Codec is simply shorthand for coder/decoder (like “modem” stands for modulator/demodulator). A codec simply converts binary data to music, sound or speech, and vice versa.

For online games, codecs and sound/music support can be a bit of a pain. Browser X supports, say, MP3 while Browser Y supports AAC, and Browser Z (OK, Firefox!) supports Vorbis. If you’re an HTML5 game developer, you’ve had to decide which audio codec to support or provide multiple versions of audio files and write code that detects the browser. (See my post on JavaScript and Browser Support here.)

What Opus Does

With Opus, you can encode or decode compatible streams for any purpose at no cost. The reference Opus encoder and decoder can be included in any application, program or product, even commercially, again at no cost.

Heck, you can even create your own compatible implementations of the Opus specification and give them away or sell them. It’s free so long as you don’t try to exert patent claims against anyone else using it.

All that aside, what makes Opus so good? It’s versatile with both constant or variable bit rates from 6kb/s to 510 kb/s, has varying sampling rates, supports mono, stereo and speech and music. Oh, and it can deal with up to 255 channels at once.

Browser support should be good given the involvement of Google and Microsoft, and let’s hope that Apple and Opera come onboard as well.

The Opus website includes free source code for many platforms, including iOS. Firefox 15 already supports it.

Of course, not everyone’s happy. Qualcomm and Huawei have grumbled that the Opus codec infringes their patents. Opus’s developers (two of whom are employed by Mozilla) have checked the claims and say they don’t apply. (Remember those company’s names the next time they try to tell you how innovative they are. Ask why they’re trying to make a fast buck from open source.)

Related Links