Adaptive Multi-Rate audio codec
The Adaptive Multi-Rate (AMR, AMR-NB or GSM-AMR) audio codec is an audio compression format optimized for speech coding. AMR is a multi-rate narrowband speech codec that encodes narrowband (200–3400 Hz) signals at variable bit rates ranging from 4.75 to 12.2 kbit/s with toll quality[3] speech starting at 7.4 kbit/s.[4]
Filename extension |
.amr, .3ga |
---|---|
Internet media type |
audio/amr, audio/3gpp, audio/3gpp2 |
Initial release | 23 June 1999[1][2] |
Latest release | 14.0.0 17 March 2017 |
Type of format | Lossy audio |
Open format? | Yes |
Free format? | No |
AMR was adopted as the standard speech codec by 3GPP in October 1999 and is now widely used in GSM[5] and UMTS. It uses link adaptation to select from one of eight different bit rates based on link conditions.
AMR is also a file format for storing spoken audio using the AMR codec. Many modern mobile telephone handsets can store short audio recordings in the AMR format, and both free and proprietary programs exist (see Software support) to convert between this and other formats, although AMR is a speech format and is unlikely to give ideal results for other audio. The common filename extension is .amr
. There also exists another storage format for AMR that is suitable for applications with more advanced demands on the storage format, like random access or synchronization with video. This format is the 3GPP-specified 3GP container format based on ISO base media file format.[6]
Usage
The frames contain 160 samples and are 20 milliseconds long.[1] AMR uses various techniques, such as ACELP, DTX, VAD and CNG. The usage of AMR requires optimized link adaptation that selects the best codec mode to meet the local radio channel and capacity requirements. If the radio conditions are bad, source coding is reduced and channel coding is increased. This improves the quality and robustness of the network connection while sacrificing some voice clarity. In the particular case of AMR this improvement is somewhere around S/N = 4–6 dB for usable communication. The new intelligent system allows the network operator to prioritize capacity or quality per base station.
There are a total of 14 modes of the AMR codec, eight are available in a full rate channel (FR) and six on a half rate channel (HR).
Mode | Bitrate (kbit/s) | Channel | Compatible with |
---|---|---|---|
AMR_12.20 | 12.20 | FR | ETSI GSM enhanced full rate |
AMR_10.20 | 10.20 | FR | |
AMR_7.95 | 7.95 | FR/HR | |
AMR_7.40 | 7.40 | FR/HR | TIA/EIA IS-641 TDMA enhanced full rate |
AMR_6.70 | 6.70 | FR/HR | ARIB 6.7 kbit/s enhanced full rate |
AMR_5.90 | 5.90 | FR/HR | |
AMR_5.15 | 5.15 | FR/HR | |
AMR_4.75 | 4.75 | FR/HR | |
AMR_SID | 1.80 | FR/HR | |
Features
- Sampling frequency 8 kHz/13-bit (160 samples for 20 ms frames), filtered to 200–3400 Hz.
- The AMR codec uses eight source codecs with bit-rates of 12.2, 10.2, 7.95, 7.40, 6.70, 5.90, 5.15 and 4.75 kbit/s.
- Generates frame length of 95, 103, 118, 134, 148, 159, 204, or 244 bits for AMR FR bit rates 4.75, 5.15, 5.90, 6.70, 7.40, 7.95, 10.2, or 12.2 kbit/s, respectively. AMR HR frame lengths are different.
- AMR utilizes discontinuous transmission (DTX), with voice activity detection (VAD) and comfort noise generation (CNG) to reduce bandwidth usage during silence periods
- Algorithmic delay is 20 ms per frame. For bit-rates of 12.2, there is no "algorithm" look-ahead delay. For other rates, look-ahead delay is 5 ms. Note that there is 5 ms "dummy" look-ahead delay, to allow seamless frame-wise mode switching with the rest of rates.
- AMR is a hybrid speech coder, and as such transmits both speech parameters and a waveform signal
- Linear predictive coding (LPC) is used to synthesize the speech from a residual waveform. The LPC parameters are encoded as line spectral pairs (LSP).
- The residual waveform is coded using algebraic code-excited linear prediction (ACELP).
- The complexity of the algorithm is rated at 5, using a relative scale where G.711 is 1 and G.729a is 15.
- PSQM testing under ideal conditions yields mean opinion scores of 4.14 for AMR (12.2 kbit/s), compared to 4.45 for G.711 (μ-law)
- PSQM testing under network stress yields mean opinion scores of 3.79 for AMR (12.2 kbit/s), compared to 4.13 for G.711 (μ-law)
Licensing and patent issues
AMR codecs incorporate several patents of Nokia, Ericsson, NTT and VoiceAge,[7][8] the last one being the License Administrator for the AMR patent pools. VoiceAge also accepts submission of patents for determination of their possible essentiality to these standards. However, it's very difficult to determine if there were actually any patents in existence for the so-called inventions related to AMR/AMR-WB codecs, since inventors (and their lawyers) do everything they can to hide patents related to AMR/AMR-WB technology. Apparently, all these patents are hidden from all other researches and general audience that could perhaps spot prior art in the claimed "inventions" patented by the patent holders of the AMR/AMR-WB codecs.[9][10]
The initial fee for professional content creation tools and "real-time channel" products is US$6,500. The minimum annual royalty is $10,000, which, in the first year, excludes the initial fee. Per-channel license fees fall from $0.99 to $0.50 with volume, up to a maximum of $2 million annually.[7][8]
In the category of personal computer products, e.g., media players, the AMR decoder is licensed for free. The license fee for a sold encoder falls from $0.40 to $0.30 with volume, up to a maximum of $300,000 annually. The minimum annual royalty is not applied to licensed products that fall under the category of personal computer products and use only the free decoder.[7][8]
More information:
- VoiceAge licensing information, including pricing to license the AMR codecs
- 3GPP legal issues
- The 3G Patent Platform and its licensing policy
- AMR Codecs as Shared Libraries — legal notices for usage of amrnb and amrwb libraries based on the reference implementation
Software support
- 3GPP TS 26.073 – AMR speech Codec (C source code) – reference implementation[11]
- Audacity (beta version 1.3) via the FFmpeg integration libraries[12] (both input and output format)
- FFmpeg with OpenCORE AMR libraries[13]
- Android[14] Used for voice recorder.
- AMR Codecs as Shared Libraries – amrnb and amrwb libraries development site. These libraries are based on the reference implementation and were created to prevent embedding of possibly patented source code into many open source projects.
- Open source software to convert the .amr format: RetroCode, Amr2Wav, both are in an early developmental stage
- AMR Player is freeware to play AMR audio files, and can convert AMR from/to MP3/WAV audio format.
- Nokia Multimedia Converter 2.0 can convert (create) samples, one can use Nokia's conversion tool to create both .amr and .awb files. It works in Windows 7 as well if the setup is run in XP compatibility mode.
- MPlayer (SMPlayer, KMPlayer[15])
- Parole Media Player 0.8.1 (in Ubuntu 16.04)
- QuickTime Player and multimedia framework
- RealPlayer version 11 and later
- VLC media player version 1.1.0 and later (input format only, not output format)
- ffdshow
- Apple iPhone (can play back AMR files)
- iOS & macOS (iMessage)
- BlackBerry smartphones (used for voice recorder file format, while BlackBerry 10 cannot play AMR format)
- K-Lite Codec Pack
- Media Player Classic Home Cinema, around 1.7.1
- foobar2000 with the component foo_input_amr
See also
References
- "3GPP TS 26.090 - Mandatory Speech Codec speech processing functions; Adaptive Multi-Rate (AMR) speech codec; Transcoding functions". 3GPP. Retrieved 2010-07-21.
- "3GPP TS 26.071 - Mandatory speech CODEC speech processing functions; AMR speech Codec; General description". 3GPP. Retrieved 2010-07-21.
- "What's toll-quality voice?". ITworld. 13 December 2000. Retrieved 26 July 2019.
- RFC 4867 - RTP Payload Format and File Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codecs Page 35
- "Sorting Through GSM Codecs: A Tutorial". 11 July 2003.
- RFC 4867 - RTP Payload Format and File Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codecs Page 35
- VoiceAge Corporation (2007-10-14). "AMR Licensing Terms". VoiceAge Corporation. Archived from the original on 2007-10-14. Retrieved 2009-09-12.
- VoiceAge Corporation (June 2007). "AMR Licensing Terms". VoiceAge Corporation. Archived from the original on 2007-10-14. Retrieved 2009-09-12.
- VoiceAge Corporation. "Licensing - Patent Calls". VoiceAge Corporation. Archived from the original on 2007-10-14. Retrieved 2009-09-12.
- VoiceAge Corporation (2007-10-14). "Licensing - Patent Calls". Archived from the original on 2007-10-14. Retrieved 2009-09-12.
- 3GPP (2008-12-11) 3GPP TS 26.073 - AMR speech Codec, Retrieved 2009-09-08
- Retrieved on 2010-02-28
- FFmpeg General Documentation - AMR external library, Retrieved on 2009-07-08
- Android AMR codecs, Retrieved on 2009-07-08 Archived February 18, 2009, at the Wayback Machine
- KMPlayer Internal Audio Decoder Preferences Archived 2014-10-22 at the Wayback Machine, Retrieved 2014-10-22
External links
- 3GPP TS 26.090 – Mandatory Speech Codec speech processing functions; Adaptive Multi-Rate (AMR) speech codec; Transcoding functions
- 3GPP TS 26.071 – Mandatory Speech Codec speech processing functions; AMR Speech Codec; General Description
- 3GPP codecs specifications; 3G and beyond / GSM, 26 series
- RFC 4867 – RTP Payload Format and File Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codecs
- RFC 4281 – The Codecs Parameter for "Bucket" Media Types