├── .gitattributes ├── .github └── FUNDING.yml ├── .gitignore ├── CONTRIBUTING.md ├── README.md ├── license ├── makefile └── package.json /.gitattributes: -------------------------------------------------------------------------------- 1 | README.md linguist-detectable 2 | makefile -linguist-detectable 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [ad-si] 2 | custom: 3 | - https://www.paypal.me/adriansieber 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bun.lockb 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please ensure your pull request adheres to the following guidelines: 4 | 5 | - Make an individual pull request for each suggestion. 6 | - Chose corresponding section for your suggestion. 7 | - Use the following format: 8 | `[resource-name](link) (commercial) - description plus dot. ` 9 | - Label commercial products accordingly, 10 | but don't add `(open-source)` or similar as list is per default open source. 11 | - List should be alphabetically after your addition. 12 | - New categories and improvements to the existing categorisation are welcome. 13 | - Each line must be a maximum of 80 characters wide. 14 | - No opinion-laden words like "easy", "beautiful", "simple", or similar. 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Sheet Music 2 | 3 | A curated list of awesome tools to create, edit and display sheet music. 4 | 5 | > [!TIP] 6 | > Sponsored by: \ 7 | > **Airsequel Sheet Music - Open source sheet music management app.** \ 8 | > 🌐 [sheet-music.airsequel.app](https://sheet-music.airsequel.app) \ 9 | > 🖥️ [github.com/Airsequel/Airsequel-Sheet-Music](https://github.com/Airsequel/Airsequel-Sheet-Music) 10 | 11 | --- 12 | 13 | **Table Of Contents** 14 | 15 | 16 | 17 | - [Music Notation Software](#music-notation-software) 18 | - [Archives](#archives) 19 | - [Software Libraries](#software-libraries) 20 | - [AI Powered](#ai-powered) 21 | - [Websites](#websites) 22 | - [Apps](#apps) 23 | - [Notations](#notations) 24 | - [Hardware](#hardware) 25 | - [Resources](#resources) 26 | - [OMR (Optical Music Recognition)](#omr-optical-music-recognition) 27 | - [Research](#research) 28 | 29 | 30 | 31 | ## Music Notation Software 32 | 33 | - [capella] \(commercial\) - Create complete scores. 34 | - [dorico] \(commercial\) - Desktop notation software created largely by former 35 | developers of the competing product Sibelius. 36 | - [finale] \(commercial\) - Compose, arrange, notate and print 37 | engraver-quality sheet music. 38 | - [Gsharp] - Interactive extensible score editor. 39 | - [LilyPond] - Program and file format for music engraving. 40 | - [mei-friend] - Browser-based editor for music encodings. 41 | - [MuseScore] - Create, play and print sheet music. 42 | - [opusmodus] \(commercial\) - Software for music composition. 43 | - [sibelius] \(commercial\) - Create and share scores. 44 | - [Unison] \(commercial\) - Create sheet music by describing it with simple words. 45 | 46 | [capella]: http://capella.de 47 | [finale]: http://finalemusic.com 48 | [Gsharp]: https://www.common-lisp.net/project/gsharp/ 49 | [LilyPond]: http://lilypond.org 50 | [mei-friend]: https://mei-friend.mdw.ac.at 51 | [MuseScore]: http://musescore.org 52 | [opusmodus]: http://opusmodus.com 53 | [sibelius]: http://sibelius.com 54 | [dorico]: https://www.steinberg.net/en/products/dorico/start.html 55 | [Unison]: https://unisonofficial.com/html/about.html 56 | 57 | 58 | ## Archives 59 | 60 | - [Bach digital] - Platform to browse through original sources 61 | of J. S. Bach and his sons. 62 | - [Bayanguru] - Sheet music for Bayan (accordion). 63 | - [CMME] - Computerized mensural music editing and database of scores. 64 | - [CPDL] - The Choral Public Domain Library, an archive focused on 65 | choral and vocal music. 66 | - [Digital Mozart Edition] - Wolfgang Amadeus Mozart's works in digital formats. 67 | - [flutetunes.com] - Free sheet music for the flute. 68 | - [IMSLP] - The International Music Score Library Project 69 | to share the world’s public domain music. 70 | - [Kern Scores] - Library of musical scores in the Humdrum \*\*kern data format. 71 | - [Lilypond-Sheet-Music] - Cello music typeset with [LilyPond]. 72 | - [MuseScore] - Share your sheet music and comment on others. 73 | - [mutopia] - Sheet music editions of classical music for free. 74 | Repository available at [github.com mutopia]. 75 | - [openbook] - Open [LilyPond] real book for jazz musicians. 76 | 77 | [Bach digital]: https://www.bach-digital.de 78 | [Bayanguru]: https://bayanguru.org/ 79 | [CMME]: https://www.cmme.org 80 | [Digital Mozart Edition]: https://dme.mozarteum.at/en/ 81 | [CPDL]: https://www.cpdl.org 82 | [flutetunes.com]: http://flutetunes.com 83 | [IMSLP]: http://imslp.org 84 | [Kern Scores]: http://kern.humdrum.org/ 85 | [Lilypond-Sheet-Music]: https://github.com/cellist/Lilypond-Sheet-Music 86 | [MuseScore]: http://musescore.com 87 | [mutopia]: http://www.mutopiaproject.org 88 | [github.com mutopia]: https://github.com/chrissawer/The-Mutopia-Project 89 | [openbook]: https://github.com/veltzer/openbook 90 | 91 | 92 | ## Software Libraries 93 | 94 | - [alda] - Music programming language for musicians. 95 | - [alphatab] - Cross platform music notation and 96 | guitar tablature rendering library. 97 | - [ChorData] - Dummy chordbook for mandolin, ukulele and guitar. 98 | - [chord-mark] - Reference implementation of the [ChordMark] notation. 99 | - [chordpro] - Reference implementation of the [ChordPro] standard. 100 | - [Digital Music Stand] - A simple browser-based viewer to display and search music sheets. 101 | - [EMViz] - Visualize melodic patterns in MIDI files with arc diagrams. 102 | - [hmsl] - Hierarchical Music Specification Language. 103 | Forth tools for experimental music from the 1980's 104 | - [Hum] - Music notation language and synthesizer. 105 | - [lilynode] - Node.js wrapper for [LilyPond]. 106 | - [lilyware] - Node.js middleware for serving rendered [LilyPond] files. 107 | - [ly2video] - Generating videos from [LilyPond] projects. 108 | - [Melo] - Music notation language and compiler to MIDI. 109 | - [mscxyz] - Manipulate [MuseScore]'s XML based mscx files. 110 | - [Music Sheet Viewer] - Wordpress plugin to embed 111 | sheet music with shortcode tags. 112 | - [music21] - Toolkit for computational musicology. 113 | - [musical.js] - A sequencing WebAudio synthesizer 114 | that supports ABC notation. 115 | - [openLilyLib] - Enhancement library for [LilyPond]. 116 | - [OpenSheetMusicDisplay] - TypeScript library for rendering MusicXML in the browser. 117 | - [ScoreAnalyzer] - Analyze piano sheet music for technical difficulties. 118 | - [SheetAble] - Self-hostable server for organizing sheet music. 119 | - [Smude] - A library dedicated to binarization and dewarping of sheet music images. 120 | - [verovio] - An library and toolkit for 121 | engraving MEI music notation into SVG. 122 | - [VexFlow] - TypeScript library for rendering music notation & guitar tablature. 123 | - [zazate.js] - Music theory and notation library 124 | for javascript and node.js. 125 | - [SeePlay] - Webapp to teach sight reading of sheet music. 126 | 127 | [alda]: https://github.com/alda-lang/alda 128 | [alphatab]: http://alphatab.net 129 | [ChorData]: https://github.com/starenka/chordata 130 | [chord-mark]: https://github.com/no-chris/chord-mark/ 131 | [chordpro]: https://github.com/ChordPro/chordpro 132 | [Digital Music Stand]: https://github.com/PatWie/digitalmusicstand 133 | [EMViz]: https://github.com/carterenyi/emviz 134 | [hmsl]: https://github.com/philburk/hmsl 135 | [Hum]: https://github.com/crbulakites/hum 136 | [lilynode]: https://github.com/adius/lilynode 137 | [lilyware]: https://github.com/adius/lilyware 138 | [ly2video]: https://github.com/aspiers/ly2video 139 | [Melo]: https://github.com/Mistodon/melo 140 | [mscxyz]: https://github.com/Josef-Friedrich/mscxyz 141 | [Music Sheet Viewer]: https://wordpress.org/plugins/music-sheet-viewer/ 142 | [music21]: https://github.com/cuthbertLab/music21 143 | [musical.js]: https://github.com/PencilCode/musical.js 144 | [openLilyLib]: https://openlilylib.org 145 | [OpenSheetMusicDisplay]: https://github.com/opensheetmusicdisplay/opensheetmusicdisplay 146 | [ScoreAnalyzer]: https://github.com/Vassantha/ScoreAnalyzer 147 | [SeePlay]: https://github.com/LearningNerd/seeplay 148 | [SheetAble]: https://sheetable.net 149 | [Smude]: https://github.com/sonovice/smude 150 | [verovio]: https://github.com/rism-ch/verovio 151 | [VexFlow]: https://github.com/vexflow/vexflow 152 | [zazate.js]: https://github.com/btwael/zazate.js 153 | 154 | 155 | ### AI Powered 156 | 157 | - [AnthemScore] - Automatically create sheet music from audio. 158 | - [Piano Transcription] - Transcribe piano recordings to MIDI files. 159 | - [Sheet Sage] - Transcribe pop songs to lead sheets (melody + chords). 160 | 161 | [AnthemScore]: https://www.lunaverus.com 162 | [Piano Transcription]: https://github.com/bytedance/piano_transcription 163 | [Sheet Sage]: https://github.com/chrisdonahue/sheetsage 164 | 165 | 166 | ## Websites 167 | 168 | - [Airsequel Sheet Music] - Sheet music management app powered by [Airsequel]. 169 | - [ChordMark] - Simple text format for the notation of lyrics, chords and rhythm. 170 | - [ChordPro] - Simple text format for the notation of lyrics with chords. 171 | - [Clairnote] - Alternative music notation to ease reading and understanding. 172 | - [flat.io] \(commercial\) - The online music score editor for your compositions. 173 | - [flowkey] \(commercial\) - Interactive app to learn how to play the piano. 174 | - [Fretboard 1] - Chords, scales, and fingerings for string instruments. 175 | - [Fretboard 2] - Chord diagrams for Guitar. 176 | - [Fretmonster] - Fingering charts app for Guitar, Ukulele, Bass, and Mandolin. 177 | - [Guitar Dashboard] - An interactive music theory dashboard for guitarists. 178 | - [hacklily] - Online [LilyPond] based sheet music editor. 179 | - [JotChord] - Text-based online editor for making Nashville Number System style song charts as PDFs. 180 | - [La Partition Numerique] - 181 | French speaking site dedicated to the future of musical scores. 182 | - [lilybin] - Web-based editor and GitHub project. 183 | - [microharmonic] - Microtone keyboard. 184 | and chord diagrams without the need for special tools. 185 | - [Newzik] - Collaborative sheet music management app 186 | and reader for web, iPadOS, and macOS. 187 | - [noteflight] \(commercial\) - Browser based music notation creator and 188 | music composition community. 189 | - [PianoGym] - Piano sight reading exercises and flash cards. 190 | - [PianoHub] - Create and share music in your browser. 191 | - [Pianu] - Learn how to play the piano with interactive lessons. 192 | - [playgroundsessions] \(commercial\) - Learn how to play the piano with 193 | interactive lessons featuring your favorite songs. 194 | - [react-piano] - Interactive piano keyboard for React. 195 | - [Soundslice] \(commercial\) - 196 | Browse and create sheet music/tab synced with audio/video performances. 197 | - [synthesiagame] \(commercial\) - Learn how to play the piano 198 | using falling notes. 199 | - [tunefl] - Freely generate and share mini [LilyPond] scores with ease. 200 | 201 | [Airsequel Sheet Music]: https://github.com/Airsequel/Airsequel-Sheet-Music 202 | [Airsequel]: https://www.airsequel.com 203 | [ChordMark]: https://chordmark.netlify.app/ 204 | [ChordPro]: https://www.chordpro.org 205 | [Clairnote]: https://clairnote.org 206 | [flat.io]: https://flat.io 207 | [flowkey]: https://www.flowkey.com/en 208 | [Fretboard 1]: https://github.com/fredericcormier/Fretboard 209 | [Fretboard 2]: http://davidpots.com/fretboard/ 210 | [Fretmonster]: http://playsongnotes.com/fretmonster 211 | [Guitar Dashboard]: https://guitardashboard.com/ 212 | [hacklily]: https://www.hacklily.org 213 | [JotChord]: https://www.jotchord.com 214 | [La Partition Numerique]: https://www.partitionnumerique.com 215 | [lilybin]: http://lilybin.com 216 | [microharmonic]: https://www.microharmonic.com 217 | [MoonPiano]: https://moonpiano.praisethemoon.org/ 218 | [Newzik]: https://newzik.com 219 | [noteflight]: http://noteflight.com 220 | [PianoGym]: https://pianogym.com 221 | [PianoHub]: https://www.pianohub.io 222 | [Pianu]: https://pianu.com 223 | [playgroundsessions]: https://playgroundsessions.com 224 | [react-piano]: https://www.kevinqi.com/react-piano/ 225 | [Soundslice]: https://www.soundslice.com 226 | [synthesiagame]: http://synthesiagame.com 227 | [tunefl]: https://github.com/tiredpixel/z.2016-01-19.tunefl 228 | 229 | 230 | ## Apps 231 | 232 | - [Composer's Sketchpad] - Sequencer that combines musical staff paper 233 | with an artist's sketchbook (iOS only). 234 | - [Dodeka] - App to learn how to play the piano (iPad only). 235 | - [Enote] - Digital sheet music app with large library (iPadOS, iOS). 236 | - [Nkoda] - Find, organize, and annotate sheet music. 237 | - [PianoBooster] - MIDI file player displaying musical notes 238 | and teaching how to play the piano. 239 | - [StaffPad] - Music composition app, designed for pen and touch. 240 | 241 | [Composer's Sketchpad]: http://composerssketchpad.com 242 | [Dodeka]: https://www.dodekamusic.com/products/dodeka-music-app/ 243 | [Enote]: https://enote.com 244 | [Nkoda]: https://www.nkoda.com 245 | [PianoBooster]: https://github.com/pianobooster/PianoBooster 246 | [StaffPad]: https://www.staffpad.net 247 | 248 | 249 | ## Notations 250 | 251 | - [Dodeka Music Notation] - A simple yet powerful alternative music notation. 252 | - [Karya] - Music sequencer and generalized notation. 253 | 254 | [Dodeka Music Notation]: https://www.dodekamusic.com/learn/alternative-music-notation/ 255 | [Karya]: https://github.com/elaforge/karya 256 | 257 | 258 | ## Hardware 259 | 260 | - [Piano-LED-Visualizer] - Enhanced piano playing 261 | with a Raspberry Pi powered LED strip. 262 | 263 | [Piano-LED-Visualizer]: https://github.com/onlaj/Piano-LED-Visualizer 264 | 265 | 266 | ## Resources 267 | 268 | - [freemusiced] - Fingering charts, scale sheets, 269 | free sheet music and links to resources on the internet. 270 | - [List of Online Digital Musical Document Libraries][online libs] - 271 | Wikipedia list of online archives. 272 | - [llllllll.co/…] - Discussion about experimental music notation resources. 273 | - [MNX] - XML based next generation music markup proposal. 274 | - [MEI] - Music Encoding Initiative. 275 | Community-driven, open-source effort 276 | to define a system for encoding musical documents. 277 | - [SMuFL] - Standard Music Font Layout. 278 | - [ViFaMusik] - Information platform for research on music and musicology. 279 | - [W3C Music Notation Community Group] - 280 | Standards group developing MusicXML, [SMuFL] and [MNX]-Common formats. 281 | 282 | [freemusiced]: http://freemusiced.org/free-sheet-music-links.html 283 | [llllllll.co/…]: https://llllllll.co/t/experimental-music-notation-resources 284 | [MEI]: https://music-encoding.org 285 | [MNX]: https://w3c.github.io/mnx/ 286 | [online libs]: 287 | https://en.wikipedia.org/wiki/List_of_Online_Digital_Musical_Document_Libraries 288 | [SMuFL]: https://w3c.github.io/smufl/latest/index.html 289 | [ViFaMusik]: https://www.vifamusik.de 290 | [W3C Music Notation Community Group]: 291 | https://www.w3.org/community/music-notation/ 292 | 293 | 294 | ## OMR (Optical Music Recognition) 295 | 296 | - [Audiveris] - Optical music recognition app for scanned scores. 297 | - [Gamera] - Toolkit for building document image recognition systems. 298 | - [PlayScore] – Sheet Music Scanning App (iOS, Android, Windows). 299 | - [Rodan] - Web-based document recognition system. 300 | 301 | [Audiveris]: https://github.com/Audiveris/audiveris 302 | [Gamera]: https://gamera.informatik.hsnr.de/ 303 | [PlayScore]: https://www.playscore.co 304 | [Rodan]: https://github.com/DDMAL/Rodan 305 | 306 | 307 | ## Research 308 | 309 | - [Distributed digital music archives and libraries lab][ddmal] - 310 | Development and evaluation of practices, frameworks and tools 311 | for the design and construction of worldwide distributed 312 | digital music archives and libraries. 313 | - [MusicScoring] - Automatically generate scores for difficult pieces of music. 314 | - [Notation and Thought] - Notation design and how it affects thought. 315 | - [OMR Research] - Research hub for Optical Music Recognition. 316 | 317 | [ddmal]: http://ddmal.music.mcgill.ca 318 | [MusicScoring]: https://github.com/xwsxethan/MusicScoring 319 | [Notation and Thought]: https://github.com/hypotext/notation 320 | [OMR Research]: https://github.com/OMR-Research 321 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2017, Adrian Sieber 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /makefile: -------------------------------------------------------------------------------- 1 | .PHONY: update-toc 2 | update-toc: 3 | bun x markdown-toc \ 4 | --bullets='-' \ 5 | -i \ 6 | readme.md 7 | 8 | 9 | .PHONY: test 10 | test: 11 | lychee readme.md 12 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "markdown-toc": "^1.2.0" 4 | } 5 | } 6 | --------------------------------------------------------------------------------