a library for audio and music analysis
Branch: master
Clone or download
Latest commit 90bd27a Feb 7, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci [ci] switch circleci to pytest Nov 2, 2018
doc Merge branch 'master' into feature/pytest Dec 11, 2018
examples [examples] only delete sink if needed Dec 21, 2018
python [py] fix compilation warning in py-source Dec 23, 2018
scripts [waf] bump to 2.0.14 Feb 7, 2019
src [sink_wavwrite] call fflush in open Jan 8, 2019
tests [tests] fix input size in test-mfcc Jan 31, 2019
.appveyor.yml Merge branch 'master' into feature/pytest Nov 21, 2018
.coveragerc .coveragerc: measure branch coverage Sep 17, 2017
.gitignore [git] ignore python coverage files Dec 10, 2018
.landscape.yml .landscape.yml: also parse tests May 16, 2016
.travis.yml [ci] use linux/py3.5 to test --build-type=debug Jan 8, 2019
AUTHORS AUTHORS: use standard list of name/email Nov 5, 2009
COPYING COPYING: update from GPLv2 to GPLv3 Oct 26, 2009
ChangeLog [ChangeLog] add 0.4.9 entry Feb 7, 2019
MANIFEST.in Merge branch 'master' into feature/pytest Dec 19, 2018
Makefile Merge branch 'master' into feature/pytest Dec 1, 2018
README.md README.md, doc/statuslinks.rst: use latest for commits-since Aug 7, 2018
VERSION [VERSION] bump to 0.4.9 Feb 7, 2019
aubio.pc.in aubio.pc.in: remove trailing space Sep 16, 2017
azure-pipelines.yml [ci] fix azure vmImage field Jan 31, 2019
requirements.txt [ci] add pytest to requirements.txt Nov 2, 2018
setup.py Merge branch 'master' into feature/pytest Nov 22, 2018
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 [waf] check for errno.h Dec 22, 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.