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).

Description Link
aubio is a tool designed for the extraction of annotations from audio signals. 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. It is written in C and has a Python interface.
P. M. Brossier, "The aubio library at MIREX 2006," MIREX 2006, p. 1, 2006.
Chroma Toolbox - MATLAB implementations for extracting various types of novel pitch-based and chroma-based audio features. [link]
Essentia is 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.
D. Bogdanov, N. Wack, E. Gómez, S. Gulati, P. Herrera, O. Mayor, G. Roma, J. Salamon, J. R. Zapata, and X. Serra, "Essentia: An audio analysis library for music information retrieval.," in ISMIR, 2013, pp. 493-498.
jAudio is a 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. [link]
jMIR is 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. [link]
LibRosa is a python package for music and audio processing.
B. McFee, M. McVicar, C. Raffel, D. Liang, and D. Repetto, "librosa: v0.3.1," Nov. 2014.
Libxtract can extract low level features in real time. It is written in C, Max-MSP, Pure Data, Super Collider and Vamp.
J. Bullock and U. Conservatoire, "Libxtract: A lightweight library for audio feature extraction," in Proceedings of the International Computer Music Conference, 2007, vol. 43.
Marsyas is a 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.
G. Tzanetakis and P. Cook, "Marsyas: A framework for audio analysis," Organised sound, vol. 4, no. 03, pp. 169-175, 2000.
Meyda can extract low level feature. It is written in Javascript and so is aimed toward web-based and real time applications. MIR
H. Rawlinson, N. Segal, and J. Fiala, "Meyda: an audio fea- ture extraction library for the web audio api," in Web Audio Conference.Web Audio Conference, 2015.
MIR Toolbox can extract low and high level audio features. It is written in Matlab and includes preprocessing, classification, similarity measures and clustering functionality.
O. Lartillot and P. Toiviainen, "A matlab toolbox for musical feature extraction from audio," in International Conference on Digital Audio Effects, 2007, pp. 237-244.
Similarity Matrix (SM) Toolbox - MATLAB implementations for computing and enhancing similarity matrices in various ways. [link]
Tempogram Toolbox - MATLAB implementations for extracting various types of recently proposed tempo and pulse related audio representations. [link]
Timbre Toolbox is a Matlab toolbox for low and high level feature extraction.
G. Peeters, B. L. Giordano, P. Susini, N. Misdariis, and S. McAdams, "The timbre toolbox: Extracting audio descriptors from musical signals," The Journal of the Acoustical Society of America, vol. 130, no. 5, pp. 2902-2916, 2011.
Time-scale Modification (TMS) Toolbox - MATLAB implementations of various classical time-scale modification algorithms like OLA, WSOLA, and the phase vocoder, among more recent advances. [link]
YAAFE is a 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.
B. Mathieu, S. Essid, T. Fillon, J. Prado, and G. Richard, "YAAFE, an easy to use and efficient audio feature extraction software.," in ISMIR, 2010, pp. 441-446.