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.
-
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.
-
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
To the extent possible under law,
Sharon Rosner has waived all
copyright and related or neighboring rights to this work.