Opus

INTERACTIVE AUDIO VOCODER

The Opus format is based on the low-latency CELT format and the speech-oriented SILK format

dreamstime_l_36593015

Features List

  • Bit-rates from 6 kb/s to 510 kb/s
  • Frame sizes from 2.5 ms to 60 ms
  • Support for both constant bit-rate (CBR) and variable bit-rate (VBR)
  • Audio bandwidth from narrowband to fullband
  • Support for speech and music
  • Dynamically adjustable bitrate, audio bandwidth, and frame size
  • Good loss robustness and packet loss concealment (PLC)
  • Floating point and fixed-point implementation

Availability

Platforms
Arm ® Devices – Cortex-A8 / A9 / A15 || Upward compatibility Armv8A

ADT Opus is available on the above Platforms: Other configurations are available upon request.

Specifications

NOTE: We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.

Opus Arm Cortex-A8/A9/A15

Memory requirements in units of byte.
FunctionProgram MemData MemScratch MemChannel Data Mem
EncodeMax: 100000 or call function OPUS_ADT_getEncScratchSize()41062 (1 channel)
45764 (2 channels)
DecodeMax: 100000 or call function
OPUS_ADT_getDecScratchSize()
17964 (1 channel)
26684 (2 channels)
Encode/Decode311K25K

Opus Arm Cortex-A8/A9/A15

CPU Utilization
FunctionVBRFECDTXComplexityBit Rate
(kbps)
Frame Size
(ms)
Sampling Rate
(kHz)
MIPS*
Wideband Silk EncoderoffOnoff325101638
Wideband Silk EncoderOnOnoff3
25
101626
Fullband Celt Decoderoffoffoff36410Input: 48 Output: 1611
Fullband Hybridoffoffoff36410Input: 48 Output: 1615

Opus Arm Cortex-M4/M7

Memory requirements in units of byte.
FunctionProgram MemData Mem
Encode/Decode311K25K

Opus ARM Cortex-M4/M7 Super Wideband (SWB)

CPU Utilization*
VBRComplexityBit Rate (kbps)Frame Size (ms)MIPS*
SWB CELT Encoderoff0 – 10481031-57
SWB CELT Decoderoff0 – 10481023
SWB CELT Encoderoff0 – 10641033-59
SWB CELT Decoderoff0 – 10641023

Opus ARM Cortex-M4/M7 Wideband (WB)

CPU Utilization*
VBRComplexityBit Rate (kbps)Frame Size (ms)MIPS*
WB CELT Encoderoff0 – 10241026-48
WB CELT Decoderoff0 – 10241021
WB CELT Encoderoff0 – 10481027-49
WB CELT Decoderoff0 – 10481021
WB CELT Encoderoff0 – 10641028-49
WB CELT Decoderoff0 – 10641021

Sampling Rates from 8 kHz to 48 kHz.

Description

Opus is a lossy audio coding format developed by the Internet Engineering Task Force (IETF) that is particularly suitable for interactive real-time applications over the Internet.

Opus incorporates technology from two other audio coding formats: the speech-oriented SILK and the low-latency Constrained Energy Lapped Transform (CELT) codec. Opus can be adjusted seamlessly between high and low , and internally, it transitions between linear predictive coding at lower bitrates and transform coding at higher bitrates (as well as a hybrid for a short overlap). Opus has a very low algorithmic delay (22.5 ms by default), which is a necessity for use as part of a low audio latency communication link, which permits natural conversation.

Function APIs

API function call summary

Opus_ADT_initEncoder()

Opus_ADT_initDecoder()

Opus_ADT_encode()

Opus_ADT_decode()

Opus_ADT_deleteEncoder()

Opus_ADT_deleteDecoder()

Opus_ADT_getStatus()

Translate »