G.711 PCM Vocoder | G.711 A1 A2

G.711 ITU Standard - Pulse Code Modulation (PCM) Waveform coder

G.711 is by far, the most commonly supported voice companding algorithm used in telephony.

Overview

G.711 Appendix 1 (optional) coder is a high quality low-complexity algorithm for packet loss concealment (PLC). It is a highly effective algorithm for concealing lost packets of G.711 data. Speech remains intelligible even under conditions where up to 30% of the packets are lost. Robust packet loss concealment improves voice quality under packet loss conditions.

G.711 Appendix 2 (optional) provides voice activity detection (VAD), discontinuous transmission (DTX), and comfort noise generation (CNG). When combined, these algorithms provide an efficient method for reducing packet bandwidth during portions of a conversation when no voice activity is present. During silence periods, only the bits necessary to model the background noise characteristics.

Platforms

Availability

PlatformsG.711G.711-Appendices 1G.711-Appendices 2G.711 Appendices 1 & 2
Arm ® Devices – Armv9-A || Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy Cortex-M3, ARM9E/11Legacy ARM9E / 11—Armv7-A / Armv8-A || Armv7-M / Armv8-M || Legacy Cortex-M3, ARM9E/11
Texas Instruments – TI TMS320CxxC7x / C64x / C55x / C54xC7x / C64x / C55x / C54xC55x / C64xC7x / C64x+ / C64x / C55x / C54x
Win32 static LIB / DLL———Win32 static LIB / DLL
Linux 32 Bit———Linux 32 Bit

ADT G.711 is available on the above Platforms: Other configurations are available upon request.

Features

  • Functions are C-callable.
  • Supports both mu-law and a-law
  • ITU G.711 Compliant
  • Robust packet loss concealment
  • Multi-channel capable

Description

G.711 Voice Codec for VoIP and Telecommunications

G.711 is the most widely adopted voice encoding standard in modern telecommunications and Voice over IP (VoIP) networks. As the industry-standard pulse code modulation (PCM) codec defined by the International Telecommunication Union (ITU), G.711 delivers high-quality digital voice transmission while ensuring seamless interoperability between telephony systems, IP phones, gateways, softswitches, and communication platforms worldwide.

The codec uses a companding process to efficiently represent voice signals. Each audio sample is encoded into an 8-bit PCM value using either μ-law (mu-law), commonly used in North America and Japan, or A-law, primarily used in Europe and many international markets. This approach provides clear voice quality with minimal processing complexity, making G.711 a preferred choice for enterprise, carrier, and mission-critical communication systems.

To further optimize network performance, the ITU introduced supplemental enhancements to the G.711 standard. These extensions enable telecommunications equipment to reduce bandwidth consumption during periods of silence through voice activity detection and silence suppression, while also improving call quality by concealing the effects of lost or corrupted packets. These capabilities help maintain natural-sounding conversations even in challenging network conditions.

Adaptive Digital G.711 Codec Solution

Adaptive Digital’s G.711 waveform coder is a fully compliant, bit-exact implementation of the ITU G.711 PCM standard. The codec provides reliable conversion between 8-bit μ-law or A-law compressed audio and 16-bit linear PCM samples, ensuring compatibility with a wide range of telecommunications, VoIP, and embedded communication applications.

Although many digital signal processors (DSPs) include hardware support for G.711 processing through Time Division Multiplexing (TDM) interfaces, software-based G.711 conversion remains essential in systems where voice processing, signaling, and network functions operate on shared platforms. Adaptive Digital’s software implementation delivers the flexibility needed for modern communications infrastructure while maintaining strict standards compliance and exceptional voice quality.

While the core G.711 companding algorithm is bit-exact across implementations, the optional G.711 enhancement appendices are not. Consequently, performance can vary between vendors. Adaptive Digital’s implementation is designed to provide consistent, standards-based operation for developers and manufacturers seeking dependable voice processing solutions for VoIP gateways, IP telephony, unified communications, contact centers, and embedded voice applications.

Key Benefits

  • Industry-standard ITU G.711 PCM codec
  • Support for both μ-law and A-law companding
  • Bit-exact implementation for maximum interoperability
  • High-quality voice transmission with low processing overhead
  • Ideal for VoIP, IP telephony, gateways, and carrier infrastructure
  • Support for silence suppression and packet loss concealment enhancements
  • Software-based implementation suitable for DSP and embedded systems
  • Consistent performance across telecommunications environments

Specification Tables

Spec Tables

G.711 Armv9-A Neoverse N2

