嗨,超级认真工程师伙伴们,今天要带你们开箱实战 Kymera Stream Probe(KSP)录制与诊断 DSP 音频流的利器!
KSP 是高通在 ADK 平台上专为 Kymera DSP 音频图设计的数据监控、录制与验证工具。本文将以 QCC30xx/51xx/518x 等系列芯片为例,从固件配置、KSP 实现、录音流程、Graph 架构、ACAT 流可视化等方面,完整讲解如何高效使用 KSP 于蓝牙耳机音频流录制与调试,并附常用脚本与工程注释,供认真负责的工程师参考。
A. 什么是 KSP
1. KSP(Kymera Stream Probe)是高通 Kymera 架构下的专业“音频流捕获与分析”工具。
2. 可在 DSP 实际运行时,捕获指定处理节点(如 EQ、ANC、AEC、解码器等)的原始音频数据。这些录制下来的数据有助于在分析音质、质量、找出问题源、验证算法或进行 A/B 测试。
B. KSP的基本原理
1. KSP 通过与开发板的 TRB(建议使用 USB3.0)连接,读取 DSP 内部 Graph 中目标 Transform Buffer 的数据。
2. 开发者可指定要抓取哪一段 Stream 与 Channel,由 KSP 工具将这些数据录制成原始音频文件(RAW/WAV),供离线分析。
C. 安装与环境需求
1. 硬件/固件
- 支持 KSP 的 Qualcomm 芯片(如 QCC512x/514x/517x/518x 等)
- ADK开发板与ACAT工具
- TRB 连接器(强烈建议使用 USB3.0)
2. 软件环境
- 建议在独立的 Python 3.7.4 虚拟环境中安装 KSP
- 完整的 ADK 工具链
D. 固件/项目配置
1. KSP 可下载路径示例:
-. audio\qcc518x_qcc308x\kalimba_ROM_14612\kymera\prebuilt_dkcs\maor_rom_release\download_ksp.edkcs
2. KSP固件/项目配置:
- 在 ro_fs 项目中挂载 download_ksp.edkcs
- 在 `headset\src\headset_setup_audio.c` 中加入 KSP downloadable
E. KSP 录制实施流程
1. 查找转换 ID
-. 使用 ACAT 工具连接目标设备。
-. 通过 ACAT 的 stream.create_graph_img() 获取 Audio Graph 各节点的 Transform ID。
-. 选定要抓取的节点,记下其 ID。
2. 启动虚拟环境与 KSP
-. c:\...>c:\qtil\ADK_Toolkit_1.2.21.13_x64\activate.bat
-. ATK...>ksp --version
3. 连接设备并设置录制参数
-. ATK...>ksp.exe trb:scar -f <workspace_path>
-. ATK>config_stream 0
-. 处理器 [0]: 0
-. 数据类型:PCM32
-. 转换ID(空格分隔的ID):0x1c14
-. 样本 [0]:
-. 采样率 [0]:
-. 缓冲区大小 [0]:
-. KSP> set_output_filename <你的文件名>
-. KSP> 启动
4. 按 Enter 结束录制,raw 文件自动存于当前路径。
5. 会自动输出录制结果、数据条数、通道数、文件名称。
结语
KSP 是高通 DSP 音频开发工程师深入分析信号流的必备工具。
善用 KSP 不仅能大幅提升 Debug 效率,也有助于音频质量优化与算法快速验证。
面对日益复杂的音频应用场景,熟练掌握 KSP 操作,将为你的项目开发与维护增添极大助力!
[问与答]
Q1: KSP录制的最大stream和channel数是多少?
A1: 最多 2 个流,每个流最多 4 个通道,并且所有通道必须同步。
Q2: 在哪些情况下需要使用KSP进行调试?
A2: 当遇到音质异常、杂音、音效不如预期、算法验证、跨部门协作,或需提取 DSP 内部数据进行深入分析时。
Q3: KSP能抓取哪些资料?
A3: 可撷取 DSP graph 中指定 transform buffer 的资料,包括 PCM、DATA16/32 格式,适⽤于⾳讯通道、原始解码资料或演算法中间结果。
Q4: 怎么找到要录制的Transform ID?
A4: ⽤ ACAT ⼯具连线⽬标装置,执⾏ stream.create_graph_img() 或 stream.analyse_transforms() 指令,并从graphviz产⽣的图或列表中取得Transform ID。
Q5:KSP录制文件格式是什么?要怎么转成WAV?
A5: KSP录制下来的档案是.lrw(raw data),可⽤ksp_extract.exe⼯具转出WAV/RAW档,需正确指定sample rate与channel。