Expand description
§Safe bindings for aubio 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
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.
Modules§
- vec
- Vector data wrappers
Macros§
Structs§
- FFT
- FFT (Fast Fourier Transformation) object
- Filter
Bank - Filterbank object.
- FnLogger
- Closure logger wrapper
- Log
- Logging
- MFCC
- MFCC object
- Note
- Recognized note data
- Notes
- Notes detection object
- Onset
- Onset detection object
- PVoc
- Phase vocoder object
- Pitch
- Pitch detection object
- Resampler
- Resampler object
- Spec
Desc - Spectral description object
- Tempo
- Tempo detection object
Enums§
- Error
- The error type
- LogLevel
- Logging level
- Onset
Mode - Onset detection function
- Pitch
Mode - Pitch detection method
- Pitch
Unit - Pitch output unit
- Resample
Mode - Resampling method
- Spec
Shape - Spectral shape descriptor
- Window
Type - The window function type
Traits§
- AsNative
Str - The trait for null-terminated string constants
- Logger
- Log output handler
- Spec
Method - Spectral description function
Functions§
- bin_
to_ freq - Convert frequency bin to frequency (Hz)
- bin_
to_ hz - Convert frequency bin to frequency (Hz)
- bin_
to_ midi - Convert frequency bin to midi value
- db_spl
- Compute sound pressure level (SPL) in dB.
- freq_
to_ bin - Convert frequency (Hz) to frequency bin
- freq_
to_ midi - Convert frequency (Hz) to midi value in range 0..128
- hz_
to_ bin - Convert frequency (Hz) to frequency bin
- hz_
to_ mel - Convert frequency (Hz) to mel
- hz_
to_ mel_ htk - Convert frequency (Hz) to mel
- level_
detection - Get buffer level if level >= threshold, 1.0 otherwise
- level_
lin - Compute sound level on a linear scale.
- mel_
to_ hz - Convert mel to frequency (Hz)
- mel_
to_ hz_ htk - Convert mel to frequency (Hz)
- midi_
to_ bin - Convert midi value to frequency bin
- midi_
to_ freq - Convert midi value in range 0..128 to frequency (Hz)
- silence_
detection - Check if buffer level in dB SPL is under a given threshold.
- unwrap_
2pi - Compute the principal argument
- zero_
crossing_ rate - Zero-crossing rate (ZCR)