Klarinet Archive - Posting 000587.txt from 2005/03

From: Tom Flavel <tom@-----.net>
Subj: Re: [kl] music notation software (rather OT)
Date: Wed, 23 Mar 2005 16:21:53 -0500

On 23/03/2005 20:58:45, Joseph Wakeling wrote:
> James Fay wrote:
>
> >Lilypond (www.lilypond.org) is music notation (more like engraving)
> >software that is based on LaTeX.
>
> Someone mentioned Lilypond a while earlier.

(me)

> Is it really LaTeX-based or
> just TeX-based? The difference could be important since TeX is a good
> deal fussier and less intuitive to deal with.
>
> Actually from a brief look at the stuff on the web it looks like what
> lilypond really does is take a file which contains just the music (in
> its text-input format), then converts it to a .tex file, and then calls
> Cygwin's tex/latex programs to process the result.

Yes, it essentially hides it's TeX-based nature, by making you write in
it's own format, and as you say, compiling that into a .tex file. I
believe it actually calls LaTeX, though I'm unsure... for entering
lilypond code, there's essentially no difference, as the only text you'd
be typing is for headings and lyrics and so on, which are simple enough
to do in plain TeX. There are plenty of examples on the well-documented
website, so I shan't bore you by repeating them here.

The quality of the output is what attracts me: the comparision to
Finale's effort is astounding, in my opinion...

To deviate from clarinets for a moment, I'm going to think aloud for a
while about something unrelated. If you're not curious, feel free to
ignore me entirley... I suspect this may be a bit long :)

I'm writing a document processing system... it started out as a sane way
to generate HTML and PDF (via first LaTeX and then ConTeXt) for
coursework when I was at university. Since then it's evolved into a
framework for automating the creation of websites, too. My main focus is
on taking simple input (in XML) and producing the absolute best quality
output, in whatever form that may be. So that means making use of the
native features of each output format (HTML or PDF or whatever), as
opposed to roughly shoehorning from one thing to another. For example,
to avoid bitmapped graphics in PDFs, so that one can zoom in and still
see nice smooth lines.

I've given this system the ability to typeset mathematics, by letting
the user input MathML. ConTeXt handles this nativley (internally, I
believe it converts MathML into TeX's own mathematical notation), and
XHTML allows embedding of MathML as-is. So that's all fine; the nicest
possible output in both cases. Similarly for inserting diagrams, and so
on.

Now, I want to add the ability to use music in this system, too. Really,
the only sane way to do this within my framework is to find a way of
expressing music in XML, since embedding other languages reduces
functionality somewhat (I'm using XML because it's easy to transform
around into other types of XML, and thus integrate with unrelated
systems)

This is not something I wish to do myself: figuring out how to express
music in any form is a huge project. Indeed, the whole point of XML is
that you can make use of other people's namespaces... I've found a couple
of projects which attempt to do this. Apparently, they've become popular
enough that several well-known programs can output in their XML format.

So, it looks like I'll pick one of those to embed into my document, and
have my system transform their XML into lilypond's language, in order to
typeset it. Then, run lilypond behind the scenes with aim to output
whatever forms are most applicable to the type of document I'm
outputting.

I realise this may be an unlikley place to ask, but does anyone here
have experience with expressing music in XML? Are there any schemas to
avoid? I'm guessing some will be limited, and some will be cumbersome to
use... suggestions very much welcome.

> Cygwin is a nifty piece of kit which I use mainly for the Linux graphics
> programmes (XFig and XMGrace). It's just a pity it can't run Linux
> applications from a remote machine as one can with real Linux... :-(
> One of these days I will get a "virtual machine" installed on my system
> which I can run Linux inside, but for the moment there is no real urgency.

(Or if you happen to be using MaCOS, it'll run nativley)

--
Tom

-------------------------------------------------------------------
Klarinet is a service of Woodwind.Org, Inc. http://www.woodwind.org

   
     Copyright © Woodwind.Org, Inc. All Rights Reserved    Privacy Policy    Contact charette@woodwind.org