a library for audio and music analysis
GPL-3.0 License
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:
The name aubio comes from audio with a typo: some errors are likely to be found in the results.
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 filesaubiocut
slices sound files at onset or beat timestampsAdditional 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, foraubiomfcc
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 regionsThe 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 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.