Differences Between PCM/ADPCM Wave Files Explained (89879)



The information in this article applies to:

  • Microsoft Windows Sound System 1.0
  • Microsoft Windows Sound System 1.0a

This article was previously published under Q89879

SUMMARY

Pulse Code Modulation (PCM) and Adaptive Delta Pulse Code Modulation (ADPCM) are subclasses of the Microsoft waveform (.WAV) file format. In PCM, data for .WAV files is stored using linear samples, while ADPCM uses deltas between samples.

MORE INFORMATION

PCM and ADPCM are techniques for storing analog audio data in a digital format, the Microsoft .WAV file. Other storage methods (for example, Mu- Law, A-Law, Transform coding, CELP, and so on), are not supported by Windows Sound System 1.0.

How PCM Works

PCM works by taking discrete samples at even intervals (called the sampling rate). Common intervals are 11 kHz, 22 kHz, and 44 kHz. The higher the sampling rate, the better the representation of the original analog wave and the better the sound quality. Each sample is a real number with infinite resolution from +1.0 of full-scale value to -1.0 of full scale value. Because these must be stored as finite-precision digital numbers, the data is truncated to either 16-bit PCM or 8-bit PCM, commonly called 8- and 16-bit samples. 16-bit data has more resolution, so the digital waveform sounds better. 8-bit PCM has less resolution, causing audible hiss in the waveform. It also requires less disk space.

How ADPCM Works

ADPCM, commonly termed as a form of compression, is a more efficient way of storing waveforms than 16-bit or 8-bit PCM. It only uses 4 bits per sample, taking up a quarter of the disk space of 16-bit PCM. However, the sound quality is inferior. Because the Windows Sound System hardware only understands 8/16-bit PCM, the computer must compress and decompress the ADPCM into/from PCM, which requires CPU time. 22 kHz mono ADPCM can be decompressed real-time (that is, while playing) on a 386SX/16 megahertz CPU. Higher sampling rates (44 kHz) or stereo files will take too long for a 386SX/16 to decompress, which causes skipping in the audio. 11 kHz mono ADPCM can be compressed real-time on a 386SX/16 computer. To do ADPCM, the computer must have the Audio Compression Manager (ACM) installed.

ADPCM stores the value differences between two adjacent PCM samples and makes some assumptions that allow data reduction. Because of these assumptions, low frequencies are properly reproduced, but any high frequencies tend to get distorted. The distortion is easily audible in 11 kHz ADPCM files, but becomes more difficult to discern with higher sampling rates, and is virtually impossible to recognize with 44 kHz ADPCM files.

Modification Type:MajorLast Reviewed:10/10/2003
Keywords:KB89879