The speech codec is a proprietary AMBE variant from DVSI. The official spec only contain a very rough overview and no technical information about the format and how to encode or decode it.
The ETSI lists patents relevant to GMR. (See here).
- US5226084 : Methods for speech quantization and error correction
- US5715365 : Estimation of excitation parameters
- US5826222 : Estimation of excitation parameters
- US5754974 : Spectral magnitude representation for multi-band excitation speech coders
- US5701390 : Synthesis of MBE-based coded speech using regenerated phase information
This list is not really complete or accurate though. In particular it's missing the patent that has the most in common with the actual codec is (US&EU versions) :
- US6199037: Joint quantization of speech subframe voicing metrics and fundamental frequencies
- EP0927988B1: Encoding speech
Osmocom-GMR contains a basic implementation of a voice decoder. Its quality is not as good as the official decoder but it does produce perfectly intelligible voice. You can find the implementation in the src/codec directory of the git.