Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added docs/_images/alsa_lib_toolbar_menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/bin_output_directory.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/binary_group_naming.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/configure_metadata_format.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/group_subgraphs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/subgraph_gkv_selection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/use_case_selection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_images/usecase_gkv_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
560 changes: 560 additions & 0 deletions docs/_sources/dev/alsalib_using_audioreach.rst.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions docs/_sources/dev/index.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ AudioReach Developer Guides
dev_workflow
plat_port
available_modules
alsalib_using_audioreach
2 changes: 2 additions & 0 deletions docs/_sources/index.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ Welcome to AudioReach

Announcements
*************
* (5/7/2026): The newly added :ref:`alsa_lib_using_audioreach` guide covers how to use ALSA lib with AudioReach to realize audio use-cases.

* (10/6/2025): The newly added :ref:`dev_workflow` guide provides a starting point for developers to learn about the AudioReach developer workflow.

* (8/22/2025): Two documentation pages have been recently released:
Expand Down
46 changes: 45 additions & 1 deletion docs/_sources/platform/raspberry_pi4.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ Raspberry Pi 4

4. `Running an AudioReach Usecase <#running-an-audioreach-usecase>`__

5. `Troubleshooting <#troubleshooting>`__
5. `Using ALSA lib with AudioReach <#using-alsa-lib-with-audioreach>`__

6. `Troubleshooting <#troubleshooting>`__

This guide provides AudioReach Architecture overview on Raspberry Pi platform and walks through steps on how to create a Yocto image that integrates AudioReach,
load that image on a Raspberry Pi4 device, and then run an AudioReach usecase.
Expand Down Expand Up @@ -134,6 +136,17 @@ To ensure the AudioReach system image is compiled as a part of the full Yocto bu

IMAGE_INSTALL:append = "audioreach-graphservices tinyalsa audioreach-graphmgr audioreach-engine audioreach-conf"

To enable ALSA lib support, add the following ALSA packages to the "local.conf" file:

.. code-block:: bash

IMAGE_INSTALL:append = " \
alsa-lib \
alsa-utils \
alsa-tools \
alsa-state \
"

Raspberry Pi devices do not have a DSP, so instead support for ARE (AudioReach engine) on the APPS processor must be enabled. To do this, add these additional lines to the "local.conf" file:

.. code-block:: bash
Expand Down Expand Up @@ -278,6 +291,37 @@ Once all of the above setup is complete, follow the below steps to run an audio
Now the ".wav" file should play through the external audio device. If the Raspberry Pi is connected to ARC, the current usecase graph will appear in the graph view.
The system logs for the usecase will be saved in the file "/var/log/messages".

Using ALSA lib with AudioReach
==============================

ALSA lib provides an alternative interface for audio playback and capture on the Raspberry Pi.
The ALSA lib packages included in the Yocto build provide additional audio utilities and tools
that can be used alongside AudioReach.

For detailed information on ALSA lib integration with AudioReach, including metadata generation,
configuration, and advanced use-cases, please refer to :ref:`alsa_lib_using_audioreach`.

Using aplay for Audio Playback
------------------------------

**aplay** is an ALSA lib test application that serves as an alternative
to **agmplay** for audio playback. To use aplay with AudioReach:

* Ensure the **agm_server** is running in a terminal:

.. code-block:: bash

agm_server

* In another terminal, use aplay to play an audio file:

.. code-block:: bash

aplay -D agm:100,100 /[path_to_audio_file]/<clip_name>.wav

.. note::
The arguments ``agm:100,100`` correspond to ``CARD=100`` and ``DEV=100`` as defined in the AGM virtual sound card configuration. Card ID ``100`` identifies the AGM virtual sound card (``virtualsndcard``), and device ID ``100`` refers to ``PCM100``, the playback PCM device defined under that card. For capture, device ID ``101`` (``PCM101``) would be used instead. These IDs are not fixed by the plugin itself — they are defined in the virtual sound card definition file and must match accordingly.

Troubleshooting
===============

Expand Down
2 changes: 1 addition & 1 deletion docs/api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="AudioReach Engine APIs" href="arspf_api.html" />
<link rel="prev" title="Linux ASoC Architecture" href="../design/linux_asoc_arch.html" />
<link rel="prev" title="Linux ASoC Architecture" href="../design/linux_asoc_arch.html" />
</head>

<body class="wy-body-for-nav">
Expand Down
20 changes: 10 additions & 10 deletions docs/arc/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
<link rel="stylesheet" type="text/css" href="../_static/audioreach.css" />


<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->

<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
Expand All @@ -24,17 +24,17 @@
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Platform Reference Guide" href="../platform/index.html" />
<link rel="prev" title="Available Audio Modules" href="../dev/available_modules.html" />
<link rel="prev" title="ALSA lib using AudioReach" href="../dev/alsalib_using_audioreach.html" />
</head>

<body class="wy-body-for-nav">
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >



<a href="../index.html" class="icon icon-home">
AudioReach Documentation
</a>
Expand Down Expand Up @@ -96,7 +96,7 @@
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">

<section id="audioreach-creator">
<span id="arc-design"></span><h1>AudioReach Creator<a class="headerlink" href="#audioreach-creator" title="Permalink to this heading"></a></h1>
<nav class="contents local" id="contents">
Expand Down Expand Up @@ -218,7 +218,7 @@ <h4><a class="toc-backref" href="#id15" role="doc-backlink">Domain Layer</a><a c
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../dev/available_modules.html" class="btn btn-neutral float-left" title="Available Audio Modules" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../dev/alsalib_using_audioreach.html" class="btn btn-neutral float-left" title="ALSA lib using AudioReach" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../platform/index.html" class="btn btn-neutral float-right" title="Platform Reference Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>

Expand All @@ -231,7 +231,7 @@ <h4><a class="toc-backref" href="#id15" role="doc-backlink">Domain Layer</a><a c
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.


</footer>
</div>
Expand All @@ -242,7 +242,7 @@ <h4><a class="toc-backref" href="#id15" role="doc-backlink">Domain Layer</a><a c
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</script>

</body>
</html>
1 change: 1 addition & 0 deletions docs/dev/adding_modules.html
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
</li>
<li class="toctree-l2"><a class="reference internal" href="plat_port.html">Platform Porting Guide</a></li>
<li class="toctree-l2"><a class="reference internal" href="available_modules.html">Available Audio Modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="alsalib_using_audioreach.html">ALSA lib using AudioReach</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../arc/index.html">AudioReach Creator</a></li>
Expand Down
Loading
Loading