free-audio/clap logo

free-audio/clap

Free

Audio Plugin API

FreeFree tier
Type
Open Source
Company
free-audio

About free-audio/clap

CLAP (CLever Audio Plugin) is an open-source, cross-platform audio plugin API that provides a stable ABI for communication between Digital Audio Workstations (DAWs) and audio plugins such as synthesizers, effects, and more. It emphasizes backward compatibility, allowing plugin binaries compiled with CLAP 1.x to be loaded by any CLAP 1.y host. The API is defined in C with a clean extension system, covering fundamental features like state saving/loading, parameter management, note and audio ports, surround and ambisonic channel mappings, and host-provided resource directories. CLAP is designed to be extensible, enabling third-party extensions and community contributions.

Key Features

Stable ABI with backward compatibility (CLAP 1.x binary works with any 1.y host)
C-based interface with clap.h header and extension system
Fundamental extensions: state, state-context, resource-directory, params, note-ports, audio-ports, surround, ambisonic, configurable-audio-ports, audio-ports-config, audio-ports-activation, extensible-audio-ports
Host and plugin interfaces defined as structs (clap_host, clap_plugin)
Thread-safe method specifications for all extension functions
UTF-8 string support throughout API
Provides minimal example plugin template (src/plugin-template.c)
Third-party extension support with versioned identifiers

Pros & Cons

Pros
  • Open-source and free to use
  • Backward-compatible binary ABI ensures long-term stability
  • Well-documented with clear header files and examples
  • Extensible architecture via custom extensions
  • Cross-platform support (Windows, macOS, Linux)
  • Neutral and community-driven (developed under free-audio organization)
Cons
  • Relatively smaller ecosystem and adoption compared to VST3 or AU
  • Being an ABI standard, requires careful implementation by both hosts and plugin developers

Best For

Building audio plugins (synthesizers, effects, samplers) for DAWsIntegrating CLAP plugin support into digital audio workstationsDeveloping cross-platform audio software requiring a stable and extensible plugin APICreating custom plugin extensions for specialized audio processing needs

FAQ

What does CLAP stand for?
CLAP stands for CLever Audio Plugin.
What is the ABI of CLAP?
CLAP provides a stable Application Binary Interface (ABI) that ensures backward compatibility: a plugin binary compiled with CLAP 1.x can be loaded by any host using CLAP 1.y.
How do I start using CLAP?
Include the header clap/clap.h and implement the required entry point and extensions. A minimal example is provided in src/plugin-template.c.
Does CLAP support custom extensions?
Yes, developers can create and share their own extensions. Extension identifiers must include versioning in case of ABI breaks and must be unique.