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.

Source Distribution

aubio-0.4.9.tar.gz (479.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page