README.md

aubio

aubio is a collection of tools for music and audio analysis.

This package integrates the aubio library with NumPy to provide a set of efficient tools to process and analyse audio signals, including:

  • read audio from any media file, including videos and remote streams
  • high quality phase vocoder, spectral filterbanks, and linear filters
  • Mel-Frequency Cepstrum Coefficients and standard spectral descriptors
  • detection of note attacks (onset)
  • pitch tracking (fundamental frequency estimation)
  • beat detection and tempo tracking

aubio works with both Python 2 and Python 3.

Demos

Some examples are available in the python/demos folder. Each script is a command line program which accepts one ore more argument.

Notes: installing additional modules is required to run some of the demos.

Analysis

  • demo_source.py uses aubio to read audio samples from media files
  • demo_onset_plot.py detects attacks in a sound file and plots the results using matplotlib
  • demo_pitch.py looks for fundamental frequency in a sound file and plots the results using matplotlib
  • demo_spectrogram.py, demo_specdesc.py, demo_mfcc.py for spectral analysis.

Real-time

Others

  • demo_timestretch.py can change the duration of an input file and write the new sound to disk,
  • demo_wav2midi.py detects the notes in a file and uses mido to write the results into a MIDI file

Example

Use demo_timestretch_online.py to slow down loop.wav, write the results in stretched_loop.wav:

$ python demo_timestretch_online.py loop.wav stretched_loop.wav 0.92

Built with

The core of aubio is written in C for portability and speed. In addition to NumPy, aubio can be optionally built to use one or more of the following libraries:

  • media file reading:

    • ffmpeg / avcodec to decode and read audio from almost any format,
    • libsndfile to read audio from uncompressed sound files,
    • libsamplerate to re-sample audio signals,
    • CoreAudio to read all media formats supported by macOS, iOS, and tvOS.
  • hardware acceleration:

    • Atlas and Blas, for accelerated vector and matrix computations,
    • fftw3, to compute fast Fourier Transforms of any size,
    • Accelerate for accelerated FFT and matrix computations (macOS/iOS),
    • Intel IPP, accelerated vector computation and FFT implementation.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t