模式

关于代码库

所有Gen2Bongiovi SDK都是由一个统一的C代码库构建的。 这使得相同的代码可用于操作系统应用(嵌入式和标准)以及专门的数字信号处理芯片解决方案。

为了实现这种灵活性,Bongiovi 代码库没有建立在面向对象的基础上。 相反,库可以很容易地建立,以支持适合目标平台的有限数量的算法实例。 例如,Linux/Android/iOS/Windows SDKs(默认)支持20个实例,而恩智浦Dirana 3解决方案(及其约300kb的内存限制)被构建为支持最多2个立体实例。 当平台需要时,一个实例处理程序在后台提供动态分配。

通过将核心的C语言音频处理代码和实例处理程序包裹在一个C++接口中,支持面向对象的应用。 在不能使用C++的情况下,也为这个接口提供了C语言头文件。

Bongiovi SDK模式图
  1. 算法区块
  2. 实例(单声道或立体声
  3. 实例处理程序
    • 嵌入式或 dsp 解决方案一般不包括这一层。 实例是通过底层 C API 明确定义的。
  4. 本地API
    • 每个实例的音频处理功能
    • 用户控制
    • 加载嵌入式预置(链接 ProDef.c)
    • 从 BGPS 文件加载
  5. 通信(远程)API
    • 发送/接收所有参数
    • 加载嵌入式预置
    • 接收仪表数据(用于配置文件创建器调整)
    • 接收当前预置数据
    • 调试和错误处理
  6. C++接口
    • 为特定应用提供 "灵敏度 "等元功能。
    • 可根据客户要求添加元功能。
    • 嵌入式或 dsp 解决方案通常不包括这一层。 我们提供了一个直接的 C 解决方案。
  7. C 方便的接口
    • 当需要在 C++ 层之上添加 C 层时,就需要使用它。

当使用C接口时,C++组件仍然会存在。 因此,在构建应用程序时必须使用C++链接器。

预置和参数

音频处理参数集可通过链接 ProDef.c 文件或加载 BGPS 文件嵌入最终解决方案。 详情请参阅预置管理工作流程

这个页面对你有帮助吗?