Skip to main content

a collection of tools for music analysis

Project description

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.

Links

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aubio, version 0.4.9
Filename, size & hash File type Python version Upload date
aubio-0.4.9.tar.gz (479.0 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page