Pulse Code Modulation (PCM) is a method to represent sampled analog signals in digital form, which is the standard form for digital audio representation in computers. In order to convert an analog signal to PCM, two steps are required.
- sampling: the magnitude of the analog signal are sampled regularly at uniform intervals.
- quantization: the value of each sample is rounded to the nearest value expressible by the bits allowed for each sample.
Two Basic Properties
Two basic properties determines how well a PCM sequence can represent the original signal.
- sampling rate: the number of samples taken in a second
- bit depth: the number of bits used to represent each sample, which determines the number of values each sample can take (e.g. 8 bits => 2^8 = 256 values)
- Linear PCM: The straightforward method of PCM. The samples are taken linearly and represented on a linear scale (as opposed to Logarithmic PCM etc.). It is an uncompressed format, which can be compressed by different audio codec. When we talk about PCM, we’re generally referring to Linear PCM.
- Logarithmic PCM: the amplitudes of samples are represented in logarithmic form. There are two major variants of log PCM, mu-law (u-law) and A-law.
- Differential PCM (DPCM): sample value is encoded as difference from its previous sample value. This could reduce number of bits required for an audio sample.
- Adaptive DPCM (ADPCM): the size of quantization step is varied so that the required bandwidth can be further reduced for a given signal-to-noise ratio.
Audio File Formats Support LPCM
LPCM audio is usually stored in aiff (.aiff, .aif, .aifc), wav (.wav, .wave), au (.au, .snd), and raw (.raw, .pcm) audio files.