Skip to content

Display and edit music score using ABC notations, and encode it in the URL

License

Notifications You must be signed in to change notification settings

MingSpace/ScoreInUrl

 
 

Repository files navigation

Score In URL

Screenshot

Score In URL lets you write your sheet music in ABC Notation, and share it through a URL, where all content of the score is encoded (base64) as a query parameter. It's heavily inspired by the great project: Hashify, which does a similar thing with Markdown documents.

It is privacy-friendly, as there is nothing stored on a remote server. This website is, in fact, hosted on GitHub Pages, with no backend whatsoever.

Score In URL is free and open source, under the MIT license. You can find the source code on GitHub.

ABC Notation

ABC Notation is a way to write sheet music with plain text. You can learn more about it, by reading the full documentation, or use this cheat sheet as a quick reference.

Examples

Bach Partita 3 Preludio

A simple C Major scale

Air on G String

Running and Developing Score In URL

Dependencies:

To start a testing server:

npm run dev

To run a production version of Score In URL, build the project, and host the destination directory as static files, with basically any server.

npm run build

If you'd like to host this project on a sub-path, like I do on https://powersnail.com/ScoreInUrl, supply the build command with a base URL, otherwise, the internal links will not point to the correct address.

npm run build -- --base=/subpath/

Currently, I'm hosting with GitHub Pages, by pushing the destination folder to a separate branch dist, and pointing GitHub Pages to that branch.

Acknowledgement

My utmost gratefulness to Hashify for the inspiration. And special thanks to Hero icons for all the icons on this site.

About

Display and edit music score using ABC notations, and encode it in the URL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 47.6%
  • HTML 45.7%
  • CSS 3.8%
  • JavaScript 2.9%