# Software

Source: [https://docs.qualcomm.com/doc/80-70014-16/topic/software.html](https://docs.qualcomm.com/doc/80-70014-16/topic/software.html)

This section provides detailed information about audio software
        components.

- **[PulseAudio](https://docs.qualcomm.com/doc/80-70014-16/topic/pulseaudio_sw.html)**  

PulseAudio manages all audio applications, local and network streams, devices,         filters, and audio I/O.
- **[PAL](https://docs.qualcomm.com/doc/80-70014-16/topic/pal_sw.html)**  

PAL provides higher-level audio-specific APIs to access the underlying audio hardware         and drivers to enable feature-rich audio use cases including:
- **[TinyALSA](https://docs.qualcomm.com/doc/80-70014-16/topic/tinyalsa_sw.html)**  

TinyALSA is a library that wraps th ALSA kernel interface into APIs that clients can         invoke and provides a plug-in interface to emulate ALSA APIs.
- **[Audio Graph Manager (AGM)](https://docs.qualcomm.com/doc/80-70014-16/topic/agm_sw.html)**  

AGM provides interfaces to allow TinyALSA-based mixer controls and PCM/compress         plug-ins to interact and enable various audio use cases. AGM runs as part of PulseAudio         service that runs in the user space.
- **[AudioReach Graph Service (ARGS)](https://docs.qualcomm.com/doc/80-70014-16/topic/audioreach_graph_services.html)**  

The AudioReach graph services (ARGS) consists of the graph service layer (GSL),         generic packet router (GPR), and ACDB management layer (AML). It handles initialization and         creation of graphs as well as creation of packets for sending series of commands to         SPF.
- **[Signal Processing Framework (SPF)](https://docs.qualcomm.com/doc/80-70014-16/topic/spf_sw.html)**  

Signal Processing Framework runs in the LPAI subsystem and is responsible for         performing audio data processing.
- **[Realization of audio use cases](https://docs.qualcomm.com/doc/80-70014-16/topic/realization_of_audio_use_cases.html)**  

Each audio use case is represented as a graph consisting of subgraphs of a specific         type. Each subgraph consists of one or more functional software blocks (referred to as         modules) that perform a specific function.

Last Published: Jul 15, 2024

[Previous Topic
TinyALSA](https://docs.qualcomm.com/bundle/publicresource/80-70014-16/topics/tinyalsa_apis.md) [Next Topic
PulseAudio](https://docs.qualcomm.com/bundle/publicresource/80-70014-16/topics/pulseaudio_sw.md)