Sunday, October 2, 2016

Interactive Music Score Engraving

This is a short post about a JavaScript library I've recently discovered for producing music scores called VexFlow. It includes a language for defining score layouts called VexTab. Although this is still under development, it is complete enough to give me about 95% of what I need for displaying scores of simple traditional melodies. The main features that are missing at the moment are:
  • Changing time signature or key signature mid-stave
  • First and second repeats
  • Displaying quadruplets in compound time accurately
I have recently written an elm wrapper for VexTab and a translation from ABC notation into VexTab. I already have an editor for ABC notation that re-parses after every character (and thus makes it available to a player). It has thus been straightforward to add interactive score generation - i.e. the score grows as each character is typed. If you are interested, you can try it here.

4 comments:

  1. Nice work! Exactly what I've been looking for. I'm going to have a look into this for sure :-)

    ReplyDelete
    Replies
    1. Many thanks, Martin. Are by any chance mdahlgrengadd on github? If so, I think we have a few interests in common - for example ABC notation and traditional Scandinavian music. I'd be interested to hear how you get on with VexTab.

      Delete
    2. Yes, that's me! Not much of a programmer, though. Still, sometimes manages to piece together things the way I want :-) Anyway, now I want VexTab to be used on a "Nyckelharpa/Folkmusic"-teaching website... Thanks again!

      Delete
    3. I'd be very interested to see that when you've finished it. We have quite a few nyckelharpa players at our monthly Scandi session in central London - http://www.londonscandisession.co.uk/. More teaching material would be very useful. I wish you the best of luck with it.

      Delete