Skip to content

faroit/awesome-python-scientific-audio

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 

Python for Scientific Audio

Awesome Build Status

The aim of this repository is to create a comprehensive, curated list of python software/tools related and used for scientific research in audio/music applications.

Contents

Audio Related Packages

  • Total number of packages: 66

Read-Write

  • audiolazy :octocat: 📦 - Expressive Digital Signal Processing (DSP) package for Python.
  • audioread :octocat: 📦 - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
  • mutagen :octocat: 📦 - Reads and writes all kind of audio metadata for various formats.
  • pyAV :octocat: - PyAV is a Pythonic binding for FFmpeg or Libav.
  • (Py)Soundfile :octocat: 📦 - Library based on libsndfile, CFFI, and NumPy.
  • pySox :octocat: 📦 - Wrapper for sox.
  • stempeg :octocat: 📦 - read/write of STEMS multistream audio.
  • tinytag :octocat: 📦 - reading music meta data of MP3, OGG, FLAC and Wave files.

Transformations - General DSP

Feature extraction

  • aubio :octocat: 📦 - Feature extractor, written in C, Python interface.
  • audiolazy :octocat: 📦 - Realtime Audio Processing lib, general purpose.
  • essentia :octocat: - Music related low level and high level feature extractor, C++ based, includes Python bindings.
  • python_speech_features :octocat: 📦 - Common speech features for ASR.
  • pyYAAFE :octocat: - Python bindings for YAAFE feature extractor.
  • speechpy :octocat: 📦 - Library for Speech Processing and Recognition, mostly feature extraction for now.
  • spafe :octocat: 📦 - Python library for features extraction from audio files.

Data augmentation

Speech Processing

Environmental Sounds

  • sed_eval :octocat: 📦 - Evaluation toolbox for Sound Event Detection

Perceptial Models - Auditory Models

Source Separation

  • commonfate :octocat: 📦 - Common Fate Model and Transform.
  • NTFLib :octocat: - Sparse Beta-Divergence Tensor Factorization.
  • NUSSL :octocat: 📦 - Holistic source separation framework including DSP methods and deep learning methods.
  • NIMFA :octocat: 📦 - Several flavors of non-negative-matrix factorization.

Music Information Retrieval

  • Catchy :octocat: - Corpus Analysis Tools for Computational Hook Discovery.
  • Madmom :octocat: 📦 - MIR packages with strong focus on beat detection, onset detection and chord recognition.
  • mir_eval :octocat: 📦 - Common scores for various MIR tasks. Also includes bss_eval implementation.
  • msaf :octocat: 📦 - Music Structure Analysis Framework.
  • librosa :octocat: 📦 - General audio and music analysis.

Deep Learning

  • Kapre :octocat: 📦 - Keras Audio Preprocessors
  • TorchAudio :octocat: - PyTorch Audio Loaders
  • nnAudio :octocat: 📦 - Accelerated audio processing using 1D convolution networks in PyTorch.

Symbolic Music - MIDI - Musicology

  • Music21 :octocat: 📦 - Toolkit for Computer-Aided Musicology.
  • Mido :octocat: 📦 - Realtime MIDI wrapper.
  • mingus :octocat: 📦 - Advanced music theory and notation package with MIDI file and playback support.
  • Pretty-MIDI :octocat: 📦 - Utility functions for handling MIDI data in a nice/intuitive way.

Realtime applications

  • Jupylet :octocat: - Subtractive, additive, FM, and sample-based sound synthesis.
  • PYO :octocat: - Realtime audio dsp engine.
  • python-sounddevice :octocat: 📦 - PortAudio wrapper providing realtime audio I/O with NumPy.
  • ReTiSAR :octocat: - Binarual rendering of streamed or IR-based high-order spherical microphone array signals.

Web Audio

  • TimeSide (Beta) :octocat: - high level audio analysis, imaging, transcoding, streaming and labelling.

Audio Dataset and Dataloaders

Wrappers for Audio Plugins

Tutorials

Books

Scientific Papers

Other Resources

Related lists

There is already PythonInMusic but it is not up to date and includes too many packages of special interest that are mostly not relevant for scientific applications. Awesome-Python is large curated list of python packages. However, the audio section is very small.

Contributing

Your contributions are always welcome! Please take a look at the contribution guidelines first.

I will keep some pull requests open if I'm not sure whether those libraries are awesome, you could vote for them by adding 👍 to them.

License

License: CC BY 4.0

About

Curated list of python software and packages related to scientific research in audio

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published