Skip to main content

Awesome Music

A categorized collection of awesome music libraries, tools, frameworks and software.

Contributions and suggestions are always welcome! Please take a look at the contribution guidelines and quality standard first.

Thanks to all contributors, you're awesome and this project wouldn't be possible without you!

Audio Editing

  • Audacity - a free, cross-platform digital audio editor.
  • Ardour - a cross-platform digital audio workstation emphasizing audio recording.
  • LMMS - another cross-platform digital audio workstation, more oriented towards making beats.

Audio Libraries

  • audio.js - audio.js is a drop-in javascript library that allows HTML5's tag to be used anywhere.
  • howler.js - a Javascript audio library for the modern web.
  • JSyn - an audio synthesis software API for Java.
  • Librosa - a python package for music and audio analysis, providing the building blocks necessary to create music information retrieval systems.
  • midi.js - a framework for creating web-based MIDI apps.
  • mxml - MusicXML parsing and layout library.
  • PortAudio - a free, cross-platform, open-source, audio I/O library.
  • RustAudio - an aggregate of free and useful Audio, DSP and music libraries written in Rust.
  • Soundpipe - a lightweight DSP library written in C.

Audio Tools

  • Beets - a powerful command-line music organizer and manipulator.
  • Cecilia - a CSound-based graphical environment for music and signal processing.
  • cyanrip - rips and encodes standard audio CDs with the least effort required from user. Cross platform.
  • fre:ac - free audio converter. It supports audio CD ripping and tag editing.
  • Jack - command-line CD ripper.
  • K3b - is a full-featured CD/DVD/Blu-ray burning and ripping application.
  • Koel - an open-source personal audio streaming server.
  • Lame - a high quality, free and open-source MP3 encoder.
  • lltag - automatic command-line mp3/ogg/flac file tagger and renamer.
  • matchering - сontainerized web application and library for automated reference audio mastering.
  • MusicBrainz - Open Encyclopedia for Music information and Metadata, providing a unique ID for everything
  • Musikernel - a futuristic audio production platform (hardware support, APIs, hosts, plugins and more)
  • Rubyripper - is a secure digital audio extraction application ("cd ripper") for Unix-like operating systems.
  • SoX - a free open-source command line utility for playing, converting and manipulating audio files.
  • split2flac - split flac/ape/wv/wav + cue sheet into separate tracks
  • Whipper - Python CD-DA ripper preferring accuracy over speed.
  • X Audio Copy - GTK and GNOME application for ripping CD-Audio and encoding in lossy and lossless audio formats.

Free Music Scores

  • cellist/Lilypond-Sheet-Music - a collection of music typeset with lilypond (mostly chamber music and music for cello).
  • ciconia/music - a collection of mostly baroque music, lots of sacred works by J. S. Bach, coded in lilypond/ripple.
  • CPDL - the choral public domain library contains more than 20K free scores of vocal music.
  • Éditions Nicolas Sceaux - baroque music scores (mainly French music), typeset using lilypond.
  • IMSLP - the International Music Score Library Project is the largest collection of public domain scores and parts on the web.
  • Mutopia - sheet music based on editions in the public domain.
  • wbsoft/lilymusic - beautiful LilyPond scores under free licenses.

MIDI Tools & Libraries

  • JJazzLab-X - a complete Midi-based framework for automatic backing tracks generation.
  • Midifile - C++ library for parsing Standard MIDI Files.
  • Timidity - an open-source command line synthesizer that plays MIDI files.

Music Notation

  • Abjad - a Python API for Formalized Score Control, based on Lilypond.
  • Denemo - a free music notation editor based on Lilypond.
  • Digital Music Stand - a free web app for displaying sheet music.
  • Jan Angermüller's music fonts page - A listing and visual comparison of different music fonts.
  • Frescobaldi - a free Lilypond sheet music editor.
  • Guido - a generic, portable library and API for the graphical rendering of musical scores.
  • Hacklily - online LilyPond-based sheet music editor (with optional GitHub integration).
  • i-score - a software for interactive music notation, with DAW features.
  • Inknote - free, open source, browser based music notation and composition software.
  • LibMEI - a C++ library for reading and writing MEI files.
  • Lilybin - an open source web-based LilyPond editor.
  • Lilypond - free, open-source music engraving program, devoted to producing the highest-quality sheet music possible.
  • Lilypond cook book - tips & tricks for getting the most out of lilypond.
  • Lilypond Snippet Repository - an online database of Lilypond snippets ideas, features and hacks.
  • Lilyvm - Lilypond version manager.
  • Lydown - a modern language for music notation, based on Lilypond.
  • Lyp - the Lilypond swiss army knife - easily install packages, manage multiple versions of Lilypond, and other tools for power users.
  • MuseScore - free open-source music notation and composition software.
  • MusicKit - Music sheet rendering for iOS and OSX.
  • NOTATIO - a forum devoted to the practice of music notation.
  • OpenLilyLib - LilyPond tools - snippets, templates, and extensions.
  • OpenSheetMusicDisplay - Typescript library for rendering MusicXML in the browser.
  • Python-ly - a tool and library for manipulating LilyPond files.
  • Ripple - DRY for Lilypond - generate scores and parts with minimal fuss.
  • Scorelib - a C++ library for parsing SCORE data files.
  • Tbon - Typographic Beat-Oriented Notation for music.
  • Tunefl - LilyPond mini-score engraving and sharing service for musicians.
  • Verovio - a library and a toolkit for engraving MEI music notation into SVG.
  • Vexflow - a JavaScript library for rendering music notation and guitar tablature.

Music Programming

  • Alda - a music programming language for musicians.
  • Bach: Automated Composer's Helper - a cross-platform set of patches and externals for Max, aimed to bring the richness of computer-aided composition into the real-time world.
  • Chuck - strongly-timed, concurrent, and on-the-fly music programming language.
  • CoffeeCollider - a language for real time audio synthesis and algorithmic composition in HTML5. "Write CoffeeScript, and be processed as SuperCollider."
  • Common Music - an open source music composition system.
  • Csound - a user-programmable and user-extensible sound processing language and software synthesizer.
  • Faust - a functional programming language specifically designed for real-time signal processing and synthesis.
  • IanniX - a graphical open-source sequencer, based on Iannis Xenakis works, for digital art.
  • Inscore - an environmnent for the design of interactive, augmented music scores.
  • Leipzig - a composition library for Overtone.
  • Midica - MIDI programming language with decompiler and player, supports karaoke.
  • music21 - A Toolkit for Computational Musicology.
  • Music Suite - a language for generalized music notation and theory, based on Haskell.
  • Nyquist - a sound synthesis and composition language.
  • OpenMusic - a visual programming language based on Lisp.
  • Orca - live programming environment for music.
  • Overtone - an Open Source toolkit for designing synthesizers and collaborating with music.
  • Platonic Music Engine - an open-source music generation framework written in Lua.
  • Pure Data - a visual programming language for audio and other multimedia.
  • py-modular - a modular and experimental programming environment with basic DSP routines in python.
  • Sonic Pi - a live coding synth with an emphasis on educational use.
  • Sporth - a small stack based audio language.
  • SuperCollider - a programming language for real time audio synthesis and algorithmic composition.
  • Tidal - a language built on Haskell for live coding patterns.

Music Theory Teaching

Standards

Other Awesomeness

Other amazingly awesome lists can be found in the list.

License

https://creativecommons.org/publicdomain/zero/1.0/

To the extent possible under law, Sharon Rosner has waived all copyright and related or neighboring rights to this work.

Contribute to this list: https://github.com/ciconia/awesome-music