Adaptive Differential Pulse-Code Modulation (ADPCM)

Last Edited



Definition of Adaptive Differential Pulse-Code Modulation (ADPCM) in Network Encyclopedia.

What is ADPCM?

ADPCM stands for Adaptive Differential Pulse-Code Modulation, is a technique for converting analog sound, such as speech, into binary digital information by frequently sampling the sound and expressing its modulation in binary form.

Adaptive Differential Pulse-Code Modulation (ADPCM) codecs convert analog signals into digital information by quantizing the differences between the actual analog signal and a predicted signal.

The result is that analog signals encoded into files using ADPCM have a smaller size than many other formats. ADPCM enables speech information to be compressed into small files for storage and transmission.

Personal Communications Services (PCS) cellular telephony systems use a 32-Kbps ADPCM coding system to provide the same quality of voice communication that is available in wired telephone networks. This standard was developed by the International Telecommunication Union (ITU) and is known as G.721.

ADPCM (Adaptive Differential Pulse Code Modulation)

See examples of this kind of device: RAD – KM-2000M-KVC.1M/E – 2-channel Pcm/adpcm Voice Module, 2/4-wire E&m

In the telecommunication field, the ADPCM technique is used mainly in speech compression because the method makes it possible to reduce bit flow without compromising quality. The ADPCM method can be applied to all waveforms, high-quality audio, images, and other modern data.

ADPCM for XAudio2

The implementation of ADPCM for XAudio2 provides additional features to specify the size of the compression sample block. ADPCM enables the audio designer to choose a setting that is an appropriate compromise among size, quality, and resolution (for placing loop points).

XAudio2 uses a modified version of the Microsoft ADPCM codec that supports the extended data formatting required to provide custom sample block sizes. For this reason, XAudio2 audio data cannot be played by audio engines that do not support this version of the ADPCM codec.

ADPCM Encoding

Audio data is encoded to ADPCM using the AdpcmEncode command-line tool.

  • AdpcmEncodeIn order to encode audio files as ADPCM for use with XAudio2, use the AdpcmEncode command-line tool.

ADPCM Decoding

Software decoding of ADPCM is supported in XAudio2.

  • XAudio2In order to use ADPCM encoded data in XAudio2, you need to initialize a ADPCMWAVEFORMAT structure with ADPCM specific values, and pass it as an argument to IXAudio2::CreateSourceVoice when you create a source voice. For an example of loading and playing a sound in XAudio2, see How to: Play a Sound with XAudio2.