Releases: MTG/essentia.js
Releases · MTG/essentia.js
Essentia.js v0.1.3
Essentia.js v0.1.2
Essentia.js v0.1.1
Changelog 0.1.1
Added
- Added
essentia.js-model
add-on module to facilitate the end-to-end use of pre-trained tensorflow.js audio ML models distributed on Essentia Tensorflow Model repository. - Added both real-time and offline use-case examples for using essentia.js and tensorflow.js along with documentation (see #51, #53, #54).
- See #56 for overall changes added for the 0.1.1 release.
Changes
- Changed namespaces in node.js entrypoint. ie. Now, all the add-on modules are also exposed in the node.js import (see #50).
- Re-organized the directory structure of the source code and related scripts in terms of category of the module.
- Essentia WASM backend sync build files are now distributed as both UMD and ES6 compatiable formats (
essentia-wasm.umd.js
andessentia-wasm.es.js
).
Essentia.js v0.1.0
Changelog 0.1.0
Added
- Added support for new algorithms for pitch extraction (Melodia), EBU R128 loudness, and downmixing stereo signals, etc. (see #6 and #30).
- Added example of how to write custom C++ features extractors and their Essentia WASM JS bindings for performance-demanding applications (see here).
- Normal and minified builds of Essentia.js are done separately.
Changes
- Removed algorithms with non-supported IO wrappers from the bindings (see #27).
- Changed global namespace
EssentiaModule
toEssentiaWASM
in Essentia WASM backend imports (see #29). - Dockerfile updated to compile and build from upstream code (see #25).
- Adapted the examples and documentation template with the upstream source.
- Minor fixes in
essentia.js-plot
add-on module. - Enhanced build scripts for building both WASM and JS API. Updated CI/CD scripts and settings accordingly.
- Minor fixes in the
essentia.js-extractor
add-on modules. Updated default parameter settings. Changed the module interface to work with a single audio frame. - Add
delete
method in theessentia.js-core*
API.
Essentia.js v0.0.9
Changelog 0.0.9
- Typescript API for core essentia.js algorithms
- Add-on classes for easy-to.use extractors and visualizing audio features in a DOM object.
- Updated build scripts to bundle the final distros by adding a Typescript compiler and rollup to the chain.
- Improved API documentation generated using jsdoc.
- Added tutorials and starter web application examples for both realtime and offline audio feature extraction tasks.
Builds Reference
Core JS API
essentia.js-core.js
-Essentia
main JS interface for web browsers.essentia.js-core.es.js
-Essentia
main JS interface for ES6 imports.
WASM modules
Imports an Emscripten WASM Module object EssentiaModule
to the global namespace which has JS bindings to essentia C++ library 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.module.js
- essentia WASM back-end for synchronous imports (ES6 style import and AudioWorklet support).
Add-on JS modules
essentia.js-extractor.js
-EssentiaExtractor
import for web browsersessentia.js-extractor.es.js
-EssentiaExtractor
for ES6 imports.essentia.js-plot.js
-EssentiaPlot
import for web browsersessentia.js-plot.es.js
-EssentiaPlot
for ES6 imports.
Essentia.js v0.0.9-dev
Adds test version of core JS API to essentia.js using typescript wrapper.
Essentia.js v0.0.8-alpha
This is the first alpha pre-release version of essentia.js
.
The following wasm builds of essentia are distributed:-
essentia.wasm
- Asynchronous WASM build of generic javascript bindings for essentia C++ library.essentia.js
- JS glue code for loadingessentia.wasm
(can be used with HTML<script>
tag).essentia-module.js
- Synchronous build of generic javascript bindings for essentia C++ library (ES6 import/export and AudioWorklet support).essentia.tools.js
- Utility methods for usingessentia.js
with your web applications such as converting JS typed arrays to and from essentia input types, loading audio etc.
NOTE: Node JS users can get
essentia.js
from npm bynpm install essentia.js