Crate aubio_rs[−][src]
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
carr | |
farr |
Structs
FFT | FFT (Fast Fourier Transformation) object |
FilterBank | 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 |
SpecDesc | Spectral description object |
Tempo | Tempo detection object |
Enums
Error | The error type |
LogLevel | Logging level |
OnsetMode | Onset detection function |
PitchMode | Pitch detection method |
PitchUnit | Pitch output unit |
ResampleMode | Resampling method |
SpecShape | Spectral shape descriptor |
WindowType | The window function type |
Traits
AsNativeStr | The trait for null-terminated string constants |
Logger | Log output handler |
SpecMethod | 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) |
Type Definitions
Result | The alias for result type with payload |
Smpl | Sample data type |
Status | The alias for rusult type without payload |