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.