essentia.js | JavaScript library for music/audio analysis | Audio Utils library
kandi X-RAY | essentia.js Summary
kandi X-RAY | essentia.js Summary
If you want to cite Essentia.js in a scholarly work, please use the following references. Albin Correya, Jorge Marcos-Fernández, Luis Joglar-Ongay, Pablo Alonso-Jiménez, Xavier Serra, Dmitry Bogdanov. Audio and Music Analysis on the Web using Essentia.js, Transactions of the International Society for Music Information Retrieval (TISMIR). 4(1), pp. 167–181. 2021. Albin Correya, Dmitry Bogdanov, Luis Joglar-Ongay, Xavier Serra. Essentia.js: A JavaScript Library for Music and Audio Analysis on the Web, 21st International Society for Music Information Retrieval Conference (ISMIR 2020), pp. 605-612. 2020.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of essentia.js
essentia.js Key Features
essentia.js Examples and Code Snippets
Community Discussions
Trending Discussions on essentia.js
QUESTION
I am trying to import essentia.js. When running, any attempt to import the module results in
"WebAssembly.Compile is disallowed on the main thread, if the buffer size is larger than 4KB. Use WebAssembly.compile, or compile on a worker thread."
I tried making a worker, but realized you cannot import node modules.
is it possible to handle npm imports if the wasm file is greater than 4kb? How might I do this?
For reference, I am trying to use functions from essentia.js on an Electron application. I successfully ran a test function with node test.js via cmd; not realizing it would fail on Electron.
Essentia.js has a tutorial, where they say:
Note: You shouldn't import the essentia-wasm.module.js on the main thread. The ideal way is to use it along with the AudioWorklet design pattern or with WebWorkers. Also, it is recommended to use local files instead of CDN in production. https://mtg.github.io/essentia.js/docs/api/tutorial-1.%20Getting%20Started.html
However, I do not know how to do this. I've been trying to understand what I have to do, but its quite a lot to take in.
My goal is to call Essentia functions for bpm and key analysis - but I'm very new to multithreading.
For instance, I need essentia.js-core - but this file requires the wasm file. How do I prepare the wasm file so that I may use the other files? Is this possible?
In retrospect, electron was probably not the greatest design choice - but we opted for familiarity. I know that nodeJS isn't the problem - it's the fact that this application essentially runs on a chrome browser.
...ANSWER
Answered 2021-Mar-03 at 07:22electron can support node modules in their web workers.
In webPreferences, ensure that nodeIntegrationInWorker: true is set.
for instance
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install essentia.js
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page