What is aubio ?
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.
Because these tasks are difficult, we thought it was important to gather them in a dedicated library. To increase the fun, we have made these algorithms work in a causal way, so as to be used in real time applications with as low delay as possible. Functions can be used offline in sound editors and software samplers, or online in audio effects and virtual instruments.
aubio currently provides the following features:
- digital filters
- phase vocoder
- onset detection (several methods)
- pitch tracking (several methods)
- beat and tempo tracking
- mel frequency cepstrum coefficients (MFCC)
- transient / steady-state separation
aubio is written in C and is known to run on most modern architectures and platforms.
The Python interface has been written in C so that aubio arrays can be viewed directly in Python as NumPy arrays. This makes the aubio module quite efficient, not to say fast.
As of version 0.4.0, aubio has no required dependencies. Optionally, aubio can be built with libav, libsndfile, libsamplerate and FFTW (none of these are needed on Apple platforms). On Linux platforms, aubio can be built using JACK, while on Apple machines, JackOSX and AudioToolbox can be used.
Note: aubio is not MIT or BSD licensed. Contact the author if you need it in your commercial product.