Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive
speech and music transmission over the Internet, but is also intended for storage and streaming
applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716
which incorporated technology from Skype’s SILK codec and Xiph.Org’s CELT codec.
Opus can handle a wide range of audio applications, including Voice over IP, videoconferencing,
in-game chat, and even remote live music performances. It can scale from low bitrate narrowband
speech to very high quality stereo music. Supported features are:
Bitrates from 6 kb/s to 510 kb/s
Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
Frame sizes from 2.5 ms to 60 ms
Support for both constant bitrate (CBR) and variable bitrate (VBR)
Audio bandwidth from narrowband to fullband
Support for speech and music
Support for mono and stereo
Support for up to 255 channels (multistream frames)
Dynamically adjustable bitrate, audio bandwidth, and frame size
Good loss robustness and packet loss concealment (PLC)
Floating point and fixed-point implementation
You can read the full specification, including the reference implementation, in RFC 6716.
An up-to-date implementation of the Opus standard is also available from the downloads page.
This Opus 1.3-beta beta release
of the upcoming Opus 1.3 includes:
Enabling by default the spec fixes in RFC 8251
Improvements to the VAD and speech/music classification using an RNN
Improvements to stereo speech coding at low bitrate
Added support for ambisonics projection using mapping 3 (disabled by default)
Fixes to the CELT PLC
Additionally, as a way to test the upcoming update to opus-tools, we’re providing Windows binaries
built with 1.3-beta. These binaries are based on libopusenc, which means opusenc is finally able
to make use of the Opus delayed-decision feature to make better speech/music transitions.
This Opus 1.2.1 minor release fixes a relatively rare
issue where the 1.2 encoder would wrongly assume a signal to be bandlimited to 12 kHz and not encode frequencies
between 12 and 20 kHz. This only happens on a few clips, but it is good to update to avoid a potential
loss of quality.
There are no other changes compared to 1.2. Please report any problems.