Speex

Audio Speech Compression

Sampling Rate: Narrowband (8 kHz), wideband (16 kHz), and ultra-wideband (32 kHz) compression in the same bitstream.

Features List

  • Perceptual Enhancement
  • Packet loss concealment
  • Constant, Average, and Variable bitrate operation
  • Configurable complexity AND quality enables user to trade off between CPU utilization and voice quality
  • Wide variety of user-specified bit rates
  • Voice Activity Detection (VAD)
  • Discontinuous Transmission (DTX)

Availability

Platforms
Arm ® Devices – Cortex-A8 / A9 / A15 (Armv7-A, Armv8-A, Armv9-A) | Cortex-M4 || *Legacy – Cortex-M3/ARM9E/ARM11
Texas Instruments – TI TMS320C6000 C64x / C64x+/ C66x, C674x
Win32 LIB / DLL
Linux i686

ADT Speex 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.

↓  Click on links below to view specification tables. 

ARM Cortex-A8/A9/A15 Memory

MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionProgram MemoryData MemoryScratch
Encode152K12K32096
Decode16096

Speex ARM Cortex-A8/A9/A15

Narrowband Mode (8 Khz) CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
1010246001165
10424600655
4108000724
448000414

Speex ARM Cortex-A8/A9/A15

Wideband Mode (16 Khz) CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
10104240029813
1044240015313
4101280012911
44128007211

Speex ARM Cortex-A8/A9/A15

Ultra-Wideband Mode CPU Requirements (32 Khz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
10104400031125
1044400016625
4102237513624
44223758624


Speex Arm Cortex-M4

MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionProgram MemoryData MemoryTablesScratch
Encode152K12K1925632096
Decode16096

Speex NB Arm Cortex-M4

Narrowband Mode CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
101024600193.86.05
1042460085.45.95
410800099.953.5
44800059.25.3

Speex WB Speex Arm Cortex-M4

Wideband Mode CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
101042400371.114.6
10442400167.914.5
41012800153.213
44128008812.9

Speex Ultra-WB Arm Cortex-M4

Ultra-Wideband Mode CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
101044000387.928.1
10444000184.228.2
41022375193.427
4422375106.526.9

Speex C674x / C64x / C64x+ / C66x Memory

MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionProgram MemoryData MemoryTablesScratch
Encode170K15081925664080
Decode32080

– PER CHANNEL
All memory requirements are in units of byte.

ModeEncoderDecoder
Narrowband64615773
Wideband77096840
Ultra-Wideband91178067

Speex C674x / C64x / C64x+ / C66x

Narrowband Mode CPU Requirements (MIPS = MHz)
CurrentTarget
QualityComplexityBit RateEncode MIPSDecode MIPSEncode MIPSDecode MIPS
1010246001758.3583
10424600698.3233
4108000757.5253
448000427.5143

Speex C674x / C64x / C64x+ / C66x

Wideband Mode CPU Requirements (MIPS = MHz)
CurrentTarget
QualityComplexityBit RateEncode MIPSDecode MIPSEncode MIPSDecode MIPS
101042400363141214
1044240015614524
4101280012914434
44128007114234

Speex C674x / C64x / C64x+ / C66x

Ultra-Wideband Mode CPU Requirements (MIPS = MHz)
CurrentTarget
QualityComplexityBit RateEncode MIPSDecode MIPSEncode MIPSDecode MIPS
101044000375231258
1044400016723558
4102237516422558
44223758522288

Speex Win 32 (Dll and static lib)

Narrowband Mode CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
101024600130.362.65
1042460047.543.15
410800053.172.65
44800029.822.32

Win 32 (Dll and static lib)

Wideband Mode CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
101024600266.359.61
10424600109.457.45
410800091.105.80
44800047.046.63

Speex Win 32 (Dll and static lib)

Ultra-Wideband Mode CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
101044000270.6612.59
10444000117.4411.59
41022375120.5915.4
442237560.1319.05

MEMORY REQUIREMENTS
All Memory usage is given in units of byte.

FunctionProgram MemoryData MemoryScratch
Encode66K12K32096
Decode16096

Speex i686 Memory

MEMORY REQUIREMENTS
All Memory usage is given in units of byte.
FunctionProgram MemoryData MemoryScratch
Encode152K12K32096
Decode16096

Speex i686

Narrowband Mode CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
10102460086.72.55
1042460032.32.38
410800035.022.04
44800019.722.04

Speex i686

Wideband Mode (16 Khz) CPU Requirements (MIPS = MHz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
101042400182.95.95
1044240073.445.44
4101280059.53.74
441280031.94.08

Speex i686

Ultra-Wideband Mode CPU Requirements (32 Khz)
Current
QualityComplexityBit RateEncode MIPSDecode MIPS
101044000182.98.33
1044400079.78.0
4102237579.910.2
442237538.29.86

Description

Speex is an audio compression format specifically tuned for the reproduction of human speech. It is a flexible speech compression algorithm that can be used in a wide variety of voice applications including Voice Over IP (VoIP).  Since Speex was designed for VoIP instead of cell phone use, the codec must be robust to lost packets.

The features listed above are included in the Speex codec. These features can be configured by the
host application.

Function API's​

API function call summary

SPEEX_ADT_initEncoder()

SPEEX_ADT_initDecoder()

SPEEX_ADT_encode()

SPEEX_ADT_decode()

SPEEX_ADT_deleteEncoder()

SPEEX_ADT_deleteDecoder()

SPEEX_ADT_getStatus()

Translate »