CPU Utilization
The ARM Neoverse is a group of 64-bit ARM processor cores.
FunctionMIPS
G.711 Encode/Decode0.44

G.711 Armv9-A, Armv8-A, Armv7-A Cortex-A8 / A9 / A15

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
ProductFunction MIPSProgram MemoryData MemoryPer Channel Data MemoryScratch Memory
G.711A1A2Encode7.992 K 5.26 K1640624
Decode2.31776624

G.711 Armv7-M

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
ProductFunction MIPSProgram MemoryData MemoryPer Channel Data Memory
G.711A1A2Encode7.332270028861636
Decode2.51776

G.711 Armv8-M

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
ProductFunction MIPSProgram MemoryData MemoryPer Channel Data Memory
G.711A1A2Encode10.262270028861636
Decode3.51776

G.711 ARM9e / ARM11

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
ProductFunction MIPSProgram MemoryData MemoryPer Channel Data MemoryScratch Memory
G.711A1A2Encode12.161 K 5.26 K1640624
Decode3.81776624

G.711 ARM7 – Legacy

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
ProductFunction
MIPS (Peak)Program MemoryData MemoryPer-Channel Data Memory
G.711Mu-law (Compress) Encode69———
Mu-law (Expand) Decode20———
A-law (Compress) Encode70———
A-law (Expand) Encode15———
G.711 Common/Tables—9001024—

G.711 C7x / C64x / C64x+

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS (Peak)Program MemoryData MemoryPer-Channel Data Memory
Mu-law Encode0.05———
Mu-law Decode0.02———
A-law Encode0.05———
A-law Encode0.02———
G.711 Common/Tables—16961024—
G.711 Appendix 10.364990961680
VAD – G.711 Appendix 21.731603215481644
VAD – G.711 Appendix 20.443584272104

G.711 C55x

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
FunctionMIPS (Peak)Program MemoryData MemoryPer-Channel Data Memory
Mu-law Encode0.14———
Mu-law Decode0.07———
A-law Encode0.14———
A-law Encode0.07———
G.711 Common/Tables—2621032—
G.711 Appendix 10.272162981680
VAD – G.711 Appendix 22.91038834641352
VAD – G.711 Appendix 20.91942682568

G.711 C54x

CPU Utilization & Memory Requirements
All Memory usage is given in units of 16 bit word.
FunctionMIPS (Peak)Program MemoryData MemoryPer-Channel Data Memory
Mu-law Encode0.4———
Mu-law Decode0.1———
A-law Encode0.25———
A-law Encode0.1———
G.711 Common/Tables—6444—
G.711 Appendix 10.37159349836
VAD – G.711 Appendix 23.249351447434
VAD – G.711 Appendix 21.3877181210

G.711 Windows LIB

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
ProductFunction MIPSProgram MemoryData MemoryPer Channel Data MemoryScratch Memory
G.711A1A2Encode7.5961 K 5.2 K1640624
Decode2.641776624

G.711 Windows DLL

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
ProductFunction MIPSProgram MemoryData MemoryPer Channel Data MemoryScratch Memory
G.711A1A2Encode8.5861 K 5.2 K1640624
Decode2.641776624

G.711 Linux i868

CPU Utilization & Memory Requirements
All Memory usage is given in units of byte.
ProductFunction MIPSProgram MemoryData MemoryPer Channel Data MemoryScratch Memory
G.711A1A2Encode9.7262 K 5.3 K1640624
Decode1.261776624

API Functions

API function call summary

Standard Functions

G711_Encode(. . .)    Performs G.711 encode function

G711_Decode(. . .)    Performs G.711 decode function

Appendix 1 (concealment) functions

G711ErasureInit(. . .)  Initializes data structures for per channel packet loss concealment

G711A1Decode(. . .)  Generates synthesized voice samples to cover missing data

Appendix 1 (VAD/CNG) functions

Vad_ADT_Init(. . .)  Initializes data structures for voice activity detection

Cng_ADT_Init(. . .)    Initializes data structures for comfort noise generation

Vad_ADT_Run(. . .)  Detects voice or silence and returns comfort noise parameters during silence periods

Cng_ADT_Run(. . .)  Generate comfort noise based upon received parameters 

Appendix 1 & 2 (integrated) functions

G711_ADT_initEncode (. . .)  Initializes G.711 Encode Channel

G711_ADT_initDecode (. . .)    Initializes G.711 Decode Channel

G711_ADT_encode (. . .)  Perform G.711 encode

G711_ADT_decode (. . .)    Perform G.711 decode

G711_ADT_decode (. . .)    Perform G.711 decode

Translate »