a library for audio and music analysis
Clone or download
Failed to load latest commit information.
.circleci .circleci/config.yml: always show and uninstall, run tests without so… Oct 1, 2018
doc doc/*.rst: use console highlighting Sep 23, 2018
examples examples/parse_args.h: avoid unreachable code, add comment Oct 5, 2018
python python/lib/gen_external.py: split long functions Sep 26, 2018
scripts scripts/get_waf.sh: verify signature if gpg available Sep 17, 2018
src src/fmat.c: using blas, not atlas Sep 22, 2018
tests tests/src/spectral/test-dct.c: check reconstruction works Aug 22, 2018
.appveyor.yml .appveyor.yml: do force waf to use msvc 14 (tests/ wont compile on 10) Sep 25, 2018
.coveragerc .coveragerc: measure branch coverage Sep 17, 2017
.gitignore .gitignore: also ignore built wheels Sep 24, 2018
.landscape.yml .landscape.yml: also parse tests May 16, 2016
.travis.yml .travis.yml: remove xcode8.2 builds, group osx, add alias pip=pip2 Feb 6, 2018
AUTHORS AUTHORS: use standard list of name/email Nov 5, 2009
COPYING COPYING: update from GPLv2 to GPLv3 Oct 26, 2009
ChangeLog ChangeLog: update to 0.4.7 Sep 23, 2018
MANIFEST.in MANIFEST.in: ship this_version.py Mar 23, 2017
Makefile Makefile: build python against libaubio to get all coverage Sep 30, 2017
README.md README.md, doc/statuslinks.rst: use latest for commits-since Aug 7, 2018
VERSION VERSION: bump to 0.4.8~alpha Sep 23, 2018
aubio.pc.in aubio.pc.in: remove trailing space Sep 16, 2017
azure-pipelines.yml azure-pipelines.yml: fail on msvc error Oct 5, 2018
nose2.cfg nose2.cfg: set multiprocess always-on=false (fixes coverage, pass -N … May 15, 2016
requirements.txt move python/setup.py to setup.py, update Makefile, add requirements May 13, 2016
setup.py Merge branch 'aubiocmd' Mar 24, 2017
this_version.py this_version.py: add options to get only libaubio or python-aubio ver… Apr 7, 2017
waf_gensyms.py waf_gensyms.py: move to own file Oct 3, 2017
wscript wscript: do not ship azure-pipelines.yml Oct 5, 2018



Travis build status Appveyor build status Landscape code health Commits since last release

Documentation DOI

aubio is a library to label music and sounds. It listens to audio signals and attempts to detect events. For instance, when a drum is hit, at which frequency is a note, or at what tempo is a rhythmic melody.

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.

aubio provide several algorithms and routines, including:

  • several onset detection methods
  • different pitch detection methods
  • tempo tracking and beat detection
  • MFCC (mel-frequency cepstrum coefficients)
  • FFT and phase vocoder
  • up/down-sampling
  • digital filters (low pass, high pass, and more)
  • spectral filtering
  • transient/steady-state separation
  • sound file read and write access
  • various mathematics utilities for music applications

The name aubio comes from audio with a typo: some errors are likely to be found in the results.

Python module

A python module for aubio is provided. For more information on how to use it, please see the file python/README.md and the manual .


The python module comes with the following command line tools:

  • aubio extracts informations from sound files
  • aubiocut slices sound files at onset or beat timestamps

Additional command line tools are included along with the library:

  • aubioonset outputs the time stamp of detected note onsets
  • aubiopitch attempts to identify a fundamental frequency, or pitch, for each frame of the input sound
  • aubiomfcc computes Mel-frequency Cepstrum Coefficients
  • aubiotrack outputs the time stamp of detected beats
  • aubionotes emits midi-like notes, with an onset, a pitch, and a duration
  • aubioquiet extracts quiet and loud regions


The latest version of the documentation can be found at:


Build Instructions

aubio compiles on Linux, Mac OS X, Windows, Cygwin, and iOS.

To compile aubio, you should be able to simply run:


To compile the python module:

./setup.py build

See the manual for more information about installing aubio.


Please use the DOI link above to cite this release in your publications. For more information, see also the about page in aubio manual.


The home page of this project can be found at: https://aubio.org/


aubio is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.


Patches are welcome: please fork the latest git repository and create a feature branch. Submitted requests should pass all continuous integration tests.