About this project

Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval, released under the Affero GPLv3 license. It provides a broad collection of reusable algorithms covering audio input/output, standard digital signal processing blocks, statistical characterization of data, and a large set of spectral, temporal, tonal and high-level music descriptors. The library is wrapped in Python and ships with predefined executable extractors for the available music descriptors, which supports fast prototyping and rapid setup of research experiments. It also includes a Vamp plugin for use with Sonic Visualiser for visualization purposes. The project states a focus on robustness of the provided music descriptors and optimization of computational cost. Functionality is described as easily expandable, allowing both research experiments and development of large-scale industrial applications. The library is cross-platform and currently supports Linux, macOS, Windows, iOS and Android. Python packages are available via pip as `essentia` and `essentia-tensorflow` for Linux x86_64 and i686, and Docker images are published. Prebuilt static binaries for a number of command-line music extractors are also offered as an alternative to installing the full library. Documentation, installation instructions, a Python tutorial and a Jupyter Notebook tutorial are available online. Users can read the FAQ, open GitHub issues or start discussions for support. Official releases are published on GitHub, with the master branch carrying the latest updates; the README notes possible incompatibilities between different Essentia versions when using example extractors or custom code. Contributions are accepted via pull requests under the project's contribution policy and Developer's Certificate of Origin.