8000 aubio/python at master · aubio/aubio · GitHub
[go: up one dir, main page]

Skip to content
{"props":{"color_mode":"dark","logged_in":false,"marketing_page":false,"home_path":"/","login_path":"/login?return_to=https%3A%2F%2FGitHub.com%2Faubio%2Faubio%2Ftree%2Fmaster%2Fpython%2F","signup_path":"/signup?ref_cta=Sign+up\u0026ref_loc=header+logged+out\u0026ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Ffiles%2Fdisambiguate\u0026source=header-repo\u0026source_repo=aubio%2Faubio","signup_enabled":true,"is_signup_controller":false,"show_search_and_nav":true,"hide_search":false,"private_mode_enabled":false,"should_use_dotcom_links":true,"auth_hydro_click":"{\"event_type\":\"authentication.click\",\"payload\":{\"location_in_page\":\"site header menu\",\"repository_id\":null,\"auth_type\":\"SIGN_UP\",\"originating_url\":\"https://GitHub.com/aubio/aubio/tree/master/python\",\"user_id\":null}}","auth_hydro_click_hmac":"fbbf6056b6c4111ca1ffd7117b0c7d1f81c768aeb5727532c5e5cef54c0d1f25"}}

Latest commit

 

History

History

python

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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.

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.
0