arXiv:2606.13193eess.AScs.PL2026-06被引 1

将Faust音频代码编译为CLAP插件,支持静态高效与动态修改两种模式。

A Dual-Mode Faust-to-CLAP Compilation System

  • 双模式编译:静态生成最优原生二进制,动态运行时解释实现无中断修改
  • 解决参数绑定难题,确保结构变化后控制值与自动化保持一致
  • 适合音频开发人员快速迭代,避免频繁编译重载的繁琐流程

我们介绍 faust2clap,一个首次官方维护的从 Faust DSP 规范到 CLAP 格式的编译框架。系统包含两种模式:静态模式通过提前编译生成高效原生二进制文件;动态模式在运行时解释执行,允许不中断宿主应用修改 DSP 代码。后者解决了音频软件开发中长期存在的编辑-编译-重载循环累积开销问题。文中详细阐述了两种模式的算法机制,重点解决参数身份识别问题。为在结构变更后仍保持参数值及其与宿主自动化的绑定关系,引入基于地址的身份匹配算法和稳定的槽位分配方案。该实现包含约 2,400 行 C++ 架构代码与 Python 工具代码,已集成至主 Faust 分发版本中。

原文摘要 · Abstract (English)

We describe faust2clap, a framework establishing the first officially maintained compilation pathway from Faust DSP specifications to the CLAP format. The system operates in two different modes. A static mode employs ahead-of-time compilation to yield native binaries of optimal efficiency, while a dynamic mode uses runtime interpretation to permit DSP code modification without interrupting the host application. This latter capability addresses a persistent friction in audio software development, namely the cumulative overhead of the edit, compile, and reload cycle. We detail the algorithmic machinery underlying both modes, focusing specifically on the problem of parameter identity. To preserve both parameter values and their bindings to host automation across structural DSP mutations, we introduce an address-based identity matching algorithm and a stable slot allocation scheme. The implementation, comprising approximately 2,400 lines of C++ architecture and Python tooling code, has been integrated into the main Faust distribution.

音频处理编译器动态编程

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。