Originally created by: *anonymous
Originally created by: v.villenave
This feature has been proposed by Reinhold Kainhofer on -devel:
http://lists.gnu.org/archive/html/lilypond-devel/2008-06/msg00129.html
More recently, an user shared his experience on -user:
http://lists.gnu.org/archive/html/lilypond-user/2008-08/msg00838.html
Some highlights:
Han-Wen: "The last time we looked at this, I think the resolution was to
dump a music stream from LilyPond and postprocess that."
Reinhold: "unfortunately, the stream does only contain the musical content
in time-sorted order. MusicXML, however, also contains (or rather, can
contain) full information about page layout, breaks, object positioning and
similar settings [...] Since Lilypond produces a layout that is far
superior, I'd also like to include that information in
the xml files..."
Han-Wen: "you would probably have to use some sort of dual approach, where
you store the stream, label each event, and then you trace back the grobs
during output stage to their originating events. You can use the ordering
from the stream to output the XML elements in the correct order."
Originally posted by: v.villenave
Since we have more requests about it, I'm accepting it and slightly bumping the prio.
Labels: -Priority-Postponed Priority-Medium
Status: Accepted
Originally posted by: hanw...@gmail.com
Please don't bump priority based on number of requests.
Labels: -Priority-Medium -Usability Priority-Postponed
Originally posted by: v.villenave
Jonathan Kulp has offered a $100 bounty on -devel.
Labels: Bounty
Originally posted by: v.villenave
I'll happily make it 200, by the way.
Originally posted by: v.villenave
New comment from Ralph Little:
http://lists.gnu.org/archive/html/lilypond-devel/2008-11/msg00293.html
"I have been approached by a programmer who is interested in helping me with my efforts to produce braille output by going the XML approach.[...]
Currently, using Erik's interface method, structure could be exported in a fairly straightforward manner, but positional information from Lilypond's layout engine would be much harder to extract. For the purposes of what we require [for braille conversion], the layout information is not really required. Therefore, we propose to just extract the structure and leave the positional information for a later time. I think the back-end implementation would be largely the same anyway.
We propose to link to the LGPL MusicXML library if there are no objections:
http://libmusicxml.sourceforge.net
This library is pretty mature and covers all the bases I think."
Last edit: Simon Albrecht 2015-09-27
Originally posted by: v.villenave
New comment from Hu Haipeng:
The best way for you all is, to make a MusicXml backend. This feature has the following three advantages, two of which can't be approached by making a much terrible and hopeless (complicated, because the ones who know braille don't know programming, while the ones who program don't know braille!) braille backend:
I use the BrailleMuse web-application, that is the most powerful musicxml2braille program now. I have helped this Japanese project to improve their program for nearly a year, and now, most of the musicxml files less than 20M can be processed. The only limitation is no lyrics (english version, but the Japanese one can only output Japanese texts), and the output is Ascii, which I like very much. You can adjust several formattings to fit your paper, change many settings to fit your preference.
http://gotoh-lab.jks.ynu.ac.jp/braille_music_score_english/e-top-new.html#Service%20condition
Last edit: Simon Albrecht 2015-09-27
Originally posted by: v.villenave
Yet some unexpected news from Hu Haipeng: apparently, the professor who's in charge of BrailleMuse has gone missing lately, and since it's an online tool the source files cannot be fetched.
However, the FreeDots project [1], that is fully Free Software, now has support for both ASCII and unicode output, and seems to be evolving fast.
(Of course, that doesn't solve our need of a MusicXML output for LilyPond though.)
[1] http://delysid.org/freedots.html
Last edit: Simon Albrecht 2015-09-27
Originally posted by: Hopkin...@ldschurch.org
My organization is looking at possibly using LilyPond, especially for its nice music typesetting and Unicode text support. However, we would absolutely need it to not only import MusicXML, but to export it as well. The reason for this is that we want to export the music and Unicode lyric text, etc. to a Web music product called Music Player by musicRAIN (see http://musicrain.com/) and http://www.lds.org/churchmusic).
Last edit: Simon Albrecht 2015-09-27
Originally posted by: brownian.box@gmail.com
I'll happily make it 300, by the way.
Here in Kyiv, Ukraine is preferable option though, but others are possible, i hope.
Originally posted by: reinhold...@gmail.com
There have been some discussions on lilypond-devel and lilypond-user. Here is a short excerpt from one of my mails, outlining how such a MusicXML backend could/would be implemented:
The only problem is that the lilypond structure is not ideally suited for full MusicXML 2.0 export: All other graphical output formats (eps, ps, pdf, png, svg) simply export some graphical objects with a fixed position on a page, so at that stage the musical information is no longer available, so MusicXML export has to hook in earlier.
The pure musical structure can probably be easily extracted from the music stream (e.g. by an engraver, listening to all kinds of events), but at that stage the page layout has not been done, so the great layout of lilypond scores could not be exported directly.
On the other hand, the final graphical objects don't have any link to the music object that caused them, so one would also have to add such a link to the grobs.
The MusicXML export would then work in two stages in a lilypond run:
1) In an engraver create the xml tree for the pure musical content
2) at the same time, also listen to created graphical objects and add a pointer to the corresponding xml node
3) After the layout is done, a MusicXML backend goes through the graphical object and exports all positioning information (most of which is new in MusicXML 2.0) to their linked xml nodes.
Last edit: Simon Albrecht 2015-09-27
Originally posted by: v.villenave
What about implementing the pure-music-stream export as a first step? Can't be (much)
worse than our current MIDI export, can it?
Labels: -Priority-Postponed Priority-Low musicxml
Owner: ---
Originally posted by: rogerdp...@gmail.com
$150 bounty from me.
Originally posted by: carlo.stemberger@gmail.com
50$ from me.
http://nextsprocket.com/tasks/lilypond-music-xml-converter
Regards,
Carlo
Originally posted by: jan.nieuwenhuizen (code.google.com)
You may want to look at input/regression/to-xml.ly and scm/to-xml.scm,
some old and preliminary work there.
Originally posted by: kie...@alumni.rice.edu
$100 here.
Originally posted by: lilyli...@googlemail.com
Does anybody know whether the old bounty offers are still valid? If yes, they would by now up sum up to $600 (counting everything mentioned in this issue report). Add to it $50 from me.
I would really like to have a structural MusicXML export.
My 2cts to the discussion:
So this is one more vote for this feature.
Last edit: Simon Albrecht 2015-09-27
Originally posted by: fedel...@gmail.com
A recent discussion about this feature request:
http://lists.gnu.org/archive/html/lilypond-user/2011-08/msg00435.html
I offer 50 euro
Originally posted by: brownian.box@gmail.com
Jack Cooper offers $75:
http://lists.gnu.org/archive/html/lilypond-user/2011-08/msg00552.html
There are some missed offers, I'll try to catch them too.
Actually I am not sure that everyone who offers some bounty, means exactly this issue.
Originally posted by: fedel...@gmail.com
For the record, there's been some discussion about MusicXML recently. See various threads on April 2013:
http://lists.gnu.org/archive/html/lilypond-user/2013-04/threads.html
Urs Liska set up a git repository to collect ideas and hopefully some code:
https://github.com/openlilylib/ly2xml
Originally posted by: fedel...@gmail.com
there's also this project:
https://github.com/Philomelos/lilypond-ly2musicxml
David Garfinkle worked on MusicXML export for Google Summer of Code 2015. See the developer mailing list: https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=Garfinkle&submit=Search%21&idxname=lilypond-devel&max=20&result=normal&sort=score
The code he wrote was not a full implementation/solution (complicated by Guile1.8 vs Guile2 issues), and I'm pretty sure it has not been checked in to the LilyPond repo. I'm attaching it here as a .tar file, for future reference.
Jan-Peter Voigt has done some work on this. He wrote on the LilyPond developer mailing list on 2018/10/16:
From this discussion thread: https://lists.gnu.org/archive/html/lilypond-devel/2018-10/msg00068.html