AudioReach Project Overview
SDK Overview
AudioReach project aims to deliver a comprehensive and complete end-to-end audio software solution to support a broad range of audio and voice use cases across a diverse set of SoC’s and product devices (handset, compute, wearables, hearables, xr, automotive telematics / infotainment, etc). The AudioReach SDK contains the essential components to support a seamless development workflow from off-target to on-target and flexibility to customize and tailor the processing to the capabilities and constraints of the SoC and product device (multiple cores, peripheral devices, etc). See diagrams below for highlights of SDK and workflow enabled by the SDK. In addition, refer to AudioReach Architecture Overview to learn about overall architecture as this page makes several references to key software components in the AudioReach software offering.
Platform Support
Operating System Support
AudioReach Engine
Linux
OS Platform Software
Linux: two architectural flavors are offered
Plug-in architecture is for developers looking for full feature set of what AudioReach has to offer
ALSA/ASoC driver architecture is for developers who are accustomed to kernel ALSA/ASoC framework
Hardware Platform
SoCs
Qualcomm SoCs
SoC’s with APPs processor running linux and supports ALSA sound card.
Boards
Qualcomm RB3 Gen2
Raspberry Pi 4
Tools
AudioReach Creator(ARC), also known as Qualcomm Audio Configuration Tool (QACT) currently, is the most essential tool of entire SDK. ARC enables the entire audio system design workflow. QACT public edition is available through Qualcomm Package Manager which can be downloaded from Qualcomm Developer Network.
NOTE: QACT currently runs only on Windows, with future plans to support on Linux and release an open-source version.
Source Code Repository
At high-level, AudioReach software components resides in various git repositories. Diagram below gives visual reference to components vs. repositories mapping across processor domains. One would be able to find corresponding repositories in GitHub project site. At the time of writing, only Linux platform is supported. However, more OS platforms will be planned and announced at Roadmap section of this page.
Cross-platform Software Components
AudioReach Graph Services
AudioReach Engine including Signal Processing Framework(SPF) and processing modules
Linux Adaptation
Linux platform support is offered with two architectural flavors. For developers looking to utilize full feature set of what AudioReach has to offer, build the product with architecture as depicted in the diagram below. Following software components would need to be pulled from corresponding git repositories
AudioReach Kernel Drivers
Audio Graph Manager
For developers looking for ALSA support at Linux kernel level, AudioReach ALSA/ASoC drivers are already available in Linux Kernel under <KERNEL>/sound/soc/qcom/qdsp6.
Build Recipe
The AudioReach meta layer provides the necessary recipes and configurations to build AudioReach software using the OpenEmbedded build system. This layer is curretly designed to support only Yocto.
For detailed instructions on how to set up and use the meta layer, please refer to the README file at meta-audioreach
Contribution & Project Governance
Contributions are most welcome. Contribution guideline for each source repository is documented in CONTRIBUTING.md.
AudioReach project is open for self-appointing council governance structure
License
Project is licensed under the BSD-3-clause License.
Roadmap
Feedback to help shaping AudioReach roadmap or contribution to pull in the timeline is highly welcome.