CLAP: The New Audio Plug-in Standard

We announced CLAP the new Audio Plugin Standard in June 2022. Here's what it's all about.

Mission Statement

CLAP 1.0 is the result of a long-term project initiated by u-he and Bitwig, with design and implementation contributions by a group of commercial and open-source audio developers from across our industry. As we proceed beyond the initial set of extensions, we are committed to establishing a transparent process to govern the standard that allows participation from the entire audio software industry. We also welcome participation from the development community.

Learn more about the advantages of CLAP and how to get started on the CLAP homepage:
www.cleveraudio.org

We’ve also participated in a streamed panel interview about CLAP conducted and hosted by Sonic State. Watch the video to learn more about our motivation and what purpose it serves. Aside from the current implementation today, we also shed a light on the vision for CLAP for the future.

CLAP Announcement Text

Bitwig and u-he are excited to announce CLAP (“CLever Audio Plug-in API”), the new open standard for audio plug-ins and hosts. CLAP offers modern features, innate stability, and rapid support for plug-in and host developers. And since it's open source and liberally licensed, CLAP is a safe bet for the future.

Advantages of CLAP for Musicians

Developed in collaboration with experts from diverse fields in the music software industry, CLAP is a cutting-edge plug-in standard, designed for modern computers, software, and paradigms. CLAP caters to novel DAW concepts, and opens up new horizons for what a plug-in can do or be.

Here are some immediately useful advantages of CLAP:

Better Performance From Modern CPUs

Developed with modern CPUs in mind, CLAP takes multi-thread management to a new level, with a clear and efficient allocation of roles between plug-in and host. Specifically, CLAP allows collaborative multicore support between plug-in and host through a so-called “thread-pool”, also allowing hosts to manage CPU-threading for plug-ins that provide their own multicore support. Preliminary tests show significant performance gains compared with current solutions.

Better and Faster Organization

CLAP hosts can read plug-in metadata and help organize your plug-ins. As CLAP hosts can retrieve information from plug-ins without having to wait for them to initialize, plug-in scans can be much faster.

Furthermore, we’re currently finalizing an extension which lets plug-ins tell the host which files they need (e.g. samples or wavetables), and the host can consolidate those in the project file. That means you'll never lose a sample while transferring a project between systems!

Better Modulation

The CLAP standard promotes new ways to create music with automation, modulation, and expressions. Here are a few examples:

  • CLAP supports per-note automation and modulation (in accordance with the recent MIDI 2.0 specifications).
  • Going one step further, CLAP’s parameter modulation concept allows for temporary parameter offsets. Parameter modulation is non-destructive, so as soon as the modulation has finished, the target parameter will return to its original state.
  • CLAP makes it possible for polyphonic plug-ins to have their per-voice parameters modulated for individual notes (“MPE on steroids”).

With this new standard we aim to inspire host developers to add exciting new features to their products. Initial implementations by Bitwig, u-he and the Surge project demonstrate just a few of the possibilities.

Information for Plug-In and Host Developers

The KISS (keep it simple, silly) mantra belongs to CLAP. From the C-only ABI, which allows binding to any programming language, to the transparent client-server model between host and plug-in, the robustness and clarity of the threading model, and the single event queue for all kinds of parameter changes, timing and MIDI. Despite being so comprehensive, everything in CLAP is easy to find and easy to implement.

A single cpp/hpp glue layer for C++ offers a quick start into the ABI, and its built-in “proxy layer” finds common threading bugs in an instant. Apropos C-only ABI: There are no platform specific dependencies: In theory CLAP should also run well on embedded platforms, game consoles or specialized supercomputers.

Open Source & Liberal License

CLAP is open source, released under the MIT license: No fees, memberships or proprietary license agreements are required before developing or distributing a CLAP capable host or plug-in, and the license never expires. In a nutshell, there are no entry hurdles for developers, and plenty of open source projects already benefit from CLAP.

MIDI Just Works!

Inspired by MPE and MIDI 2.0, CLAP can adapt to any future MIDI standard. Wherever a solid standard exists, we allow developers to freely decide how to apply it. Plug-ins can receive and send any MIDI event on multiple ports.

Extensibility & Governance

A simple system for extensions makes CLAP future-proof. Companies can offer proprietary extensions if required for specific features.

Further Resources

Martin Diers (a.k.a. teilo) has set up a database of all available CLAP plug-ins and hosts:
https://clapdb.tech

June 15, 2022

Share this on:


Explore More