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 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 <audio> 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.
- 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.
Music Notation
- 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.
- 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.
- 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.
Standards
- 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.
Other Awesomeness
Related lists
- 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.
Other amazingly awesome lists can be found in the list.
License
To the extent possible under law, Sharon Rosner has waived all copyright and related or neighboring rights to this work.