Opus Interactive Audio Codec


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.


  • Version 1.1.3 released

    15 July, 2016

    This Opus 1.1.3 release focuses mainly on optimizations and bug fixes. Changes include:

    • Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%
    • Fixes some issues with 16-bit platforms (e.g. TI C55x)
    • Fixes to comfort noise generation (CNG)
    • Documenting that PLC packets can also be 2 bytes
    • Includes experimental ambisonics work (--enable-ambisonics)
    The code is available from the downloads page.

  • Version 1.1.2 released

    12 January, 2016

    This Opus 1.1.2 release fixes two bugs:

    • Resetting the encoder or decoder state with OPUS_RESET_STATE would disable some run-time selected architecture-specific optimizations; and
    • In hybrid mode discontinuous transmission (DTX) operation, the comfort noise above 8 kHz was incorrectly estimated and could oscillate in time.
    None of these bugs were regressions over previous releases. The code is available from the downloads page.

  • Version 1.1.1 released

    26 November, 2015

    This Opus 1.1.1 release brings many optimizations to the encoder and decoder, including:

    • x86 SSE, SSE2 and SSE4.1 intrinsics optimizations with run-time CPU detection contributed by Cisco Systems,
    • MIPS intrinsics optimizations contributed by Imagination Technologies,
    • ARM Neon optimizations contributed by Linaro and ARM,
    • many architecture-independent optimizations and memory footprint reductions that should improve performance on all platforms, and
    • several minor bug fixes.
    The quality of the encoder should be mostly unchanged compared to version 1.1. The code is available from the downloads page.

  • Older News