@nick-thompson/elementary

The official Elementary Audio signal processing library

Usage no npm install needed!

<script type="module">
  import nickThompsonElementary from 'https://cdn.skypack.dev/@nick-thompson/elementary';
</script>

README

Elementary Audio Logo

Website | Documentation | Discord Chat

Elementary is a JavaScript framework for writing functional, declarative audio applications with a high performance, native audio engine. Elementary aims to lower the barrier to entry into the audio application space, eliminate the gap between prototyping and production, and bring the functional reactive programming model to DSP.

Watch the intro video for the full story.

Web Audio Example

import {ElementaryWebAudioRenderer as core, el} from '@nick-thompson/elementary';

core.on('load', function() {
  core.render(el.cycle(440), el.cycle(441));
});

(async function main() {
  let node = await core.initialize(ctx, {
    numberOfInputs: 0,
    numberOfOutputs: 1,
    outputChannelCount: [2],
  });

  node.connect(ctx.destination);
})();

Licensing

Elementary is available for use under either the PolyForm Strict 1.0.0 license included in LICENSE.md, or under the terms of a commercial license, at your choosing. Please contact nick@elementary.audio to inquire for a commercial license.

For use under the PolyForm Strict 1.0.0 license you must also include a note, "Made with Elementary Audio" either somewhere on the visible part of your application or webpage, or within the documentation.