English

madmom: a new Python Audio and Music Signal Processing Library

Sound 2016-05-25 v1

Abstract

In this paper, we present madmom, an open-source audio processing and music information retrieval (MIR) library written in Python. madmom features a concise, NumPy-compatible, object oriented design with simple calling conventions and sensible default values for all parameters, which facilitates fast prototyping of MIR applications. Prototypes can be seamlessly converted into callable processing pipelines through madmom's concept of Processors, callable objects that run transparently on multiple cores. Processors can also be serialised, saved, and re-run to allow results to be easily reproduced anywhere. Apart from low-level audio processing, madmom puts emphasis on musically meaningful high-level features. Many of these incorporate machine learning techniques and madmom provides a module that implements some in MIR commonly used methods such as hidden Markov models and neural networks. Additionally, madmom comes with several state-of-the-art MIR algorithms for onset detection, beat, downbeat and meter tracking, tempo estimation, and piano transcription. These can easily be incorporated into bigger MIR systems or run as stand-alone programs.

Keywords

Cite

@article{arxiv.1605.07008,
  title  = {madmom: a new Python Audio and Music Signal Processing Library},
  author = {Sebastian Böck and Filip Korzeniowski and Jan Schlüter and Florian Krebs and Gerhard Widmer},
  journal= {arXiv preprint arXiv:1605.07008},
  year   = {2016}
}
R2 v1 2026-06-22T14:07:13.963Z