# Features and Architecture

The key features of the audio subsystem are as follows:

- **LPAI hardware**

    The low power AI subsystem is the next generation Qualcomm® hardware
architecture dedicated for low power, always-on processing for audio
use cases. It leverages a dedicated hardware-based AI accelerator for
machine learning-based workload offloads.
- **Audio IO interfaces**

    The Qualcomm developer kit supports audio IO interfaces such as I2S,
TDM, SWR, etc. It exposes I/O connections that can be used to connect
peripherals to the device. The GPIO pinout can be inferred from IO
interface sections.
- **Microphone/audio capture**

    The microphone connected to the codec captures data and sends it to
LPAI for further processing.
- **Speaker amplifier/audio playback**

    The PCM data sent from LPAI is played over the speaker amplifier that
is connected over I2S/TDM/SWR.
- **Fluence**

    Low power echo cancellation and noise suppression (ECNS) solution for
crystal clear sound. Capable of offering better non-stationary noise
suppression and higher signal-to-noise ratio improvement (SNRi).
- **Post-processing features**

    Audio software supports audio data post processing features such as
MBDRC, IIR, Upmixing, Limiter, DRC, Enhanced Audio Noise Suppression
(EANS), and more.

The following audio decoders and encoders are supported:

| Category | Codec | GStreamer support |
| --- | --- | --- |
| Decoder | MP3 | Yes |
| Decoder | Vorbis | Yes |
| Decoder | FLAC | Yes |
| Decoder | OGG | Yes |
| Encoder | PCM | Yes |
| Encoder | FLAC | Yes |

## Architecture

The following diagram shows the high-level audio software architecture.

![../../_images/architecture.png](data:image/png;base64,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)

The following are the major components of the audio software
architecture:

PulseAudio

A sound server for POSIX OSes (mostly targeting Linux) that acts as a
proxy and router between hardware device drivers and applications on
single or multiple hosts.

Platform Audio Layer (PAL)

Provides higher-level audio-specific APIs to access the underlying audio
hardware and drivers to enable feature rich audio use cases.

Audio Graph Manager (AGM)

Provides interfaces to allow TinyALSA-based mixer controls and
PCM/compressed plug-ins to interact and enable various audio use cases.

AudioReach Graph Service (ARGS)

Consists of the Graph Service Layer (GSL), Generic Packet Router (GPR),
and ACDB Management Layer (AML) modules. Handles initialization and
creation of graphs, and creation of packets for sending a series of
commands to SPF.

Audio calibration database (ACDB)

Contains information about various audio use cases such as use case
graphs, module calibration data, etc. The APPS processor parses ACDB
files to retrieve the use case graph information used by SPF to
instantiate the use case.

Signal Processing Framework (SPF)

Modular framework that runs on the LPAI DSP. It provides the means to
set up, configure, and execute signal processing modules for audio use
cases.

[Qualcomm Audio Calibration Tool (QACT™ Platform)](https://docs.qualcomm.com/bundle/resource/topics/80-70017-16A/tools.html#qact)

PC-based software providing a GUI for audio system designers to
visualize, configure, and store audio graphs into the ACDB for intended
audio use cases.

Last Published: Aug 13, 2025

Previous Topic
 
Getting Started Next Topic

APIs and Sample Apps