# Realization of audio use cases

Source: [https://docs.qualcomm.com/doc/80-70014-16/topic/realization_of_audio_use_cases.html](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.

## Audio graph concepts and terminology

| **Use case** | A graph of modules from source end point(s) to sink end<br>                                    point(s) that satisfies the product defined use case. |
| --- | --- |
| **Graph** | A logical interpretation of a group of one or more sub-graphs<br>                                    connected together to realize a specific use case. |
| **Subgraph** | A logical abstraction for a group of modules that are<br>                                    connected and manipulated as a single entity. |
| **Container** | Object that allows the system designer to group and execute<br>                                    audio processing modules together in single software<br>                                    thread. |
| **Module** | The smallest independent processing unit within signal<br>                                    processing framework. |
| **Key value (KV) pair** | The individual key and associated values in a key vector.<br>                                        <br>For example, a key could be a sound device and a value<br>                                        could be headphone, speaker, or some other sound<br>                                    device. |
| **Key vector** | Uniquely identifies a graph or subgraph through a set of KV<br>                                    pairs. All KV pairs are defined at:<br>                                            <br>build-qcom-wayland/workspace/sources/mm-audio-headers/proprietary/mm-audio-headers/acdbdata/kvh2xml.h |
| **Graph key vector (GKV)** | GKV is a unique identifier used to retrieve a graph which is<br>                                    represented by a set of multiple KV pairs. The graph or system<br>                                    designer associates a set of unique &lt;keys&gt; and &lt;values&gt;<br>                                    when creating a subgraph from the QACT UI canvas. |
| **Calibration key vector (CKV)** | CKV is a unique identifier used to retrieve calibration data<br>                                    which is represented by a set of multiple KV pairs. The graph or<br>                                    system designer associates a set of unique &lt;keys&gt; and<br>                                    &lt;values&gt; when storing calibration data. |
| **Tag and tag key vector (TKV)** | A tag is an identifier used to set runtime parameters for one<br>                                    or more modules. It allows updating module configurations (e.g.,<br>                                    enabling/disabling features like echo cancellation or<br>                                    equalization) within a graph at runtime. |

## Graph segments

An audio use case is comprised of the following segments. The front-end generally
                represents stream and streamPP subgraphs, while the back-end represents the PSPD,
                devicePP, and device subgraphs.

| **Stream** | Provides a data write/read interface and performs decoding<br>                                    and encoding of data if it is compressed |
| --- | --- |
| **StreamPP** | Contains stream-based processing modules (for example,<br>                                    equalizer) |
| **Per-stream per-device (PSPD)** | Contains a module to convert the stream media format to the<br>                                    device media format |
| **DevicePP** | Contains of processing modules for sound device<br>                                    tuning |
| **Device** | Hardware endpoint such as CodecDMA (Soundwire), I2S, or TDM<br>                                    port |

Once a front-end is connected to a back-end via a routing mixer control, the full GKV
                is formed by concatenating the subgraph GKVs and the CKVs assigned via mixer
                controls. Upon opening the front-end PCM or compress device, AGM invokes GSL APIs
                with concatenated GKVs and CKVs to set up the graph in SPF and apply calibration. At
                the same time, AGM opens a kernel PCM device corresponding to the connected
                back-ends to begin audio peripheral setup.

## Sample audio graph

The follow diagram shows an example audio graph
                for a playback scenario.

![](data:image/png;base64,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)
In this graph:
1. The stream subgraph consists of a write shared memory endpoint, PCM decoder,
                        and PCM converter. The client passes PCM samples to write shared memory
                        endpoint.
2. The PCM converter converts PCM samples to a format supported by the
                        stream-specific post-processing modules if conversion is necessary.
3. Output of the stream subgraph is fed into the stream-device subgraph, which
                        contains the media format converter (MFC). MFC converts the stream-subgraph
                        PCM to the device-subgraph PCM format.
4. After conversion, output of the stream-device subgraph is fed into the
                        device PP subgraph for device-specific post-processing. A mixer is placed at
                        the beginning of subgraph to mix input streams.
5. Output of the devicePP subgraph is then fed into the device subgraph, which
                        contains a hardware endpoint module such as an I2S driver.

The following is the GKV for this example
                graph:

    GKV1: <StreamRX1 KVs, StreamRX2 PP KVs, StreamRX1DeviceRX KVs, DeviceRX PP KVs, DeviceRX KVs>
    
    GKV2: <StreamRX2 KVs, StreamRX2 PP KVs, StreamRX2DeviceRX KVs, DeviceRX PP KVs, DeviceRX KVs>
    Copy to clipboard

## Audio calibration database (ACDB)

The ACDB is a static database located on the apps processor. It contains all
                tuning/calibration parameters for the LPAI. Calibration data for various audio
                modules for various use cases is organized in an \*.acdb file format that can be
                edited using a PC-based tool called QACT and placed on the device file system in the
                /etc/acdbdata/ folder. During use case initialization or device switch, the AML
                queries the ACDB database with a given GKV and pushes the device calibration data to
                SPF.

**Parent Topic:** [Software](https://docs.qualcomm.com/doc/80-70014-16/topic/software.html)

Last Published: Jul 15, 2024

[Previous Topic
Signal Processing Framework (SPF)](https://docs.qualcomm.com/bundle/publicresource/80-70014-16/topics/spf_sw.md) [Next Topic
Audio Bringup](https://docs.qualcomm.com/bundle/publicresource/80-70014-16/topics/bring_up.md)