Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andreimatveyeu/awesome-python-audio

Awesome Python resources related to audio and music
https://github.com/andreimatveyeu/awesome-python-audio

List: awesome-python-audio

audio awesome-list awesome-lists awesome-python python python-audio python-music

Last synced: 3 months ago
JSON representation

Awesome Python resources related to audio and music

Awesome Lists containing this project

README

        

# Awesome Python Audio and Music 🎵

A curated list of Python tools, libraries, and resources for audio and music processing, analysis, synthesis, and playback.

## Analysis and Visualization

- [aubio](https://github.com/aubio/aubio): a library for audio and music analysis
- [audio-fingerprint-identifying-python](https://github.com/itspoma/audio-fingerprint-identifying-python): The Shazam-similar app, that can identify the song using audio fingerprints & spectrum analysis and Fast Fourier transform
- [audioFlux](https://github.com/libAudioFlux/audioFlux): A library for audio and music analysis, feature extraction.
- [AudioLazy](https://github.com/danilobellini/audiolazy): Expressive digital signal processing (DSP) package for Python
- [AudioOwl](https://github.com/dodiku/AudioOwl): Fast and simple music and audio analysis using RNN in Python
- [BregmanToolkit](https://github.com/bregmanstudio/BregmanToolkit): Audio and Music Analysis and Synthesis in Python
- [Essentia](https://github.com/MTG/essentia): C++ library for audio and music analysis, description and synthesis, including Python bindings
- [freesound-python](https://github.com/MTG/freesound-python): Freesound API wrapper to retrieve information and analysis descriptors
- [librosa](https://github.com/librosa/librosa): Python package for music and audio analysis
- [Madmom](https://github.com/CPJKU/madmom): Madmom is an audio signal processing library written in Python with a strong focus on music information retrieval (MIR) tasks.
- [mir_eval](https://github.com/craffel/mir_eval): Evaluation functions for music/audio information retrieval/signal processing algorithms.
- [paura](https://github.com/tyiannak/paura): Python AUdio Recording and Analysis (paura)
- [pyAudioAnalysis](https://github.com/tyiannak/pyAudioAnalysis): Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications
- [Pyo](https://github.com/belangeo/pyo): Python DSP module with advanced analysis functionalities
- [Realtime_PyAudio_FFT](https://github.com/aiXander/Realtime_PyAudio_FFT): Realtime audio analysis in Python, using PyAudio and Numpy to extract and visualize FFT features from streaming audio.
- [scipy.signal](https://docs.scipy.org/doc/scipy/reference/signal.html): Signal processing routines for SciPy
- [Spleeter](https://github.com/deezer/spleeter): Deezer source separation library including pretrained models.
- [timeside](https://github.com/Parisson/TimeSide): TimeSide is a Python framework enabling low and high level audio analysis, imaging, transcoding, streaming and labelling.

## Audio Manipulation

- [audiomentations](https://github.com/iver56/audiomentations): Audio data augmentation
- [audioread](https://github.com/beetbox/audioread): Backend-agnostic decoding of sound files
- [babycat](https://github.com/babycat-io/babycat): An audio manipulation library for Rust, Python, WebAssembly, and C.
- [matchering](https://github.com/sergree/matchering): Open Source Audio Matching and Mastering
- [Matchering-cli](https://github.com/sergree/matchering-cli): Simple Matchering 2.0 Command Line Application
- [noisereduce](https://github.com/timsainb/noisereduce): Noise reduction using spectral gating in Python
- [numpy & scipy.io.wavfile](https://docs.scipy.org/doc/scipy/reference/io.html): Read/write and manipulate WAV files
- [pedalboard](https://github.com/spotify/pedalboard): ython library for working with audio: reading, writing, rendering, adding effects, and more.
- [pyAudioProcessing](https://github.com/jsingh811/pyAudioProcessing): Audio feature extraction, classification, segmentation
- [pydsm](https://github.com/google-research/sound-separation): Toolkit for sound manipulation using Deep Learning
- [PyDub](https://github.com/jiaaro/pydub): Manipulate audio with a simple and easy high level interface
- [PythonAudioEffects](https://github.com/nxbyte/PythonAudioEffects): A Python library that can apply: darth vader, echo, radio, robotic, and ghost effects to audio samples.
- [pytorch/audio](https://github.com/pytorch/audio): Data manipulation and transformation for audio signal processing, powered by PyTorch
- [simpleaudio](https://github.com/hamiltron/py-simple-audio): Playback and recording functionality
- [SoundDevice](https://github.com/spatialaudio/python-sounddevice): Play and record audio without resorting to C libraries
- [soundfile](https://github.com/bastibe/SoundFile): Read and write sound files
- [SoX](https://github.com/rabitt/pysox): Python wrapper for SoX, Swiss Army knife of sound processing
- [wave](https://docs.python.org/3/library/wave.html): Read and write WAV files (standard library module)

## Datasets

### Audio

- [AudioSet](https://research.google.com/audioset/): Large-scale dataset of manually annotated audio events
- [Birdsong](https://www.kaggle.com/c/birdsong-recognition): Dataset of annotated bird songs and calls
- [ESC-50](https://github.com/karolpiczak/ESC-50): Environmental sound classification dataset
- [Free Spoken Digit Dataset](https://github.com/Jakobovski/free-spoken-digit-dataset): Dataset of spoken digits in English
- [Freesound Dataset](https://datasets.freesound.org/fsd/): A free audio dataset of spoken digits. Think MNIST for audio.
- [RAVDESS](https://zenodo.org/record/1188976): Audio-visual dataset of emotional speech and song
- [Speech Commands](https://ai.googleblog.com/2017/08/launching-speech-commands-dataset.html): Dataset for speech command recognition
- [TIDIGITS](https://catalog.ldc.upenn.edu/LDC93S10): Spoken digit dataset for speech recognition
- [UrbanSound8K](https://urbansounddataset.weebly.com/urbansound8k.html): 8,000 urban sound samples categorized into 10 classes
- [VCTK](https://datashare.ed.ac.uk/handle/10283/3443): Multispeaker speech dataset for voice technologies
- [VoxCeleb](http://www.robots.ox.ac.uk/~vgg/data/voxceleb/): Large-scale speaker identification dataset

### Music

- [AcousticBrainz](https://acousticbrainz.org/download): Dataset for computational music analysis
- [Beatport EDM Key](https://zenodo.org/record/1101082): Dataset for electronic dance music tracks and their musical key
- [DALI](https://github.com/gabolsgabs/DALI): Dataset of lyrics and audio with time alignments
- [DEAM](https://cvml.unige.ch/databases/DEAM/): MediaEval Affective Impact of Movies Task dataset for music emotion recognition
- [FMA](https://github.com/mdeff/fma): Free Music Archive dataset for music analysis
- [hsmusic](https://github.com/Didayolo/hsmusic): Huge symbolic music dataset
- [IRMAS](https://www.upf.edu/web/mtg/irmas): Instrument recognition in musical audio signals
- [Jamendo Audio Tagging](https://github.com/MTG/mtg-jamendo-dataset): Dataset for multi-label audio tagging
- [MAESTRO](https://magenta.tensorflow.org/datasets/maestro): MIDI dataset for training music generation models
- [MagnaTagATune](http://mirg.city.ac.uk/codeapps/the-magnatagatune-dataset): Dataset for music annotation and audio tagging
- [MedleyDB](https://medleydb.weebly.com/): Dataset for multi-track mixing
- [Musdb18](https://sigsep.github.io/datasets/musdb.html): Dataset for music source separation
- [NSynth](https://magenta.tensorflow.org/datasets/nsynth): Large-scale and high-quality dataset of annotated musical notes
- [Open MIC](https://research.atspotify.com/publications/openmic-2018-an-open-dataset-for-multiple-instrument-recognition/): Open Music Instrument Classification challenge dataset
- [RWC Music Database](https://staff.aist.go.jp/m.goto/RWC-MDB/): Musical instrument sound, genre, rhythm databases
- [symbolic-music-datasets](https://github.com/wayne391/symbolic-music-datasets): Symbolic music datasets
- [The Million Song Dataset](http://millionsongdataset.com/): Massive collection of audio features and metadata

## Music Theory and Composition

- [Abjad](https://github.com/Abjad/abjad): Abjad is a Python API for building LilyPond files. Use Abjad to make PDFs of music notation
- [AthenaCL](https://github.com/ales-tsurko/athenaCL): AthenaCL is an algorithmic composition tool by Christopher Ariza. This is a Python 3 fork of it, since the original codebase is no longer maintained.
- [maelzel](https://github.com/gesellkammer/maelzel): A framework for computer music in python
- [MIDIUtil](https://github.com/MarkCWirt/MIDIUtil): A pure Python library for creating multi-track MIDI files
- [mingus](https://github.com/bspaans/python-mingus): Advanced music theory and notation package
- [music21](https://github.com/cuthbertLab/music21): Toolkit for computer-aided musical analysis
- [Musical-scales](https://github.com/hmillerbakewell/musical-scales): Retrieve a scale based on a given mode and starting note.
- [MusicMaker](https://github.com/KausikN/MusicMaker): A Music Maker using Python - Audio Description Language
- [MusPy](https://github.com/salu133445/muspy): Toolkit for symbolic music generation
- [pychord](https://github.com/yuma-m/pychord): Handle and transform musical chords
- [pyHarmonySearch](https://github.com/lanl/pyHarmonySearch): Harmony search algorithm for musical composition
- [PyTheory](https://github.com/kennethreitz/pytheory): Toolset for music theory concepts like scales and chords
- [scamp](https://github.com/MarcTheSpark/scamp): a Suite in Python for Computer-Assisted Music

## Playback and Streaming

- [audioread](https://github.com/beetbox/audioread): cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python
- [audiostream](https://github.com/kivy/audiostream): Audio API for streaming raw data to speakers
- [beets](https://github.com/beetbox/beets): music library manager and MusicBrainz tagger
- [discord.py](https://github.com/Rapptz/discord.py): Python wrapper for the Discord API, including music streaming capabilities
- [Mopidy](https://github.com/mopidy/mopidy): Extensible music server written in Python
- [Mopidy-YouTube](https://github.com/natumbri/mopidy-youtube): Mopidy extension for playing music from YouTube
- [mpv](https://github.com/jaseg/python-mpv): Python interface to MPV for audio and video playback
- [MusicBot](https://github.com/just-some-bots/MusicBot): Discord music bot written in Python
- [pyAV](https://github.com/mikeboers/PyAV): Pythonic bindings for FFmpeg's libraries for audio and video processing
- [pygame.mixer](https://github.com/pygame/pygame): Pygame module for sound loading and playback
- [pyglet](https://github.com/pyglet/pyglet): Cross-platform windowing and multimedia library
- [pyradio](https://github.com/coderholic/pyradio): Command line internet radio player
- [Python-SoundDevice](https://github.com/spatialaudio/python-sounddevice): Play and Record Sound with Python
- [Spotipy](https://github.com/plamere/spotipy): Python client for the Spotify Web API

## Synthesis and Generation

- [Audioguide](https://github.com/benhackbarth/audioguide): Program for concatenative sound synthesis
- [ctcsound](https://github.com/csound/ctcsound): Python Bindings for Csound using ctypes. Can be used from python2.x and python3.x as well.
- [FoxDot](https://github.com/Qirky/FoxDot): Python-based live coding environment for sound synthesis
- [Magenta](https://github.com/magenta/magenta): Machine learning for the creative process, including music synthesis
- [Mido](https://github.com/mido/mido): MIDI objects for Python
- [musicautobot](https://github.com/bearpelican/musicautobot): Music generation with transformers
- [Nsynth](https://github.com/tensorflow/magenta/tree/master/magenta/models/nsynth): Neural audio synthesis model
- [Pippi](https://github.com/hecanjog/pippi): Computer music composition library
- [pyfluidsynth](https://github.com/nwhitehead/pyfluidsynth): Python bindings for FluidSynth, a software synthesizer for audio signals from SoundFonts
- [PySynth](https://github.com/mdoege/PySynth): Simple music synthesizer written in Python
- [Python-audio](https://github.com/mgeier/python-audio): Jupyter notebooks about audio signal processing with Python
- [Python-musical](https://github.com/wybiral/python-musical): Python module for procedural music creation.
- [WaveGAN](https://github.com/chrisdonahue/wavegan): Generative model for raw audio

## Tutorials

### librosa

- [An introduction to libROSA for working with audio](https://iq.opengenus.org/introduction-to-librosa/): Advanced librosa tutorial covering timeline plotting, spectrograms, time-stretching, remixing.
- [Introduction to librosa: A Powerful Tool for Audio Engineers](https://www.omnitonal.com/introduction-to-librosa-a-powerful-tool-for-audio-engineers/):
- [Visualizing Sounds Using Librosa Machine Learning Library!](https://www.analyticsvidhya.com/blog/2021/06/visualizing-sounds-librosa/): Covers graph creation using librosa and matplotlib

### PyDub

- [A Simple Guide to Audio Manipulation with Pydub for Musicians](https://www.omnitonal.com/a-simple-guide-to-audio-manipulation-with-pydub-for-musicians/): Covers merging tracks, introducing effects, and managing silences through simple code instructions.
- [PyDub: Working with wav files in Python](https://www.geeksforgeeks.org/working-with-wav-files-in-python-using-pydub/): This article demonstrates installation and various PyDub operations with code examples.