Opus development


Development chat takes place on #opus on irc.libera.chat. (→ Webchat)

The Xiph.Org wiki has an Opus Todo page, and the IETF Codec WG page has list archives, meeting minutes, and technical presentation. Monty’s CELT demo page provides a broad overview of the MDCT layer of Opus.


If you wish to contribute to Opus, see the Opus contributing wiki page for more information.

Source code repository

travis-ci.org build status for Opus appveyor (windows) build status for opus

Master git repository:

$ git clone https://gitlab.xiph.org/xiph/opus.git

There is also a mirror at GitHub.

See the documentation for an API reference and test vectors for verifying your implementation.


GitLab pipeline status for opus-tools travis-ci.org build status for opus-tools appveyor (windows) build status for opus-tools

Opus-tools includes a set of tools for encoding/decoding Opus to and from wav. The files the tools produce are suitable for distribution with support for seeking, metadata, and multichannel. See also: the OggOpus mapping.

$ git clone https://gitlab.xiph.org/xiph/opus-tools.git

Manpages: opusenc, opusdec, opusinfo, opusrtp


travis-ci.org build status for opusfile appveyor (windows) build status for opusfile

Opusfile provides a high-level API for decoding and seeking within .opus files similar to what libvorbisfile provides for Vorbis.

$ git clone https://gitlab.xiph.org/xiph/opusfile.git


travis-ci.org build status for libopusenc

Libopusenc provides a high-level API for creating .opus files and streams.

$ git clone https://gitlab.xiph.org/xiph/libopusenc.git

Continuous integration

The Opus continuous integration server performs automated builds and tests of Opus on many platforms and configurations. Some of the builds run on remote systems and may fail from time to time due to connectivity problems. The console output is available and usually very informative when builds fail.

Build status for the Github mirrors and test results for pull requests there are provided by Travis and AppVeyor.