GSM AMR
Adaptive Multi-Rate speech code
GSM AMR Codec is an adaptive multi-rate speech coder that has been standardized for use in the third gen (3G) mobile telephony.
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
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
Availability
Platforms
Arm ® Devices – Cortex A8 / A9 / A15 || Armv8 Cortex-A53 / A57 | A72 / A73 || Legacy Arm9E / Arm11
Texas Instruments – TI TMS320C6000 C64x/C64x+/C66x, TMS320C5000 C55x
ADT GSM AMR is available on the above Platforms: Other configurations are available upon request.
Specifications
Note: All CPU usage given in MIPS (also known as MCPS or MHz)
GSM-AMR C64x+/C66x
CPU Utilization & Memory RequirementsAll Memory usage is given in units of bytes.
| Software | MIPS (Peak) * | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| Encoder (Vad1) | 13.1 | 78772 | 31158 | 1992 | 9280 |
| Encoder (Vad2) | 13.1 | 79700 | 31880 | 2064 | 9280 |
| Decoder | 2.8 | 38332 | 31988 | 1232 | 1392 |
| Encoder (Vad1) & Decoder | 15.9 | 109724 | 32172 | 3224 | 10672 |
| Encoder (Vad2) & Decoder | 15.9 | 110652 | 32892 | 3296 | 10672 |
GSM-AMR C64x
CPU Utilization & Memory RequirementsAll Memory usage is given in units of bytes.
| Software | MIPS (Peak) * | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| Encoder (Vad1) | 13 | 107668 | 31158 | 1992 | 9360 |
| Encoder (Vad2) | 13.1 | 108148 | 31880 | 2064 | 9360 |
| Decoder | 2.7 | 53308 | 31988 | 1232 | 1392 |
| Encoder (Vad1) & Decoder | 15.7 | 150556 | 32172 | 3224 | 10752 |
| Encoder (Vad2) & Decoder | 15.7 | 151036 | 32892 | 3296 | 10752 |
GSM-AMR C55x
CPU Utilization & Memory RequirementsAll Memory usage is given in units of bytes.
| Software | MIPS (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| Encoder | 17.1 | 37782 | 28364 | 1996 | 6424 |
| Decoder | 2.6 | 19840 | 28952 | 1316 | 1200 |
GSM-AMR C54x
CPU Utilization & Memory RequirementsAll Memory usage is given in units of bytes.
| Software | MIPS (Peak) | Program Memory | Data Memory | Per-Channel Data Memory | Scratch Memory |
| Encoder | 18.8 | 19591 | 16725 | 1022 | 5065 |
| Decoder | 2.3 | 8164 | 13604 | 650 | 868 |
| Encoder/Decoder | 21.1 | 25949 | 16191 | 1636 | 5065 |
Note: All CPU usage given in MIPS (also known as MCPS or MHz)
GSM-AMR Cortex-A8/A9/A15
Memory usage is given in units of bytes.| Function | Program Memory | Data Memory | Scratch Memory | Per Channel Data Memory |
| Encode | — | — | 9280 | 2280 |
| Decode | — | — | 1392 | 1240 |
| Encode/Decode | 145K | 32K | 10672 | 3520 |
MIPS – CPU Utilization
| bit rates (kbps) | 4.75 | 5.15 | 5.9 | 6.7 | 7.4 | 7.95 | 10.2 | 12.2 |
| Encode | 70 | 55 | 62 | 75 | 70 | 73 | 75 | 79 |
| Decode | 14 | 13 | 13 | 14 | 13 | 13 | 13 | 13 |
| Encode/Decode | 84 | 68 | 75 | 89 | 83 | 86 | 88 | 92 |
GSM-AMR Cortex-M4/M7
Memory usage is given in units of byte.| Function | Program Memory | Data Memory | Scratch Memory | Per Channel Data Memory |
| Encode | 58 | — | — | 2148 |
| Decode | 8 | — | — | 2200 |
| Encode/Decode | 66 | 102 kbites | 33 kbites | 3.3 kbites |
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.
