Opus
INTERACTIVE AUDIO VOCODER
The Opus format is based on the low-latency CELT format and the speech-oriented SILK format
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.| Function | Program Mem | Data Mem | Scratch Mem | Channel Data Mem |
| Encode | Max: 100000 or call function OPUS_ADT_getEncScratchSize() | 41062 (1 channel) 45764 (2 channels) |
||
| Decode | Max: 100000 or call function OPUS_ADT_getDecScratchSize() | 17964 (1 channel) 26684 (2 channels) |
||
| Encode/Decode | 311K | 25K |
Opus Arm Cortex-A8/A9/A15
CPU Utilization| Function | VBR | FEC | DTX | Complexity | Bit Rate (kbps) | Frame Size (ms) | Sampling Rate (kHz) | MIPS* |
| Wideband Silk Encoder | off | On | off | 3 | 25 | 10 | 16 | 38 |
| Wideband Silk Encoder | On | On | off | 3 | 25 | 10 | 16 | 26 |
| Fullband Celt Decoder | off | off | off | 3 | 64 | 10 | Input: 48 Output: 16 | 11 |
| Fullband Hybrid | off | off | off | 3 | 64 | 10 | Input: 48 Output: 16 | 15 |
Opus Arm Cortex-M4/M7
Memory requirements in units of byte.| Function | Program Mem | Data Mem |
| Encode/Decode | 311K | 25K |
Opus ARM Cortex-M4/M7 Super Wideband (SWB)
CPU Utilization*| VBR | Complexity | Bit Rate (kbps) | Frame Size (ms) | MIPS* | |
| SWB CELT Encoder | off | 0 – 10 | 48 | 10 | 31-57 |
| SWB CELT Decoder | off | 0 – 10 | 48 | 10 | 23 |
| SWB CELT Encoder | off | 0 – 10 | 64 | 10 | 33-59 |
| SWB CELT Decoder | off | 0 – 10 | 64 | 10 | 23 |
Opus ARM Cortex-M4/M7 Wideband (WB)
CPU Utilization*| VBR | Complexity | Bit Rate (kbps) | Frame Size (ms) | MIPS* | |
| WB CELT Encoder | off | 0 – 10 | 24 | 10 | 26-48 |
| WB CELT Decoder | off | 0 – 10 | 24 | 10 | 21 |
| WB CELT Encoder | off | 0 – 10 | 48 | 10 | 27-49 |
| WB CELT Decoder | off | 0 – 10 | 48 | 10 | 21 |
| WB CELT Encoder | off | 0 – 10 | 64 | 10 | 28-49 |
| WB CELT Decoder | off | 0 – 10 | 64 | 10 | 21 |
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()
