3 MANIFESTO -- Rationale behind the GNU LilyPond project
8 GNU LilyPond was written with some considerations in mind:
13 Describing a well-defined language for defining music. We call
14 this language (rather arrogantly) The Musical Definition Language
15 (mudela for short). GNU LilyPond reads a mudela sourcefile and outputs a
20 We want to provide an easy-to-use interface for typesetting music in
21 its broadest sense. This interface should be intuitive from a musical
22 point of view. By broadest sense we mean: it is designed for music
23 printed left to right in staffs, using notes to designate rythm and
28 Generate high-quality output. Ideally it should be of a professional
29 quality. We'd like to render Herbert Chlapiks words, "Fine music
30 setting is not possible without a knowledgeable printer," untrue.
34 Make a which system which fully tweakable. It should be possible to
35 typeset a book on how not to typeset music.
42 Further considerations while doing the programming
48 GNU LilyPond uses MusiXTeX fonts and TeX for its output. This is not a key
49 issue: in a future version, GNU LilyPond might bypass TeX, but at the moment
50 TeX is very convenient for producing output.
55 GNU LilyPond does not display notes directly, nor will it be rehacked to be
56 used interactively. GNU LilyPond writes output to a file. It will not be
57 extended to play music, or to recognize music.
61 GNU LilyPond is intended to run on Unix platforms, but it should
62 be portable to any platform which can run TeX and the GNU tools
66 GNU LilyPond is free. Commercial windows packages for setting music are
67 abundant. Free musicprinting software is scarce.
71 GNU LilyPond is written in GNU C++. It will not be downgraded/ported to fit
78 The design of Mudela has been (perfect past tense, hopefully) an
79 ongoing process, the most important criteria being:
85 define the (musical) message of the composer as unambiguously as possible,
89 be intuitive, and easily readable
90 (compared to, say, Musi*TeX input, or MIDI :-),
94 be writable in ASCII with a simple texteditor, yfte(TM).
98 Other considerations were (and will be):
104 be able to edit the layout without danger of changing the original
109 allow for adding different interpretations, again,
110 without danger of changing the original,
114 easy to create a conductor's score,
115 as well as the scores for all individual instruments,
119 provide simple musical manipulations, such as
120 S<(i) extracting> a slice of music from a previously defined piece,
121 S<(ii) extracting> only the rhythm from a piece of music,
122 S<(iii) transposing>, etc.,
126 easy to comprehend to both programmers and others.
130 One of the things that (might) be here would be: feasible to use in a
131 graphic editor. We don't have experience with these beasts, so we
132 don't know how to do this. Comments appreciated.
134 Musical pieces could be
140 Mahlerian orchestral scores,
144 piano pieces (Schubertian, Rachmaninovian),
148 pop songs (lyrics and chords),
156 Bach multivoice organ pieces,
160 short excerpts to be used in musicological publications.