musicore
v0.1.0-beta.2
Published
Manipulate music scores, render sheet music, music theory exercises and more.
Maintainers
Readme
musicore
Library for manipulating music scores, render sheet music, music theory exercises and more.
Supports importing/exporting MusicString and ABC. Support for MusicXML might be added in the future.
Project is in alpha phase. Focus currently is implementing things required for music theory exercises and usage in FindTune and related folk music projects.
Content
Core
Core music concepts: clef, key, time signature, note, rest, scale...
Score
The main part of musicore, Score uses Core elements to create a music score representation. Score can be manipulated manually, loaded (with importer) and exported. Available importers are MusicString and ABC (using abcjs). Available exporters are MusicString, ABC and PitchStream (stream of note names or note numbers). Support for MusicXML might be added later.
Editor
A visual editor for Score with a few different input/edit modes. Uses abcjs for rendering. Early development, target currently is to get it usable for folk music tune input (singular voice).
Engraver
Very early development stage!
The Engraver uses data from the Layout class to draw sheet music as an SVG.
The purpose of the Engraver is to enable the creation of music theory exercises. It will not, in any forseable future, be a complete sheet music engraver. If you want to display a Score as sheet music, export to ABC and use abcjs.
Exercises
Music theory exercises.
Audio
Currenly only a very simple piano sound player is implemented.
Web component
The musicore library as a web component, exposing the Exercises for use on external web sites.
References
A list of books and other references used when developing this library. Code comments can refer to this list of references but using abbrevation of reference inside []. For example, [BB:153] means "Behind Bars, page 153".
- Behind Bars (Elaine Gould) [BB]
- ABC Notation Standard v2.1 [ABC] link
- MusicXML link
- Music Encoding Initiative v5 [MEI] link
Copyright
Copyright Marcus Gustafsson 2019-2026
