Essentia is a C++ library for audio analysis and music information retrieval that provides Python bindings and command-line tools for music descriptor extraction.
The library addresses the need for robust, computationally efficient audio analysis by bundling an extensive collection of reusable algorithms covering audio input/output, digital signal processing blocks, statistical characterization, and music descriptors spanning spectral, temporal, tonal, and high-level characteristics. Its design emphasizes both the reliability of music descriptors and algorithmic efficiency, making it suitable for research prototyping and large-scale industrial applications. The tool includes predefined executable extractors for common music descriptors, a Vamp plugin for visualization in Sonic Visualiser, and Python bindings that enable rapid experimentation without requiring C++ compilation.
The library suits researchers and engineers working with audio analysis at any scale, from quick prototyping to production systems. It is cross-platform, supporting Linux, macOS, Windows, iOS, and Android. Python users can install via pip, while those preferring not to build the full library can download prebuilt static binaries for command-line extractors. The functionality is designed to be easily expandable, allowing users to add custom algorithms alongside the built-in descriptors.
Development activity shows consistent maintenance with automated wheel building for Python distribution across platforms. The project maintains active issue tracking and discussion forums for user support, with documentation including tutorials and frequently asked questions. The master branch receives regular updates, and the codebase is organized to support both research experimentation and production deployment.