aubio/aubio logo

aubio/aubio

Free

a library for audio and music analysis

FreeFree tier
Type
Open Source

About aubio/aubio

aubio is a library for audio and music analysis that listens to audio signals and detects events such as note onsets, pitch, tempo, and beats. It provides algorithms for onset detection, pitch tracking, tempo estimation, MFCC extraction, FFT and phase vocoder processing, up/down-sampling, digital filtering, spectral filtering, transient/steady-state separation, and sound file I/O. The library includes a Python module and command-line tools (aubio, aubiocut, aubioonset, aubiopitch, aubiomfcc, aubiotrack, aubionotes, aubioquiet) for extracting information from sound files and producing MIDI streams from live audio. It is cross-platform (Linux, macOS, Windows, Cygwin, iOS) and released under the GPL v3 license.

Key Features

Onset detection (multiple methods)
Pitch detection (multiple methods)
Tempo tracking and beat detection
MFCC (Mel-frequency cepstrum coefficients) computation
FFT and phase vocoder
Up/down-sampling
Digital filters (low-pass, high-pass, etc.)
Spectral filtering
Transient/steady-state separation
Sound file read/write support

Pros & Cons

Pros
  • Comprehensive set of audio analysis algorithms in one library
  • Open-source and free (GPL v3)
  • Cross-platform support
  • Includes both a C library and Python bindings
  • Command-line tools for quick extraction of audio features
  • Active community and documentation
Cons
  • Requires programming knowledge to integrate into projects
  • GPL license may be restrictive for proprietary projects
  • Primarily targeted at developers and researchers, not end-users
  • Documentation can be technical for beginners

Best For

Onset detection for drum hits and note startsPitch tracking for melody extractionBeat and tempo estimation for rhythmic analysisAudio segmentation (e.g., slicing at onsets or beats)MFCC extraction for audio feature engineeringGenerating MIDI streams from live audioMusic information retrieval researchReal-time audio event detection

FAQ

What is aubio?
aubio is a library for audio and music analysis. It listens to audio signals and attempts to detect events such as onsets, pitch, tempo, and beats. It also provides tools for segmenting sound files, tapping the beat, and producing MIDI streams from live audio.
What operating systems are supported?
aubio compiles on Linux, Mac OS X, Windows, Cygwin, and iOS.
What algorithms does aubio include?
aubio includes several onset detection methods, pitch detection methods, tempo tracking and beat detection, MFCC (Mel-frequency cepstrum coefficients), FFT and phase vocoder, up/down-sampling, digital filters, spectral filtering, transient/steady-state separation, and various mathematics utilities for music applications.
Does aubio have a Python interface?
Yes, a python module for aubio is provided. More information is available in the file python/README.md and the manual.
What command-line tools are included?
aubio extracts information from sound files, aubiocut slices sound files at onset or beat timestamps, aubioonset outputs onset timestamps, aubiopitch identifies pitch, aubiomfcc computes MFCCs, aubiotrack outputs beat timestamps, aubionotes emits MIDI-like notes, and aubioquiet extracts quiet and loud regions.
What license is aubio released under?
aubio is free software released under the GNU General Public License (GPL) version 3 or later.