Opus API reference (Doxygen)
Opusfile API reference (doxygen)
Official Opus codec RFC
HTML, PDF, TXT Latest Opus RTP draft
HTML, PDF, TXT Latest OggOpus container draft
HTML, PDF, TXT
Test files to verify that the Opus decoders are operating properly.
The .opus test set is an in-development larger test suite for .opus files.
These are suitable for testing opusdec and other media-player software.
Files prefixed with 'broken' and 'failure' are intentionally malformed and at least the latter should be rejected.
Note that these files are designed to exercise all aspects of an implementation, the fact that they sound terrible is an intended consequence.
Beyond the RFC itself, there are a several documents out there that describe Opus or parts of Opus. Not everything in them applies to the final version of Opus, but they should still be useful to those who want to understand how Opus works. For an overview of the codec, see the linux.conf.au 2012 Opus presentation. For historical reasons, most of the information on the algorithmic details is specific to either SILK or CELT.
The most accessible descriptions of CELT are probaly Monty's CELT demo. You can also see Tim Terriberry's linux.conf.au 2009 CELT presentation. Those with a signal processing background can also read two papers that were published on CELT:
- J.-M. Valin, T. B. Terriberry, C. Montgomery, G. Maxwell, A High-Quality Speech and Audio Codec With Less Than 10 ms delay, IEEE Transactions on Audio, Speech and Language Processing, Vol. 18, No. 1, pp. 58-67, 2010.
- J.-M. Valin, T. B. Terriberry, G. Maxwell, A Full-Bandwidth Audio Codec with Low Complexity and Very Low Delay, Proc. EUSIPCO, 2009.
Paper 1 describes CELT version 0.3.2, while paper 2 applies to 0.5.2. The main things that changed since these papers were written are the pitch prediction/filtering and the birdie avoidance method.