A Critique of Audio Plug-In Formats
VST, AU, AAX, JUCE and Beyond
Audio plug-in formats such as VST, AU, and AAX have revolutionized the audio workflow, empowering a whole industry of creative coders. However, as programming paradigms and user expectations evolve, the design decisions of these established formats must be re-evaluated. This talk critically examines these design choices, exploring how they can be improved, and there is a new contender: CLAP.
The presentation is divided into two sections: a developer-focused critique and a customer-centric analysis. The developer-focused section delves into fundamental design flaws in plug-in APIs, such as stateful lifecycle management, poor single-use interface design, and why the overarching synchronous “process block” design may become quickly outdated with ever-increasing specialized hardware. The talk also discusses more audio plug-in specific issues like ambiguous parameter/state ownership, the limited utility of the “maxSamplesPerBlock” parameter, and what we can learn from Linux about negotiating bus formats.
The second section critiques audio plug-ins from the user’s standpoint. The talk explores major pain points such as lack of portability, cumbersome copy-protection mechanisms, and the archaic practice of plug-in scanning. The section concludes with a call-to-action for the industry to adopt unified standards as the only real solution to these problems.
Fabian Renn-Giles
Director
Fielding DSP
Fabian is a freelance C++ programmer, entrepreneur and consultant in the audio software industry. Before this, he was staff engineer at ROLI Ltd. and the lead maintainer/developer of the JUCE C++ framework (www.juce.com) - an audio framework used by thousands of commercial audio software companies. Before joining ROLI, he completed his PhD at Imperial College London, developing a numerical quantum optics solver with modern digital signal processing techniques and C++/MPI/OpenCL. Fabian is now a regular consultant specializing on low-level real-time C++, embedded audio, time sensitive networks, audio over WiFi and audio plug-in formats. His clients range from early startups to FAANG companies. Additionally, he is a regular speaker at the audio developer conference ADC and other C++ conferences.