Finally, write audio appsin JavaScript

Simple, functional, declarative. Develop and share native audio applications with Elementary Audio, and integrate your own stack with custom embedding and extending.

Intro Video

Writing audio apps can be easy

Save time, avoid bugs, and prototype the way you ship. Watch the intro video to see how Elementary Audio can change the way that we write audio apps.

Build faster

A fundamentally different way to write audio DSP

Elementary brings the functional, reactive programming model to a world dominated by imperative, object oriented code. That means less headache, faster iteration, and unimpaired creativity.

Based on Node.js

The foundation of every Elementary application is Node.js. That means all of your favorite libraries and tools work seamlessly.

Functional

Compose signal processing blocks as pure functions, declaratively, the way it should be.

Reactive

Write your signal processing graph once, as a function of your application state, and Elementary will handle the rest.

50+ Built-in Blocks

Assemble your signal chain from a wide (and growing!) array of highly optimized, built-in native blocks.

Embed Anywhere

VST, VST3, AU, AAX, embedded linux, no problem. Write your app in Elementary, embed it anywhere.

Extend

Extend the native built-in library with your custom processors in C++. See more in embedding and extending.

Frequently asked questions

Can I write a plugin with Elementary?

Of course! Write your app with the command line tooling, then you can use the embedded C++ SDK to easily integrate the Elementary Runtime into your plugin.

Is it fast enough?

Absolutely. Under the hood, Elementary is composed of a wide array of highly optimized, native audio processing blocks. On top, Elementary is built on Node.js, a technology proven across multiple domains for high performance applications.

How do I add an interface?

Because Elementary is built on Node.js, there are plenty of options for an interface. A few popular examples: Electron, node-gui, and of course a web app. If you use the embedded SDK you can integrate the Runtime into whatever interface stack you want– JUCE, iPlug, imgui, etc.

How is Elementary licensed?

Elementary is dual licensed under either the AGPLv3, or a commercial license, at your choosing. Please refer to the full license text linked here or contact us about a commercial license.