Home 9 Resources 9 Software Tools

Software Tools

The software are presented alphabetically. Additionally to the list of software tools presented below, here is an evaluation of eight feature extraction toolboxes from Moffat et al. (2015).

Aubio

Extraction of annotations from audio signals, written in C and has a Python interface. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.

Chroma Toolbox

MATLAB implementations for extracting various types of novel pitch-based and chroma-based audio features.

Essentia

An open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPLv3 license (also available under proprietary license upon request) which has been developed by the Music Technology Group in Universitat Pompeu Fabra. Essentia was awarded with the Open-Source Competition of ACM Multimedia in 2013.

FMP Notebooks

Jupyter/Python notebooks for teaching and learning Fundamentals of Music Processing (FMP).

jAudio

Java-based stand alone application with a Graphic User Interface (GUI) and a Command Line Interface (CLI), which can batch process and outputs XML and ARFF formats.

jMIR

An open-source software suite implemented in Java for use in music classification research. It can be used to study music in both audio and symbolic formats, as well as mine cultural information from the web and manage music collections. jMIR includes software for extracting features, applying machine learning algorithms, mining metadata and analyzing metadata.

libfmp

Python package that goes along with the FMP notebooks.

librosa

Python package for music and audio processing.

libtsm

Python package for Time-Scale Modification (TSM) and pitch-shifting.

LibXtract

Libxtract can extract low level features in real time. It is written in C, Max-MSP, Pure Data, Super Collider and Vamp.

Marsyas

Full real time feature extraction tool usable via a command line interface or a graphic user interface. It is written in C++ and Vamp and proposed a SVM machine learning algorithm.

Meyda

Low-level feature extraction written in Javascript and so is aimed toward web-based and real time applications.

MIR Toolbox

Low and high level audio feature extraction. It is written in Matlab and includes preprocessing, classification, similarity measures and clustering functionality.

mir_eval

Python library for computing common heuristic accuracy scores for various music/audio information retrieval/signal processing tasks.

Similarity Matrix (SM) Toolbox

MATLAB implementations for computing and enhancing similarity matrices in various ways.

Sync Toolbox

Python package with reference implementations for full-fledged music synchronization pipelines.

Tempogram Toolbox

MATLAB implementations for extracting various types of recently proposed tempo and pulse related audio representations.

Timbre Toolbox

Matlab toolbox for low and high level feature extraction.

Time-Scale Modification (TSM) Toolbox

MATLAB implementations of various classical time-scale modification algorithms like OLA, WSOLA, and the phase vocoder, among more recent advances.

Music Recognition, Encoding, and Transcription

Transcription assistance tool using Deep Learning techniques developed by the PRAIG group in Alicante. Digitize your manuscripts with ease.

YAAFE

Low level feature extraction library designed for computational efficiency and batch processing. It is written in C++ and can be used with Python and Matlab.