Full Rate (FR or GSM-FR or GSM 06.10 or sometimes simply GSM) was the first digital speech coding standard used in the GSM digital mobile phone system. It uses linear predictive coding (LPC). The bit rate of the codec is 13 kbit/s, or 1.625 bits/audio sample (often padded out to 33 bytes/20 ms or 13.2 kbit/s). The quality of the coded speech is quite poor by modern standards, but at the time of development (early 1990s) it was a good compromise between computational complexity and quality, requiring only on the order of a million additions and multiplications per second. The codec is still widely used in networks around the world. Gradually FR will be replaced by Enhanced Full Rate (EFR) and Adaptive Multi-Rate (AMR) standards, which provide much higher speech quality with lower bit rate.
Technology
GSM-FR is specified in ETSI 06.10 (ETS 300 961) and is based on RPE-LTP (Regular Pulse Excitation - Long Term Prediction) speech coding paradigm. Like many other linear predictive coding (LPC) speech codecs, linear prediction is used in the synthesis filter. However, unlike most modern speech codecs, the order of the linear prediction is only 8. In modern narrowband speech codecs the order is usually 10 and in wideband speech codecs the order is usually 16.
The speech encoder accepts 13 bit linear PCM at an 8 kHz sample rate. This can be direct from an analog-to-digital converter in a phone or computer, or converted from G.711 8-bit nonlinear A-law or μ-law PCM from the PSTN with a lookup table. In GSM, the encoded speech is passed to the channel encoder specified in GSM 05.03. In the receive direction, the inverse operations take place.
The codec operates on 160 sample frames that span 20 ms, so this is the minimum transcoder delay possible even with infinitely fast CPUs and zero network latency. The operational requirement is that the transcoder delay should be less than 30 ms. The transcoder delay is defined as the time interval between the instant a speech frame of 160 samples has been received at the encoder input and the instant the corresponding 160 reconstructed speech samples have been out-put by the speech decoder at an 8 kHz sample rate.[1]
Implementations
The free libgsm codec can encode and decode GSM Full Rate audio.[2][3] "libgsm" was developed 1992–1994 by Jutta Degener and Carsten Bormann, then at Technische Universität Berlin.[4] Since a GSM speech frame is 32.5 bytes, this implementation also defined a 33-byte nibble-padded representation of a GSM frame (which, at a frame rate of 50/s, is the basis for the incorrect claim that the GSM bit rate is 13.2 kbit/s). This codec can also be compiled into Wine to provide GSM audio support.
There is also a Winamp plugin for raw GSM 06.10 based on the libgsm.[5][6]
The GSM 06.10 is also used in VoIP software, for example in Ekiga, QuteCom, Linphone, Asterisk (PBX), Ventrilo and others.
See also
References
- ↑ ETSI EN 300 961 V8.1.1 (2000-11) - (GSM 06.10 version 8.1.1 Release 1999), Retrieved on 2009-07-08
- ↑ The GSM 06.10 lossy speech compression library and its applications, Retrieved 2009-08-31
- ↑ Ubuntu.com Shared libraries for GSM speech compressor, Retrieved 2009-08-31
- ↑ libgsm - README - GSM 06.10 13 kbit/s RPE/LTP speech compression, Retrieved 2009-09-20
- ↑ Cedric Hans Plug-in Winamp for raw GSM 06.10, Retrieved 2009-10-09
- ↑ Cedric Hans (2004-06-08) Winamp Plug-in - Raw GSM Winamp Plugin Archived 2009-09-08 at the Wayback Machine, Winamp, Retrieved 2009-10-09
External links
- RFC 3551 - RTP payload format for GSM (GSM 06.10)
- ETS 300 961 (GSM 06.10) - European Standard
- ETS 300 580-2 (GSM 06.10) - legacy specifications
- 3GPP TS06.10 - Technical Specification
- Libgsm homepage