]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/introduction.itely
man fixes
[lilypond.git] / Documentation / user / introduction.itely
1 @node Introduction
2 @chapter Introduction
3
4 LilyPond is a free program that produces high quality sheet music.
5
6 The features that set LilyPond apart from other music printing
7 programs are
8
9 @itemize
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
18  interpreter.
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
23 @end itemize
24
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
28 new compositions.
29
30 @menu
31 * Why LilyPond::                
32 * The Feta Font::               
33 * Engraving::                   
34 * Semantic input format::       
35 * A programming approach::      
36 * About this manual::           
37 * Bug reports::                 
38 * Web site::                    
39 @end menu
40
41 @node Why LilyPond
42 @section Why LilyPond
43
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.
47
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.
54
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.
58
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.
63
64 @node  The Feta Font
65 @section The Feta Font
66
67
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.
72
73 @iftex
74   {\font\fet=feta20 at 100pt
75   \fet\fetaquartrest\hskip 1cm\fetahalfhead\hskip 1cm\fetaflat}
76 @end iftex
77
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.
83
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.
87
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.
92
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
96 are also available.
97
98 @node Engraving
99 @section Engraving
100
101
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.
107
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
111 formulated rules.
112
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.
118
119 @lilypond
120     \score { \notes {
121       c'4 e''4 e'4 b'4 |
122       \property Staff.NoteSpacing \override #'stem-spacing-correction
123       = #0.0
124       \property Staff.StaffSpacing \override #'stem-spacing-correction
125       = #0.0
126       c'4 e''4 e'4 b'4 |      
127     }
128     \paper { linewidth = -1. } }
129 @end lilypond
130
131 @node Semantic input format
132 @section Semantic input format
133
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. 
139
140
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
143 formatting details.
144
145
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.
151
152
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.
159
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.
168
169
170 @node A programming approach
171 @section A programming approach
172
173 blabla
174
175 @node  About this manual
176 @section About this manual
177
178 blabla
179
180
181 @node Bug reports
182 @section Bug reports
183
184 @cindex bugs
185 @cindex reporting bugs
186
187
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!
190
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:
197
198 @itemize @bullet
199
200 @item A sample input which causes the error.  Please have mercy on the
201 developers, send a @emph{small} sample file.
202
203 @item The version number of lilypond.
204
205 @item A description of the platform you use (i.e., operating system,
206 system libraries, whether you downloaded a binary release)
207
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
210 ly2dvi.
211
212 @end itemize
213
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.
216
217
218 @node Web site
219 @section Web site
220
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/}.