This article was previously published under Q89879
This article has been archived. It is offered "as is" and will no longer be updated.
Pulse Code Modulation (PCM) and Adaptive Delta Pulse Code Modulation(ADPCM) are subclasses of the Microsoft waveform (.WAV) file format. InPCM, data for .WAV files is stored using linear samples, while ADPCM usesdeltas between samples.
PCM and ADPCM are techniques for storing analog audio data in a digitalformat, the Microsoft .WAV file. Other storage methods (for example, Mu-Law, A-Law, Transform coding, CELP, and so on), are not supported byWindows Sound System 1.0.
How PCM Works
PCM works by taking discrete samples at even intervals (called thesampling rate). Common intervals are 11 kHz, 22 kHz, and 44 kHz. Thehigher the sampling rate, the better the representation of theoriginal analog wave and the better the sound quality. Each sample isa real number with infinite resolution from +1.0 of full-scale valueto -1.0 of full scale value. Because these must be stored asfinite-precision digital numbers, the data is truncated to either16-bit PCM or 8-bit PCM, commonly called 8- and 16-bit samples. 16-bitdata has more resolution, so the digital waveform sounds better. 8-bitPCM has less resolution, causing audible hiss in the waveform. It alsorequires less disk space.
How ADPCM Works
ADPCM, commonly termed as a form of compression, is a more efficientway of storing waveforms than 16-bit or 8-bit PCM. It only uses 4 bitsper sample, taking up a quarter of the disk space of 16-bit PCM. However,the sound quality is inferior. Because the Windows Sound System hardwareonly understands 8/16-bit PCM, the computer must compress anddecompress the ADPCM into/from PCM, which requires CPU time. 22 kHzmono ADPCM can be decompressed real-time (that is, while playing) on a386SX/16 megahertz CPU. Higher sampling rates (44 kHz) or stereo fileswill take too long for a 386SX/16 to decompress, which causes skippingin the audio. 11 kHz mono ADPCM can be compressed real-time on a386SX/16 computer. To do ADPCM, the computer must have the AudioCompression Manager (ACM) installed.
ADPCM stores the value differences between two adjacent PCM samplesand makes some assumptions that allow data reduction. Because of theseassumptions, low frequencies are properly reproduced, but any highfrequencies tend to get distorted. The distortion is easily audible in11 kHz ADPCM files, but becomes more difficult to discern with highersampling rates, and is virtually impossible to recognize with 44 kHzADPCM files.