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 and audio devices 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.
A python module to access the library functions is also provided. Please see
the file python/README.md
for more information on how to
use it.
A few simple command line tools are included along with the library:
aubioonset
outputs the time stamp of detected note onsetsaubiopitch
attempts to identify a fundamental frequency, or pitch, for each frame of the input soundaubiomfcc
computes Mel-frequency Cepstrum Coefficientsaubiotrack
outputs the time stamp of detected beatsaubionotes
emits midi-like notes, with an onset, a pitch, and a durationaubioquiet
extracts quiet and loud regions
Additionally, the python module comes with the following script:
aubiocut
slices sound files at onset or beat timestamps
The latest version of the documentation can be found at:
https://aubio.org/documentation
aubio compiles on Linux, Mac OS X, Windows, Cygwin, and iOS.
To compile aubio, you should be able to simply run:
make
To compile the python module:
./setup.py build
See also the manual for more information about installing aubio.
This library gathers music signal processing algorithms designed at the Centre for Digital Music and elsewhere. This software project was developed along the research I did at the Centre for Digital Music, Queen Mary, University of London. Most of this C code was written by myself, starting from published papers and existing code. The header files of each algorithm contains brief descriptions and references to the corresponding papers.
Special thanks go Juan Pablo Bello, Chris Duxbury, Samer Abdallah, Alain de Cheveigne for their help and publications. Also many thanks to Miguel Ramirez and Nicolas Wack for their bug fixing.
Substantial informations about the algorithms and their evaluation are gathered in:
- Paul Brossier, Automatic annotation of musical audio for interactive systems, PhD thesis, Centre for Digital music, Queen Mary University of London, London, UK, 2006.
Additional results obtained with this software were discussed in the following papers:
-
P. M. Brossier and J. P. Bello and M. D. Plumbley, Real-time temporal segmentation of note objects in music signals, in Proceedings of the International Computer Music Conference, 2004, Miami, Florida, ICMA
-
P. M. Brossier and J. P. Bello and M. D. Plumbley, [Fast labelling of note objects in music signals] (https://aubio.org/articles/brossier04fastnotes.pdf), in Proceedings of the International Symposium on Music Information Retrieval, 2004, Barcelona, Spain
The home page of this project can be found at: https://aubio.org/
Questions, comments, suggestions, and contributions are welcome. Use the mailing list: [email protected].
To subscribe to the list, use the mailman form: https://lists.aubio.org/listinfo/aubio-user/
Alternatively, feel free to contact directly the author.
Copyright (C) 2003-2016 Paul Brossier [email protected]
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.