Cards and devices

The basic piece of hardware needed to produce or capture (i.e., record) sound is an audio chip or sound card, referred to simply as a card. QSA can support more than one card at a time, and can even mount and unmount cards “on the fly” (more about this later). All the sound devices are attached to a card, so in order to reach a device, you must first know what card it's attached to.

Figure 1. Cards and devices.

The devices include:

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.

PCM devices are commonly created in playback and capture pairs creating two entries of the same device index under the same card with a direction identifier suffix ('p' for playback and 'c' for capture).

Each deva-ctrl-* DLL creates a logical sound card. For each card, there's a control (controlCx), as well as one or more mixers (mixerCxDy) and PCM devices(pcmCxDyz) entries. The card numbers (x) starts at zero (0) and increments in the order that the DLLs are loaded. The -u option for the io-audio command can be used to specify the specific card number to be used for the DLL that follows it on the commandline. The resulting file listing shows all of the cards and devices created for each deva-ctrl-* DLL that have been mounted.

You can list the devices that are on your system using the ls command. For example:

ls /dev/snd

For example:

# ls -l /dev/snd
total 0
lrw-rw-rw- 1 root root 0 May 31 11:11 capture -> pcmC0D0c
-rw-rw-rw- 1 root root 0 May 31 11:11 controlC0
-rw-rw-rw- 1 root root 0 May 31 11:11 mixerC0D0
-rw-rw-rw- 1 root root 0 May 31 11:11 pcmC0D0c
-rw-rw-rw- 1 root root 0 May 31 11:11 pcmC0D0p
lrw-rw-rw- 1 root root 0 May 31 11:11 pcmPreferredc -> pcmC0D0c
lrw-rw-rw- 1 root root 0 May 31 11:11 pcmPreferredp -> pcmC0D0p
lrw-rw-rw- 1 root root 0 May 31 11:11 playback -> pcmC0D0p0p
where: In this case, the entry pcmC0D0p refers to Card 0, Device 0 for Playback.