Expand description
§Safe bindings for aubio library
This crate provides safe Rust bindings to 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 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
- intelipp Enable using Intel IPP library
- accelerate Enable using acceleration framework on apple platforms
- blas Enable using blas library
- atlas Enable using atlas library
- double Enable double presicion of audio sample data
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.
The features such as fftw3, intelipp, accelerate, blas, atlas and double is take an effect only for builtin aubio C library.
Modules§
- Vector data wrappers
Macros§
Structs§
- FFT (Fast Fourier Transformation) object
- Filterbank object.
- Closure logger wrapper
- Logging
- MFCC object
- Recognized note data
- Notes detection object
- Onset detection object
- Phase vocoder object
- Pitch detection object
- Resampler object
- Spectral description object
- Tempo detection object
Enums§
- The error type
- Logging level
- Onset detection function
- Pitch detection method
- Pitch output unit
- Resampling method
- Spectral shape descriptor
- The window function type
Traits§
- The trait for null-terminated string constants
- Log output handler
- Spectral description function
Functions§
- Convert frequency bin to frequency (Hz)
- Convert frequency bin to frequency (Hz)
- Convert frequency bin to midi value
- Compute sound pressure level (SPL) in dB.
- Convert frequency (Hz) to frequency bin
- Convert frequency (Hz) to midi value in range 0..128
- Convert frequency (Hz) to frequency bin
- Convert frequency (Hz) to mel
- Convert frequency (Hz) to mel
- Get buffer level if level >= threshold, 1.0 otherwise
- Compute sound level on a linear scale.
- Convert mel to frequency (Hz)
- Convert mel to frequency (Hz)
- Convert midi value to frequency bin
- Convert midi value in range 0..128 to frequency (Hz)
- Check if buffer level in dB SPL is under a given threshold.
- Compute the principal argument
- Zero-crossing rate (ZCR)
Type Aliases§
- The alias for result type with payload
- Sample data type
- The alias for rusult type without payload