SPEEX

CODEC OVERVIEW

Speex was developed as an open source standard in the year 2003. The codec operates on each 20 ms frame of 6-bit PCM speech signals sampled at 8 KHz, 16 KHz, or 32 KHz and generates a compressed bit-stream having bit-rates in the range of 2.15 kbps to 42.2 kbps respectively. Speex is based on Code Excited Linear Prediction (CELP) algorithm. The encoder provides an option of selecting the bit-rate using the quality index (varying from 0 – 10) and the degree of codebook search using the complexity index (varying from 0 – 10). The recommended complexity index is between 2 and 4. The decoder supports packet loss concealment and provides an option to generate either narrow band (8 KHz) or wide-band (16 KHz) speech output. Speex is designed for packet networks and voice over IP (VoIP) applications.

SALIENT FEATURES
  • Based on Speex open-source standard version 1.2rc1.
  • Fixed-point ANSI C implementation.
  • Re-entrant implementation.
  • C-callable APIs.
  • Operates on 20ms frame size.
  • Operates on speech signals sampled at 16KHz or 8 KHz.
  • Supports bit-rates 2.15, 3.95, 5.95, 8, 11, 15, 18.2, and 24.6 kbps in narrow band (8 KHz) mode.
  • Supports bit-rates 3.95, 5.75, 7.75, 9.8, 12.8, 16.8, 20.6, 23.8, 27.8, 34.2, and 42.2 kbps in wide band. (16 KHz) mode.
  • Supports configuring the complexity level at init-time.
  • Supports configuring the quality or bit-rate at init-time.
  • Supports integrated Packet Loss Concealment (PLC) algorithm.
  • Optional support for xDM APIs for TI implementations.
TESTING FEATURES
  • Tested for bit-exactness with standard as well as a large database of non-standard test vectors.
  • Module is fully interruptible.
  • ARM implementation tested for any illegal memory access.
  • Tested for compliance with register preservation requirements
  • Tested for Input buffer corruption
  • Tested for I/O buffer alignment requirements
  • Tested for multi-instance implementation
  • Tested for 100% code coverage
  • Range validation for all the API parameters
  • Tested with scratch contamination at frame boundaries
  • Tested for packet loss conditions with 5% loss to 25% loss
  • ARM implementation validated on OMAP3530 (Cortex-A8) and DM6446/DM6467 (ARM926EJ-S) platforms.
  • C55x implementation validated on C5510 and C5505 platforms.
AVAILABLE PLATFORM(S)

ARM9E, ARM11, Cortex-A8, Cortex-A9, TI C64x+, TI C66x, and TI C55x.

For resource requirements & other details