4 LilyPond is a free program that produces high quality sheet music.
6 The features that set LilyPond apart from other music printing
10 @item Freely available under terms of the GNU GPL
11 @item Carefully designed music font
12 @item Lots of music formatting knowledge
13 @item Sophisticated formatting functions
14 @item Output is configurable using Scheme
15 @item Highly modular design
16 @item Semantic input format
17 @item Input can be generated, inspected and modified via builtin Scheme
19 @item Runs on both Unix and MS Windows
20 @item Multiple output formats
21 @item Easily embed musical fragments in LaTeX, Texinfo and HTML documents.
22 @item Works as a compiler: edit input in your favorite text editor
25 If you need to print out existing arrangements, composition, new
26 editions, or musical excercises, then LilyPond will suit you.
27 LilyPond is not interactive, and is probably not suited for creating
34 * Semantic input format::
35 * A programming approach::
44 LilyPond originally started out as an interesting hobby
45 project. Intrigued by music notation we set out to write a program to
46 produce high-quality music printouts, with minimal user intervention.
48 Engraving, the art of printing music is a very complex craftmanship,
49 that tries to make a typographically beautiful rendering of a piece of
50 music. The purpose of nicely engraved music is to ease the way music
51 is read. The typographical decisions have underlying logic, and to us
52 scientists, this begs the question: what is this logic, and can we
53 cast this logic into the more concrete form a computer program.
55 LilyPond is our concrete answer to this question, but besides being an
56 interesting hobby project, it also allows people that don't know much
57 about notation and engraving to print fine sheet music.
59 With LilyPond, we hope to give back a little to the Free Software
60 Community that gave us so much, and if possible, give people the
61 opportunity to publish sheet music with high quality layout. In our
62 utopic vision, some day LilyPond will help create more beautiful music.
65 @section The Feta Font
68 Most of the rules concerning music symbols have not been explicitly
69 laid down, so we have imitated the looks of symbols in beautiful hand
70 engraved music. The starting point was to have a strong, bold look,
71 with rounded symbol shapes, just like traditional engraving.
74 {\font\fet=feta20 at 100pt
75 \fet\fetaquartrest\hskip 1cm\fetahalfhead\hskip 1cm\fetaflat}
78 In the figure above, a few notable glyphs are shown. For example, in
79 most music the half-notehead is not elliptic but diamond shaped. The
80 stem of a flat symbol should be slightly brushed, i.e. becoming wider
81 at the top. Fine endings, such as the one on the bottom of the quarter
82 rest, should not end in sharp points, but rather in rounded shapes.
84 Finally, the blackness of the font is carefully tuned to give a strong
85 and dark visual impression. Many computer music fonts are rather
86 light, leading to anemic look when they are printed.
88 Although such details are not directly visible to the untrained eye,
89 careful attention to such details gives lilypond output a more
90 balanced appearance. We believe that the Feta font is among the most
91 elegant music font designs available today.
93 The Feta font was implemented in the font design system METAFONT. The
94 source code includes numerous comments on the specific design
95 considerations of each glyph. PostScript Type1 versions of the font
102 Music engraving used to be a craft requiring many years of training.
103 In the old days, sheet music was made by cutting and stamping the
104 music mirrored into zinc or pewter plates. The plate would be inked,
105 and the depressions caused by the cutting and stamping would hold ink
106 thus forming an positive image.
108 Of all craftmanships, engraving was the most difficult to learn trade;
109 completing the basic training took as long as six years.
110 Unfortunately, little of this knowledge comes to us as explicitly
113 The only books that specifically deal with music typography are the
114 books by Ross, Wanske and Hader @cite{hader48,ross,wanske}, and we
115 have found that are often lacking in detail. Of course, in order to
116 accurately computerize a process, one has to have a very detailed
117 description of what must be done.
122 \property Staff.NoteSpacing \override #'stem-spacing-correction
124 \property Staff.StaffSpacing \override #'stem-spacing-correction
128 \paper { linewidth = -1. } }
131 @node Semantic input format
132 @section Semantic input format
134 One the key points of LilyPond, is that the input is musical: what you
135 put into the program are musical concepts, such as pitches, durations,
136 voices, etc. The program then interprets these concepts, and produces
137 graphic output: glyphs, curves, offsets. In this way the program
138 tries to act like an engraver.
141 If you only want to print music, this might not interest you so much,
142 except for the fact that it means you don't have to worry much about
146 Many music encodings exist today @cite{selfridge-field97:beyond-midi},
147 but most of the encodings have not been tailored either for human use,
148 or for processing it with a computer. By its nature, LilyPond input
149 has both features: it is concise, suitable for human input, and it can
150 be processed automatically: it may be converted into MIDI or into print.
153 However, one big problem with music, is that there are no standards
154 for encoding music. Sure, you can record performances using MIDI, but
155 that offers far too little information for adequate musicological
156 purposes. With LilyPond we've taken a reverse approach: we have tried
157 to come up with musical format that can cater virtually all music as
158 long as it can be notated.
160 LilyPond input focuses on musical concepts such as pitch, duration and
161 music expressions. Musical data is rhythmic, and implies an ordering
162 of events. This ordering is used to create compound musical concepts:
163 Large musical structures are built recursively from smaller
164 expressions: a sequence of music expressions forms a new, longer and
165 bigger music expression. In this sense, the input is recursive. It
166 shares this property with very music encodings. The recursive nature
167 will appeal to the more hackerish musician.
170 @node A programming approach
171 @section A programming approach
175 @node About this manual
176 @section About this manual
185 @cindex reporting bugs
188 Since there is no finder's fee which doubles every year, there is no
189 need to wait for the prize money to grow. So send a bug report today!
191 LilyPond development moves quickly, so if you have a problem, it is
192 wise to check if it has been fixed in a newer release. If you think
193 you found a bug, please send in a bugreport. When you send us a
194 bugreport, we have to diagnose the problem and if possible, duplicate
195 it. To make this possible, it is important that you include the
196 following information in your report:
200 @item A sample input which causes the error. Please have mercy on the
201 developers, send a @emph{small} sample file.
203 @item The version number of lilypond.
205 @item A description of the platform you use (i.e., operating system,
206 system libraries, whether you downloaded a binary release)
208 @item If necessary, send a description of the bug itself. If you
209 include output a ly2dvi run, please use @code{--verbose} option of
214 You can send the report to @email{bug-lilypond@@gnu.org}. This is a
215 mailinglist, but you don't have to be subscribed to it to post.
221 If you are reading this manual in print, it is possible that the
222 website contains updates to the manual. You can find the lilypond
223 website at @uref{http://www.lilypond.org/}.