Re: Producing ebooks

Tina Petzel <[email protected]>
Newsgroups gmane.comp.gnu.lilypond.general
Message-ID <[email protected]>
Hi Frèdèric,

> I would be interested to export music to epub 3 with music support,
> i.e. ebook that can be (re)-formated in the ebook reader. I understand
> it by-passes a lot of lilypond that aims at printing beautiful music
> sheets but in some cases, it would be really useful to have a lot of
> scores in an ebook reader and it would be too bad to have to use
> another language than the wonderful lilypond language.

so the goal here is to be able to view scores on an e-book-Reader? If you create scores for 
specific hardware why not create a pdf tailored for that screen size?

> I searched a little bit and it seems that epub 3 can handle music
> encoded as musci XML. I understood that Frescobaldi can export
> experimentally to MusicXML but not directly to epub.

Why would you think so? epub 3 does not natively support musicXML afaik, the most you could 
do is embed musicXML as a custom object to be used with very specific software that knows to 
handle it. Having musicXML in epub would mean that every ebook-reader out there would need 
to handle notation, which is quite a complex topic. Your ebook reader most likely has no idea 
what to do with musicXML.

I have implemented a system for exporting musicXML from Lilypond:
https://codeberg.org/tinapetzel/ly-mxml[1]

If you really want to go that route one could very well write a script that takes musicXML-output 
and embeds it into an epub.

But

1. It will probably not work as you think it would
2. Motivation to maintain it will probably quite low

> I wonder if there is any plan to work on this topic as final users or
> as developers.

I am 99.9% sure that the very clear reply to this is no, for aforementioned reasons. musicXML-
export is to some sense critical, since it is a blocker for people who need it for interoperability. 
This ... like, I can imagine there being some publishers out there that may store scores in epub for 
very custom production flows, but this is totally irrelevant for pretty much anyone.

If you really want to tackle your goal to have scores on e-reader — simplest thing to do would be 
(as said) to use a PDF tailored towards that e-reader. If you want to support multiple sizes, you 
could do something like lilypond-book does and split the score into individual systems and have 
the ebook reader do the pagination.

But then, this would need to assume a specific line-width. What you actually want to have in a 
dynamic setting is for the software to not just do pagination but also calculate line-breaks for the 
current page-width.

But this in music notation is much harder than in linear text. So again, to do this properly you’d 
need to have actual score rendering capabilities in your e-book-reader software.

But what could be done is to use an @media or @container CSS3 query to dynamically select 
versions of the same score with different line-widths.

This too comes with some caveats:

- It requires multiple renderings of the same score
- The CSS3 queries will not be supported by legacy ebook readers
- Tracking position when the page size changes may not work out perfectly

Anyway, I have sketched up a bash script that does exactly that at

https://codeberg.org/tinapetzel/ly-scorepub[2]

which (if pointed to a Lilypond file) would produce something like

https://codeberg.org/tinapetzel/ly-scorepub/raw/branch/main/examples/mahler.epub[3]

which (in a compatible reader) should dynamically adjust the line width.

Cheers,
Tina



--------
[1] https://codeberg.org/tinapetzel/ly-mxml
[2] https://codeberg.org/tinapetzel/ly-scorepub
[3] https://codeberg.org/tinapetzel/ly-scorepub/raw/branch/main/examples/mahler.epub
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQS0sdUK2Lu8of48K2+FHhaCPe7BywUCao3NawAKCRCFHhaCPe7B
y7gKAQD1FEg/15FbIgj+WT0DqjD4cPf/Jjff4N3nh3DJIH+SeQEAowWHni8+Iy/S
iZmnc2gBjCk503KZtkvk9KYJgrBvmgk=
=a9Rk
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.