[][src]Crate aubio_rs

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:

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

Modules

vec

Vector data wrappers

Macros

carr
farr

Structs

FFT

FFT (Fast Fourier Transformation) 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 type

Traits

AsNativeStr

The trait for null-terminated string constants

Logger

Log output handler

SpecMethod

Spectral description function

Type Definitions

Result

The alias for result type with payload

Status

The alias for rusult type without payload