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 wouldn't be possible without you!
- Awesome Music
- Other Awesomeness
- 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.
- 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.
- Beets - a powerful command-line music organizer and manipulator.
- 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.
- 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
- Midifile - C++ library for parsing Standard MIDI Files.
- Timidity - an open-source command line synthesizer that plays MIDI files.
- Abjad - a Python API for Formalized Score Control, based on Lilypond.
- Denemo - a free music notation editor based on Lilypond.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- Artusi - Interactive music theory exercises.
- Four Score and More - Tailored music theory exercises based on scores.
- musictheory.net - Lessons and exercises
- OpenMusicTheory - a growing, online "textbook" for music theory and aural skills.
- MEI (Music Encoding Initiative) - an open-source effort to define a system for encoding musical documents in a machine-readable structure.
- MusicXML - the standard open format for exchanging digital sheet music.
- SMuFL (Standard Music Font Layout) - a specification for mapping music symbols to Unicode for use in music fonts.
- Awesome Audio Visualization - A curated list about Audio Visualization.
- Awesome Music Listening - Awesome list of websites dedicated to listening to music.
- Awesome Music Production - A curated list of software and resources to create music.
- Awesome Python for Scientific Audio - A curated list of python software and packages related to scientific research in audio.
- Awesome sheet music - A curated list of awesome sheet music software, libraries and resources.
- Awesome WebAudio - A curated list of awesome WebAudio packages and resources.
To the extent possible under law, Sharon Rosner has waived all copyright and related or neighboring rights to this work.