Audio Advanced Linux Sound Architecture (ALSA) arranges hardware audio devices and their components into a hierarchy of cards, devices, and subdevices. It reflects the capabilities of the hardware as seen by ALSA.
ALSA cards correspond one-to-one to hardware sound cards. A card can be denoted by its ID or by a numerical index starting at zero. ALSA hardware access occurs at the device level. The devices of each card are enumerated starting from zero.
The audio software stack is depicted in the following figure.
Fig. 7 Audio Software Stack
At a high-level the audio software stack consists of the following layers from top to bottom:
User-space layers
GStreamer: alsasrc and alsasink plugins
Alsa-lib: ALSA user-space library
Kernel-space layers
ALSA: Xilinx ALSA ASoC driver