Android 音频插件格式 AAP 诞生,首个 AAP 宿主 UAPMD 可跨多平台运行
AAP Project 发布了适用于 Android 系统的 AAP 格式插件的 1.0 预览版,AAP 是一个插件生态系统,包含 API、一组库、来自桌面的开源插件移植。同时还推出了 UAPMD,一款参考性的插件宿主和音序器。
Windows 和其他主机系统常用 VST 插件,MacOS、iOS 和 iPadOS 系统上有 AudioUnit 插件,Linux 系统上有 LV2 插件,还有适用于以上系统的 VST2 和 VST3 插件,而 Android 系统一直缺乏常用的音频插件格式,Audio Plugins For Android (AAP) 正是为了填补这一空白。
AAP 为音频插件提供一个包容性的标准,适配 Android 应用生态系统,采用宽松的 MIT 许可证。它的设计目标是让开发者能够像使用 VST3、LV2、CLAP 等其他特定音频插件格式一样使用 AAP,只要 AAP 能支持这些格式的。需要注意的是,那些桌面格式并非为 Android 设计,AAP 更像是 iOS 上的 AudioUnit v3。
面向非开发者用户的 AAP 工具
AAP 1.0 预览版为非开发者用户提供了一些应用,其中部分已在 Google Play 商店上架,包括 AAP Project 的 UAPMD。
UAPMD 是一个参考性的插件宿主和音序器,在主机上支持 VST3、AU、LV2、CLAP,在 Android 上支持 AAP,在 iOS 上支持 AUv3,在浏览器上支持 WebCLAP。UAPMD 作为插件宿主,用户可以查询本地已安装的插件,将它们实例化为乐器或效果器,发送包括音符开/关在内的 MIDI 消息,获取和设置参数,加载预设,以及保存和加载其状态。UAPMD 作为音序器,用户可以保存和加载音乐工程、导入音频片段和 MIDI 片段、为每个轨道分配插件,还可以在简易钢琴卷帘上进行编辑,并像 DAW 一样播放。
其他插件还包括:
- AAP MDA-LV2 —— MDA 插件,从 mda-lv2 插件集移植而来。
- AAP Dexed —— Dexed FM 合成器移植到 AAP。
- AAP Surge XT —— Surge 合成器移植到 AAP(不含大型资源文件)。
- AAP Odin2 —— Odin2 合成器移植到 AAP。
- AAP OPNplug-AE —— OPNplug 是一款基于 OPN 仿真器的合成器,已移植到 AAP,是 ADLplug 项目的一部分。
- AAP BYOD —— BYOD 是一款基于神经网络的失真仿真插件,已移植到 AAP。
- AAP Wavetable —— SocaLabs 出品的波表合成器,已移植到 AAP。
- AAP Audible Planets —— Audible Planets 合成器移植到 AAP。
- AAP OB-Xf —— OB-Xf 是 OB-Xd 的一个分支,由 Surge 合成器团队维护,已移植到 AAP。
- AAP Vaporizer2 —— Vaporizer2 合成器(此前已开源)移植到 AAP。
GitHub 上还有更多开源 LV2 或 JUCE 插件的移植版本。用户可以在 UAPMD 或未来任意支持 AAP 的宿主应用上使用这些插件。每个插件应用都自带一个以 Android GUI 方式(Jetpack Compose)编写的简单宿主应用,用于功能演示。
面向开发者的 AAP 工具
AAP 1.0 预览版为开发者提供了一些组件和文件包,证明 APP 的实用性和合理性。
开发者 AAP 组件:
- LV2 桥接 —— 虽然 AAP 本身尚未提供让开发者感到舒适的稳定 API,但它提供了 LV2 插件桥接(不含 GUI 支持)。
- JUCE 模块 —— 类似于 aap-lv2,AAP 附带 JUCE 模块,JUCE 插件开发者都可以按 JUCE 的方式编写代码,只需使其能在 Android 上运行即可。
- 来自主机的插件移植 —— AAP 附带了一些开源 LV2 和 JUCE 插件的移植版本,例如 MDA-LV2、Dexed、Surge XT 和 airwindows。AAP 拥有十多个最新移植版本,其中许多已在 Google Play 商店上架,位于该开发者的个人资料页面中。
- UAPMD 插件宿主和音序器。
- CLAP 宿主辅助库 —— 适用于希望以宽松许可证使用通用 API 编写宿主的开发者。
AAP 核心本身是一个开源项目,详情:https://github.com/atsushieno/aap-core
UAPMD 可作为虚拟 MIDI 2.0 设备运行,这款跨平台多轨音频插件宿主/音序器,可实例化任意音频插件,并将其控制点暴露为虚拟 MIDI 2.0 设备。
UAPMD 虚拟 MIDI 设备应用场景:
- 以 32 位精度演奏 MIDI 2.0 乐器;使用可分配控制器以 32 位值更改插件参数,力度为 16 位。
- 只要参数和预设通过插件 API 暴露,即可将参数列表作为可分配控制器、将预设作为程序列表进行检索。
- 保存和加载插件的二进制状态(.vstpreset 等),就像在 DAW 中使用一样。
AAP Project 构建了 MIDIcci,这是一个功能齐全的 MIDI-CI 库,并配有充分利用此项目潜力的软件 MIDI 2.0 键盘:https://github.com/atsushieno/midicci/
UAPMD 作为插件宿主和音序器软件,是一个概念验证音序器应用,应用场景:
- 管理一个主轨道和多个轨道,每个轨道都包含一个音频插件列表,以及音频片段和 MIDI 片段。
- 将 SMF 标准 MIDI 文件导入到多个轨道。
- 使用 STEM 分离器(demucs.cpp)将音频文件导入到多个轨道。
- 保存和加载整个工程。
- 通过 JavaScript 以及 MCP 服务器进行完整的外部控制。
UAPMD 支持 Windows、MacOS、Linux、Android、iOS 系统,插件格式为 VST3、AU、AUv3、LV2、CLAP、AAP,在浏览器上支持 WebCLAP。
UAPMD免费下载:
- Linux、Windows 和浏览器版本:https://github.com/atsushieno/uapmd/releases
- MacOS 版本可使用 Homebrew 安装(brew install atsushieno/oss/uapmd)
- Android 版本已发布在 Google Play 商店:https://play.google.com/store/apps/details?id=dev.atsushieno.uapmd
AAP 插件格式官网:https://androidaudioplugin.org/
转载新闻请注明出自 Midifan.com