Hacker News new | past | comments | ask | show | jobs | submit login

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, https://www.amazon.com/Behind-Bars-Definitive-Guide-Notation...

The sample music in abcjs has some very clearly wrong things. For example, the spacing near accidentals is too tight and there's open spaces on the left hand side of some of the measures.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact