Responsive image

Essentia in the browser

Luis Joglar-Ongay, Albin Correya, Pablo Alonso-Jiménez, Xavier Serra, Dmitry Bogdanov
ABSTRACTWeb technologies are evolving every day providing higher capabilities and enabling all kinds of software. We believe that audio signal processing and other MIR related tasks should not be an exception, and there is a clear interest and need of such web tools in this community. Ideally, these tools should be developed to be as powerful as the ones already available on other languages such as C/C++ and Python. This motivation drove our exploration on how to use Essentia [2], an open source C++ library for music and audio analysis, description and synthesis developed by the Music Technology Group of the Universitat Pompeu Fabra, in the web client as a JavaScript library using Emscripten [6] and WebAssembly [3].The biggest strength we see in using the same code both in the browser and in native applications is the robustness of our development process. This way all our data and efforts can be put into improving the algorithm available in Essentia instead of having to maintain two implementations in two different programming languages.In this talk, we will present the steps to follow to use Essentia in the client, as well as some use cases. We will also discuss difficulties we encountered during the implementation, such as problems compiling Essentia for Emscripten. Furthermore, we will analyze some decisions we took along the way and other questions that are still open.
            
@inproceedings{2019_51,
  abstract = {ABSTRACTWeb technologies are evolving every day providing higher capabilities and enabling all kinds of software. We believe that audio signal processing and other MIR related tasks should not be an exception, and there is a clear interest and need of such web tools in this community. Ideally, these tools should be developed to be as powerful as the ones already available on other languages such as C/C++ and Python. This motivation drove our exploration on how to use Essentia [2], an open source C++ library for music and audio analysis, description and synthesis developed by the Music Technology Group of the Universitat Pompeu Fabra, in the web client as a JavaScript library using Emscripten [6] and WebAssembly [3].The biggest strength we see in using the same code both in the browser and in native applications is the robustness of our development process. This way all our data and efforts can be put into improving the algorithm available in Essentia instead of having to maintain two implementations in two different programming languages.In this talk, we will present the steps to follow to use Essentia in the client, as well as some use cases. We will also discuss difficulties we encountered during the implementation, such as problems compiling Essentia for Emscripten. Furthermore, we will analyze some decisions we took along the way and other questions that are still open.},
  address = {Trondheim, Norway},
  author = {Joglar-Ongay, Luis and Correya, Albin and Alonso-Jiménez, Pablo and Serra, Xavier and Bogdanov, Dmitry},
  booktitle = {Proceedings of the International Web Audio Conference},
  editor = {Xambó, Anna and Martín, Sara R. and Roma, Gerard},
  month = {December},
  pages = {114--115},
  publisher = {NTNU},
  series = {WAC '19},
  title = {Essentia in the browser},
  year = {2019},
  ISSN = {2663-5844}
}