概述
优质
小牛编辑
130浏览
2023-12-01
前言
VSP(语音信号处理)是专为 GX8010 芯片研发的语音信号处理框架,它运行在 mcu、dsp、npu 和 cpu 上。 主要完成待机和工作模式下的语音信号处理,比如降噪、去混响、回声消除、波束合成、特征提取、激活词识别等。除此之外,VSP 框架还实现了原始语音数据采集、系统的启动和初始化(BootLoader)、系统状态检测、系统功耗控制、LED 环效果、USB 声卡等功能。
语音信号处理算法需要运行在 dsp 中,而一般公司的算法工程师主要专注算法的开发,不太会去详细了解比如 mcu、cpu、npu 等工作原理及其它,为了方便算法工程师在基本了解 VSP 框架后,尽快调试和优化算法,特地开发一套运行在 PC 上模拟硬件仿真用的 vsp_simulate 工程,该工程不仅仅支持 c99 而且还支持 c++98,不过不建议用 c++ 开发算法。
阅读本文前,假定读者掌握 context 的结构以及它的内存结构,假定读者安装好 DSP 工具链。如未掌握,请详细阅读:GX8010_VSP_SDK_DG.pdf
工作原理
从 wave 文件中读取音频数据,按照 VSP 框架中 context 结构封装,送到 dsp 算法进行处理。
vsp 与 vsp_simulate 区别
- 运行环境不同:vsp 含有 dsp、mcu、npu、cpu 相关驱动及其代码逻辑,是运行在 GX8010 芯片上;vsp_simultae 只含有 dsp 的算法逻辑以及处理文件的代码逻辑,是运行在 PC 上。
- wave 数据来源不同:vsp 框架中的 context 中的 wave 数据是 GX8010 芯片通过麦克风小板采集的实时 wave 数据,由 mcu 封装成一个一个的 context 后发给 dsp 去处理;vsp_simulate 是通过读取 wave 文件,模拟 mcu 封装成与 VSP 框架一致的 context,发给 dsp 算法处理。