#aubio #audio #processing #recognition #ffi

aubio-rs

Safe bindings for aubio library to label music and sounds

2 releases

✓ Uses Rust 2018 edition

0.1.2 Feb 14, 2020
0.1.0 Jan 23, 2020

#103 in Audio

GPL-3.0 license

315KB
8K SLoC

Safe aubio library bindings

License: GPL-3.0 Crates.io Package Docs.rs API Docs Travis-CI Status

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:

  • generate-bindings Runs bindgen to generate bindings (useful for unsupported archs)

Dependencies

~120KB