3 releases
0.2.2 | May 12, 2024 |
---|---|
0.2.1 | Mar 23, 2023 |
0.2.0 | May 16, 2021 |
#118 in Audio
97 downloads per month
Used in 9 crates
(3 directly)
4.5MB
114K
SLoC
Safe aubio library bindings
This projects aims provide safe Rust bindings for aubio C library.
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.
Crate features
The following features can be used to customize crate configuration:
- bindgen Force generate bindings itself instead of use pre-generated (useful for unsupported archs)
- builtin Force compile builtin aubio C-library
- pkg-config Use pkg-config to find installed libraries
- shared Build shared aubio C-library
- static Build static aubio C-library
- fftw3 Enable using fftw3 library
When pkg-config feature is used the installed aubio library will be used if found. To force build and link builtin version you can use builtin feature.