Skip to content
Fabian-Robert Stöter edited this page Nov 20, 2016 · 35 revisions

Python in Audio Research

this is made to be comprehensive, curated list of audio libraries. There is already this list, but it not up to date and includes too much packages of special interest.

The Ecosystem

Start Python Audio in 3 Minutes

pip install soundfile
def process_audio(signal, factor=1.0):
    return signal * multiplier

# read wavfile into numpy array of shape (nb_channels, nb_samples)
audio, fs = sf.read("input.wav")
# Process audio
processed_audio = process_audio(audio, factor=0.5)
# write out processed audio to file
sf.write("out.wav", processed_audio, fs)

Graphical Dev Environments

from awesome list

  • audiolazy - Expressive Digital Signal Processing (DSP) package for Python.
  • audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
  • beets - A music library manager and MusicBrainz tagger.
  • dejavu - Audio fingerprinting and recognition.
  • django-elastic-transcoder - Django + Amazon Elastic Transcoder.
  • eyeD3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
  • id3reader - A Python module for reading MP3 meta data.
  • m3u8 - A module for parsing m3u8 file.
  • mingus - An advanced music theory and notation package with MIDI file and playback support.
  • mutagen - A Python module to handle audio metadata.
  • pydub - Manipulate audio with a simple and easy high level interface.
  • pyechonest - Python client for the Echo Nest API.
  • talkbox - A Python library for speech/signal processing.
  • TimeSide - Open web audio processing framework.
  • tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files.

Tutorials/Books

  • Python Data Science Handbook Excellent Book, look for the Tutorial notebooks
  • [http://www.scipy-lectures.org/index.html](Deep Introduction to Numpy and Scipy)

Basic Audio Packages

Read/Write

Do not use scipy.io.wavfile, because it doesn't scale the data to [0, 1] also it doesn't

Courses/Notebooks

Machine-Learning / Deep Neural Networks

  • Scikit-LEarn
  • Keras
  • Lasagne
  • Tensorflow

Optimization

Source Separation

Visualisation/Plotting

  • matplotlib
  • seaborn
  • bokeh

Statistics

  • Pandas
  • Statsmodels
  • Scipy.stats

Symbolic Music

  • Music21
  • MIDO Realtime MIDI
  • Pretty-MIDI Utility functions for handling MIDI data in a nice/intuitive way
  • Mingus

Speed

  • Numba

Bind Existing Libs

Clone this wiki locally