Skip to main content
由低功耗 AI(LPAI)驱动的音频子系统提供语音用户界面和音频体验。它使用基于硬件的专用 AI 加速器来执行基于机器学习的工作。
音频组件概述

音频组件概述

音频系统包括:
  • 应用处理器 – 处理音频处理任务的 CPU。任务包括:
    • 管理音频录制和播放
    • 解码音频格式
    • 使用 LPAI 执行后处理任务
  • 低功耗 AI(LPAI) – 运行音频播放/录制和语音激活(VA)算法的子系统。它集成了专用的 Qualcomm® Hexagon™ 处理器(QDSP6)和低功耗岛(LPI)。
  • 音频编解码器 – 硬件,包括:
    • 模数转换器(ADC)
    • 数模转换器(DAC)它们将模拟音频转换为数字音频,反之亦然。
  • 扬声器功放和麦克风 – 通过 I2S/TDM/SoundWire 连接的设备。

架构

下图展示了高层音频软件架构。
高层音频软件架构
高层音频软件架构

高层音频软件架构

以下是主要的音频软件架构组件: 应用程序 1 一个通用多媒体应用,产生或消费音频,并通过更高层的框架(如 GStreamer 或 PipeWire)发送音频,而不是直接与硬件交互。 应用程序 2 另一个共享同一音频栈的应用,展示多个应用程序可以同时使用和路由音频流。 GStreamer 一个多媒体框架,在将音频流传递给系统音频层之前处理音频/视频(例如解码、编码)。 PipeWire 一个用户空间音频服务器,管理应用程序与硬件设备之间的音频路由、混音和连接。 ALSA + ASoC FWK 该层在用户空间和硬件驱动程序之间架起桥梁,ALSA 负责声音子系统功能,ASoC 管理嵌入式音频硬件交互。 Q6 APM 驱动程序 一个 Qualcomm 专用驱动程序,与 DSP 的音频处理管理器(Audio Processing Manager)通信,以控制音频路由和处理。 PCM 驱动程序 处理原始数字音频(PCM 数据)在内存与音频子系统之间的传输,用于播放或录制。 DAI 驱动程序 管理数字音频接口(如 I2S/TDM),配置音频数据在处理器和编解码器之间的传输方式。 CODEC 驱动程序 控制音频编解码器硬件,配置其将数字音频信号转换为模拟输出,反之亦然。 PipeWire PipeWire 是 Linux 的多媒体服务器,负责在应用与硬件之间路由音频。它取代了 PulseAudio,为应用程序提供低延迟、安全且灵活的媒体处理。 平台抽象层(PAL) 提供更高层的音频专用 API,用于访问音频硬件和驱动程序,以启用音频功能。 音频图管理器(AGM) 提供接口,允许基于 TinyALSA 的混音器控制以及 PCM/压缩插件进行交互并启用音频功能。 AudioReach 图服务(ARGS) 由图服务层(GSL)、通用数据包路由器(GPR)和 acdb 管理层(AML)模块组成。负责图的初始化和创建,以及创建用于向 AudioReach 引擎(ARE)发送一系列命令的数据包。 音频校准数据库(acdb) 包含有关各种音频用例的信息,例如图、模块校准数据等。应用处理器解析 acdb 文件,以获取 ARE 用于启用用例的图信息。 AudioReach 引擎(ARE) 运行在 LPAI DSP 上的模块化框架。它有助于设置、配置和运行音频功能的信号处理模块。 Qualcomm 音频校准工具(QACT™ 平台) 基于 PC 的软件,提供 GUI,用于可视化、配置音频图并将其存储在 acdb 中以供音频用例使用。

后续步骤