a library for audio and music analysis
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.