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.
essentia.js-core*.js
- IIFE import for web browsers.essentia.js-core.umd*.js
- UMD import.essentia.js-core.es*.js
- ES6 style import.
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.web.wasm
- Essentia WASM back-end for asynchronous imports.essentia-wasm.web.js
- JS glue code for loadingessentia-wasm-web.wasm
(can be used with HTML<script>
tag).essentia-wasm.umd.js
- Essentia WASM back-end for synchronous imports (UMD import and AudioWorklet support).essentia-wasm.es.js
- Essentia WASM back-end for synchronous imports (ES6 style import and AudioWorklet support).
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.
essentia.js-model*.js
- IIFE import for web browsers.essentia.js-model.umd*.js
- UMD import.essentia.js-model.es*.js
- ES6 import.
EssentiaPlot
essentia.js-plot*.js
- IIFE import for web browsers.essentia.js-plot.umd*.js
- UMD import.essentia.js-plot.es*.js
- ES6 import.
EssentiaExtractor
essentia.js-extractor*.js
- IIFE import for web browsers.essentia.js-extractor.umd*.js
- UMD import.essentia.js-extractor.es*.js
- ES6 import.
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.