Pulse Code Modulation (PCM) devices
PCM devices are responsible for converting digital sound sequences to analog waveforms, or analog waveforms to digital sound sequences.
Each device operates only in one mode or the other. If it converts digital to analog, it's a playback channel device; if it converts analog to digital, it's a capture channel device.
The attributes of PCM devices include:
- the data formats that the device supports (16-bit signed little endian, 32-bit unsigned big endian, etc.). For more information, see Data formats, below.
- the data rates that the device can run at (48KHz, 44.1kHz etc.)
- the number of streams that the device can support (e.g., 2-channel stereo, mono, and 4-channel surround)
- the number of simultaneous clients that the device can support,
referred to as the number of subchannels the
device has. Most sound cards support only 1 subchannel, but some cards can support
more; for example, the Soundblaster Live! supports 32 subchannels.
The maximum number of subchannels supported is a hardware limitation. On single-subchannel cards, this limitation is artificially surpassed through a software solution: the software subchannel mixer. This allows 8 software subchannels to exist on top of the single hardware subchannel.
The number of subchannels that a device advertises as supporting is defined for the best-case scenario; in the real world, the device might support fewer. For example, a device might support 32 simultaneous clients if they all run at 48 kHz, but might support only 8 clients if the rate is 44.1 kHz. In this case, the device advertises 32 subchannels.