[MEI-L] mup & lilypond et al.

Sigfrid Lundberg slu at kb.dk
Thu Oct 31 09:55:32 CET 2013


Thanks Craig for useful info about SCORE, mup, abc and other stuff. 

And I hadn't heard about inkscape either. Thanks for that one :)

Sigfrid
________________________________________
Fra: mei-l [mei-l-bounces at lists.uni-paderborn.de] på vegne af Craig Sapp [craigsapp at gmail.com]
Sendt: 29. oktober 2013 17:40
Til: Music Encoding Initiative
Emne: Re: [MEI-L] mup & lilypond et al.

Hi Sigfrid,

Here is the result you desire, a high-quality SVG image (displayed inline depending on your mail reader/browser, otherwise see the .svg attachment):



Generation of such an image could be automated, but probably too complex to deal with for a small project.  It would also involve CGI interfacing to the DOS version of SCORE via dosemu:
   http://wiki.ccarh.org/wiki/Dosemu
Also, you would need to use Wine http://en.wikipedia.org/wiki/Wine_(software) to run a Windows command-line program to automatically adjust beam angles/heights using a program called BEAM written by Tom Brodhead:
   http://home.comcast.net/~tom.brodhead
And a ruby script to convert SCORE EPS files into SVG:
    https://github.com/th-we/seps2svg

For full automation, three manual operations were needed to generate the above example:
(1) layout -- I copied the layout that you gave.  Automated layout in SCORE is possible, but that would add moderatly to the complexity.
(2) vertical placement of measure tags.  I put the tags at vertical step 15 in SCORE, and adjust them higher by hand when they collided with the music.  This would be relatively simple to automate.
(3) note offsets such as in measure 7 LH would need to be automated.  Also relatively simple.

The most difficult measure to automatically typeset would be measure 9 (first full measure of the second system).  Presumably you chose to do the cross staff beaming of notes rather than MUP?  And would this instruction be encoded in the MEI data?  MUP had two difficulties in this measure: (1) attaching notes correctly to the beam, and (2) raising the rests to accommodate the notes.  This will cause problems for most all automatic typesetting programs.

Lilypond will give slightly higher-quality results than MUP but not by a large amount.  The main advantage of lilypond is that it can handle a wide range of musical symbols as well as be able to handle slightly more complex music than MUP can.  Lilypond is reasonably fast but probably slower than MUP.  Lilypond can output SVG images.  MUP can also be used to generate SVG images by sending the PostScript output through GhostScript or inkscape.  Both lilypond and MUP SVG output will be very messy looking in terms of the code because both of them do not calculate the SVG data directly, but send through an external library/program.

Abcm2ps (ABC+) will give a slightly lower quality result.  The cross-staff notation of measure 9 cannot be handled by ABC+ or abcm2ps (as far as I am aware).  The main advantage of abcm2ps printing (via a GCI interface) is that it is very fast (implemented in C).  I don't know the quality/behavior of the JavaScript interface to abc. Using abcm2ps (http://moinejf.free.fr) would be similar to MUP, and SVG output could be done through GhostScript or inkscape.

Vexflow I cannot imagine can handle music of this complexity.  Someone who uses vexflow can post this example generated by vexflow to prove me wrong :-).


-=+Craig


On 29 October 2013 05:26, Sigfrid Lundberg <slu at kb.dk<mailto:slu at kb.dk>> wrote:
>
> I've been working on a project which involves automatic generation of scores from an eXist native XML database containing musical segments. I've coded a MEI generator in the XQuery language, and the result is then translated into mup and from there to either PDF or MIDI. I'm working in MEI 2010-05 but are looking for a way forward to more modern MEI and higher quality PDF or even better SVG.
>
> Please find generated xml, pdf and midi attached (if it survives the listserv, they are miniscule and shouldn't hur bandwidth)
>
> Suggestions. Should I go for MEI 2013, and I suppose Lilypond? Any other ideas? The system has to run batch server side on a Linux server.
>
> Any opinions?





More information about the mei-l mailing list