Skip to main content
Adaptive Differential Pulse Code Modulation (ADPCM) is a lossy compression format. This means that some data is altered and lost during compression. ADPCM can achieve compression ratios of up to 4:1. The implementation of ADPCM for XAudio2 provides additional features to specify the size of the compression sample block. The audio designer can use ADPCM to choose a setting that’s an appropriate compromise among size, quality, and resolution (for placing loop points). Because XAudio2 implements ADPCM compression with a configurable sample block size, XAudio2 ADPCM isn’t compatible with previous ADPCM formats, such as IMA ADPCM and Microsoft ADPCM. XAudio2 requires ADPCM content that’s created with its own ADPCM command-line encoder tool. Conversely, decoding content that’s encoded in the XAudio2 ADPCM format requires explicit support for an external audio authoring or rendering engine.

ADPCM encoding

Encode audio data to ADPCM by using the ADPCM command-line encoder tool.

ADPCM playback

Use XAudio2 to play back ADPCM audio on XBOX One. To do so, begin by initializing a WAVEFORMATEX structure with ADPCM-specific values and then pass that structure 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.

See also

Overview of XAudio2 Use XAudio2 to play a sound ADPCM command-line encoder
Last modified on August 20, 2026