Found in 2 comments on Hacker News
jnetterf · 2018-09-10 · Original thread
To parse LilyPond you would first need to write a Scheme interpreter. Once you finally get a tree for the sheet music, rendering in a way that is correct, beautiful, and easy to read is no small task either. Sheet music rendering is full of so much nuance [1], and it's really hard to get it right. It took brilliant people many years to get LilyPond to the state it's in today. I picked LilyPond because it's powerful and beautiful. Don't get me wrong, VexFlow and abcjs are impressive projects, but LilyPond has a head start.

I think one day, you'll be able to use emscripten or similar to run LilyPond in the browser. We are not there yet.

[1] See, for example,

gtani · 2013-04-10 · Original thread
Interesting. As a player of piano, woodwinds, and others I've gotten used to different systems of scribbling over the staff to convey something that's not metadata but not primary info. Well-tempered Klavier is a good bad example, there's all kinds of scribblings about what Bach intended, including argumets about incidentals (is a note flatted or not?) (and what's the umbrella term for trills, grace notes, flourishes like that?). It's actually much harder for wind and strings, where infinite pitch/tonality /attack/decay combinations are possible, e.g. lipping up or down on a single reed, squeaking, honking, sibillant, and I'm pretty sure there's no way to write down the loops i get on fretless guitar, bass and cello.

Also I've been trying to get used to Don Ellis quarter tone system, and work thru haskell school of music (fantastic book, for anybody interested not just in notations, but production, composition and capture(A/D conversion/DSP etc. Also shoudl read books by Gould and Read someday:

Fresh book recommendations delivered straight to your inbox every Thursday.