essentia.js

alt text

Build Status npm version License: AGPL v3

Essentia.js enables extensive collection of music/audio analysis algorithms on your web-client and/or Node.js applications.

You can find the latest releases on Github or on npm.

Builds Reference

Core JS API

Imports core JS API interface as Essentia namespace.

WebAssembly (WASM) modules

Imports a custom Emscripten WASM Module object EssentiaWASM to the global namespace which has JS bindings to Essentia WASM back-end.

Essentia WASM back-end

The Essentia WASM back-end allows us to use all the essentia standard mode C++ algorithms except the ones mentioned here in JavaScript. The WASM back-end provides JS bindings to the generated custom C++ wrapper using emscripten embind through EssentiaJS class.

The detailed documentation for Essentia C++ algorithms can be found here.

Add-on JS modules

EssentiaModel

Run pre-trained Essentia-Tensorflow audio ML models for music analysis.

EssentiaPlot

EssentiaExtractor

Note: ‘*’ corresponds to whether it’s a minified build or not.

TypeScript Interface

Essentia.js also provides TypeScript programming interface which can be found along with the builds. The build files (*.d.ts) can be found within the dist directory bundled on NPM. The source code can be found here.