opensheetmusicdisplay
notation
opensheetmusicdisplay | notation | |
---|---|---|
2 | 1 | |
1,356 | 0 | |
1.4% | - | |
9.1 | 5.2 | |
3 days ago | 5 months ago | |
TypeScript | C++ | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opensheetmusicdisplay
-
LilyPond: Music Notation for Everyone
On a related note, VexFlow is a project for rendering music notation in the browser.
https://github.com/vexflow/vexflow/
OpenSheetMusicDisplay is a higher-level library that uses VexFlow to render entire MusicXML documents.
https://github.com/opensheetmusicdisplay/opensheetmusicdispl...
-
What Is a Music Engraver? (2016)
Not mentioned in the article, but a couple of notable open-source libraries for rendering music notation in the browser:
A JavaScript library for rendering music notation and guitar tablature - https://github.com/0xfe/vexflow
OpenSheetMusicDisplay renders sheet music in MusicXML format - https://github.com/opensheetmusicdisplay/opensheetmusicdispl...
notation
-
LilyPond: Music Notation for Everyone
There are numerous symbols to represent pitch on a staff, numerous other symbols that can be attached to the pitch symbols that represent changes in duration, dynamics, various techniques and more. These symbols can be stacked above and below the pitch symbols, to the sides of the symbols and more. There are other symbols that can span multiple pitch symbols, groups of symbols and more. There are more symbols that control the tempo of the playback of the score, the number of times sections of the score should be repeated and other symbols that will move the current playback location of the score to some other place. The placement of all of these symbols have "rules" but these rules are really suggestions and composers will always want to adjust and bend these rules. If a system implements strict rules, that system will come under criticism as being inflexible. There seems to always an exception to every rule of music notation.
I have been working on music notation software for almost forty years and have seen programmers come and go with their attempts to "solve" the problem of music notation. It is a very difficult problem. Once upon a time SCORE [1] was considered the best of the best on music engraving software. I worked with Leland Smith to update the program to more platforms. Sadly, the SCORE source code is not available and the rights of the source code are unclear after Leland's passing. Many music publishing companies continued to maintain systems using SCORE for quite a while.
The notation engine of my iOS music notation program Komp [2] is available here: https://github.com/SemitoneGene/notation. This code is most certainly not the best or most complete, but it is easy to read and comprehend if you want to see the complexity involved. MuseScore has also been mentioned in other posts.
If I were to do a commercial engraving of a music score, I would use Dorico. It is being developed by who I would consider the most insightful and understanding group of developers who have a real desire to make the best music engraving program.
LilyPond produces very good output but offers its own series of challenges to use. MuseScore is a nice program, but it has a long way to go to meet the demands of the high professional composition and engraving market.
[1] https://en.wikipedia.org/wiki/SCORE_(software)
What are some alternatives?
vexflow - A JavaScript library for rendering music notation and guitar tablature.
html-midi-player - 🎹 Play and display MIDI files on the web
MuseScore - MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
to-be-named - An Open Source Song
alphaTab - alphaTab is a cross platform music notation and guitar tablature rendering library.
Airsequel-Sheet-Music - Sheet music management app powered by Airsequel and Elm Land
minimoon - Cross platform music player.
guitar - guitar scores composed and/or arranged by skelterjohn
signal - Online MIDI Editor: signal
opensheetmusicdispl
music21 - music21 is a Toolkit for Computational Musicology