GSM AMR | AMR-NB

Adaptive Multi-Rate Narrowband G.722.2 speech codec

AMR includes Voice Activity Detection (VAD) and Discontinuous Transmission (DTX.

Global Telecom Business

Features List

  • Functions are C-callable

  • Multiple channel capable

  • Complies with ETSI test vectors (bit-exact)

  • Can be integrated with echo cancellers, and tone detection/regeneration

GSM AMR or AMR-NB (Narrowband) is an adaptive multi-rate speech coder that has been standardized for use in Third Generation Partnership Project (3GPP) mobile telephony.   It provides toll quality speech starting at 7.4 kbps, with near-toll quality and better robustness at lower rates.  AMR is the only narrowband (200–3400 Hz) speech codec offering eight different bit rates ranging from 4.75 to 12.2 kbit/s that can be adapted according to network congestion.  GSM AMR  provides toll quality speech starting at 7.4 kbps, with near-toll quality and better robustness at lower rates.The coder uses algebraic code excited linear prediction (ACELP) as the compression method. 

AMR also includes Voice Activity Detection (VAD) and Discontinuous Transmission (DTX) as an added way to save bandwidth by sending fewer bits per second when the user is not speaking.

Coding Rate: 12.2, 10.2, 7.95, 7.40, 6.7, 5.9, 5.15, and 4.75 kbps

Sampling Rate: 8 kHz

Delay: 20 milliseconds 

Copy of Availability

Platforms
Arm ® Devices – Armv7-A | Armv8-A | Armv9-A || Armv7-M | Armv8-M || Legacy Arm9E / Arm11
Texas Instruments – TI TMS320C7000 C7x, TMS320C6000 C64x/C64x+/C66x, TMS320C5000 C55x
MIPS32® 24KE™

ADT GSM AMR 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. 

Note: All CPU usage given in MIPS (also known as MCPS or MHz)

GSM-AMR Armv7-A (Cortex-A8/A9/A15)

Memory usage is given in units of bytes.
FunctionProgram MemoryData MemoryScratch MemoryPer Channel Data Memory
Encode92802280
Decode13921240
Encode/Decode145K32K106723520

MIPS – CPU Utilization

bit rates (kbps)4.755.155.96.77.47.9510.212.2
Encode7055627570737579
Decode1413131413131313
Encode/Decode8468758983868892

GSM-AMR Armv8-A / Armv9-A (Neoverse N2)

MIPS – CPU Utilization
bit rates (kbps)4.755.155.96.77.47.9510.212.2
Encode5745515956605863
Decode88888888
Encode/Decode6553596764686671

GSM-AMR Cortex-M4/M7

Memory usage is given in units of byte.
FunctionProgram MemoryData MemoryScratch MemoryPer Channel Data Memory
Encode582148
Decode82200
Encode/Decode66102 kbites33 kbites3.3 kbites

GSM-AMR Armv8-M Cortex-M33/M35 – Estimate

Memory usage is given in units of byte.
FunctionProgram MemoryData MemoryScratch MemoryPer Channel Data Memory
Encode81.22148
Decode11.22200
Encode/Decode92.4102 kbites33 kbites3.3 kbites

Note: All CPU usage given in MIPS (also known as MCPS or MHz)

GSM-AMR C64x+/C66x | C7x

CPU Utilization & Memory Requirements
All Memory usage is given in units of bytes.
SoftwareMIPS (Peak) *Program MemoryData MemoryPer-Channel Data MemoryScratch Memory
Encoder (Vad1)13.1787723115819929280
Encoder (Vad2)13.1797003188020649280
Decoder2.8383323198812321392
Encoder (Vad1) & Decoder15.910972432172322410672
Encoder (Vad2) & Decoder15.911065232892329610672

GSM-AMR C64x

CPU Utilization & Memory Requirements
All Memory usage is given in units of bytes.
SoftwareMIPS (Peak) *Program MemoryData MemoryPer-Channel Data MemoryScratch Memory
Encoder (Vad1)131076683115819929360
Encoder (Vad2)13.11081483188020649360
Decoder2.7533083198812321392
Encoder (Vad1) & Decoder15.715055632172322410752
Encoder (Vad2) & Decoder15.715103632892329610752

GSM-AMR C55x

CPU Utilization & Memory Requirements
All Memory usage is given in units of bytes.
SoftwareMIPS (Peak)Program MemoryData MemoryPer-Channel Data MemoryScratch Memory
Encoder17.1377822836419966424
Decoder2.6198402895213161200

GSM-AMR C54x

CPU Utilization & Memory Requirements
All Memory usage is given in units of bytes.
SoftwareMIPS (Peak)Program MemoryData MemoryPer-Channel Data MemoryScratch Memory
Encoder18.8195911672510225065
Decoder2.3816413604650868
Encoder/Decoder21.1259491619116365065

Note: All CPU usage given in MIPS (also known as MCPS or MHz)

GSM AMR-NB MIPS32 24KE

MIPS – CPU Utilization
bit rates (kbps)4.755.155.96.77.47.9510.212.2
Encode40.735.841.952.748.852.951.756.14
Decode13.810.611.49.68.59.87.88.6
Encode/Decode54.546.453.362.357.362.759.564.74

Memory usage is given in units of byte.

FunctionProgram MemoryData MemoryScratch MemoryPer Channel Data Memory
Encode582148
Decode82200
Encode/Decode66102 K33 K3.4 K

Description

The GSM AMR coder supports eight bit rates: 12.2, 10.2, 7.95, 7.40, 6.7, 5.9, 5.15, and 4.75 kbps. The coder uses algebraic code excited linear prediction (ACELP) as the compression method. AMR also includes Voice Activity Detection (VAD) and Discontinuous Transmission (DTX) as an added way to save bandwidth by sending fewer bits per second when the user is not speaking.

Translate »