When we started with developing LilyPond, we were interested in music
notation, not as publishers or musicians, but as students and
-scientists. We wanted tried to figure to what extent formatting sheet
+scientists. We wanted to figure to what extent formatting sheet
music could be automated. This was when we were still studying at the
university. Back then GUIs were not as ubiquitous as they are today,
and we were immersed in the UNIX operating system, where it is very
One other decision was also motivated by our academic background. In
the scientific community it has always been a tradition to share
knowledge, and, to a lesser extent, the software you wrote. One of the
-most visible groups that stimulated this philosopy, was the Free
+most visible groups that stimulated this philosophy, was the Free
Software Foundation, whose GNU project aimed to replace closed and
proprietary computing solutions with free (as in ``Libre'')
variants. We jumped on that bandwagon, and that is the reason that you
go. As you can imagine this was a highly specialized skill, much more
so than the traditional process of printing books.
-@cindex craftmanship
+@cindex craftsmanship
@cindex master
-In fact, in the traditional German craftmanship six years of full-time
+In fact, in the traditional German craftsmanship six years of full-time
training were required, before a student could call himself a master
of the art. After that many more years of practical experience were
needed to become an established music engraver. Even today, in the
exact, mathematical spacing, and with some corrections. Can you spot
which is which?
+@c I can only see the motive printed two times!!! /Mats
+
@cindex optical spacing
@lilypond
\score { \notes {
treatises must have been written on the subject. Even if you are more
practically inclined, you will notice that an enormous number of
different ways to represent music in a computer exist, and they are
-much more incompatible than the formats for wordprocessors and
+much more incompatible than the formats for word processors and
spreadsheets. Anyone who has tried to exchange data files from
between different notation programs can attest to this.
As you will notice in the coming pages, and the examples, in a lot of
-case, the program makes good decisions, and what comes out of lilypond
+cases, the program makes good decisions, and what comes out of lilypond
generally looks good. For some specific examples, the default layout
of lilypond even is suitable for publication. However, some aspects of
the formatting are not yet very good. This gives us programmers
to the user. These are variables to control thicknesses, distances,
and other formatting options: there are a huge number of them, and it
would be impossible to describe them all in a hand-written
-manual. There is no need to despair, there is `automatic' manual, that
+manual. There is no need to despair, there is an `automatic' manual, that
lists all of the variables, symbol types, etc. that are available. It
is directly generated from the definitions that LilyPond itself uses,
so it is always up to date. If you are reading this from a screen: it
as follows: it starts with a tutorial that explains how to use
lilypond. In the tutorial, a number of fragments of increasing
complexity are shown and explained. Then comes the reference manual,
-which gives more detailed information on all features of If you're new
+which gives more detailed information on all features. If you're new
to lilypond, then you should start reading the tutorial, and
experiment for yourself. If you already have some experience, then
you can simply use the manual as reference: there is an extensive
-index@footnote{If you are looking something, and you can't find it by
+index@footnote{If you are looking for something, and you can't find it by
using the index, that is considered a bug. In that case, please file
-a bugreport}
+a bug report}.
@cindex bugreport
@cindex index
@end menu
Operating lilypond is done through text files: to print a piece of
-music, you enter the music in a file. When you run lilypond on that
-file, the program produces another file which contains sheet music that
-you can print or view.
+music, you enter the music in a file. When you run lilypond (normally
+using the program @code{ly2dvi}) on that file, the program produces
+another file which contains sheet music that you can print or view.
This tutorial starts with a small introduction to the LilyPond music
language. After this first contact, we will show you how to run
@c what is more common name treble or violin?
@c in Dutch, its violin.
-@c in English its definately treble.
+@c in English its definitely treble.
@quotation
@example
\clef treble
the height of a note is relative to the previous one.
@c don't use commas or quotes in this sentence
For example: @code{c f,} goes down; @code{f, f} are both the same;
-@code{c c'} are the same; and @code{c g'} goes up:
+@code{c' c} are the same; and @code{c g'} goes up:
@quotation
@example
The following table summarizes the syntax learned so far in this section.
+@c Is it possible to avoid page breaks directly after the
+@c table head? /Mats
+
@multitable @columnfractions .3 .3 .4
@item @b{Syntax}
To print more than one staff, each piece of music that makes up a staff
is marked by adding @code{\context Staff} before it. These
-@code{Staff}'s can be grouped inside @code{<} and @code{>}, as is
+@code{Staff}'s are then grouped inside @code{<} and @code{>}, as is
demonstrated here:
@quotation
@separate
-We can typeset a melody with two staves now:
+We can now typeset a melody with two staves:
@quotation
@lilypond[verbatim,singleline]
special symbols.
Spaces can be introduced into a lyric either by using quotes:
-@code{"He could"4 not4} or by using an underscore without quotes:
-@code{He_could4 not4}. All unquoted underscores are converted to
+@code{"He could" not} or by using an underscore without quotes:
+@code{He_could not}. All unquoted underscores are converted to
spaces.
These are the lyrics for the free software song:
lyric (using @code{_}).
-If you can use have hyphens at the end of a syllable, i.e.
+You can use ordinary hyphens at the end of a syllable, i.e.
@example
soft- ware
@end example
-but then the hyphen will be attached to the to the end of the first
-syllable.
+but then the hyphen will be attached to the end of the first syllable.
If you want them centered between syllables you can use the special
`@code{-}@code{-}' lyric as a separate word between syllables. The
hyphen will have variable length depending on the space between
-syllables. It will be centered between the syllables.
+the syllables and it will be centered between the syllables.
Normally the notes that you enter are transformed into note heads.
Note heads alone make no sense, so they need surrounding information: a
@end example
The structure of the file will be the same as the previous one: a
@code{\score} block with music in it. To keep things readable, we will
-give names to the different parts of music, and use the names to
-construct the music within the score block.
+give different names to the different parts of music, and use the names
+to construct the music within the score block.
@separate
@example
@cindex anacrusis
The piece starts with an anacrusis (or ``pickup'') of one eighth.
@separate
-@example
- \key c \minor
-@end example
-The key is C minor: we have three flats.
@separate
@example
@cindex lyrics
@cindex identifier assignment
@cindex syllables, entering
+This defines the lyrics, similar to what we have seen before.
@separate
@example
@cindex tonic
@cindex chord modifier
@cindex modifier, chord
-This is a c minor chord, lasting for a half note. Chord are entered using
+This is a c minor chord, lasting for a half note. Chords are entered using
the tonic. Notes can be changed to create different chords. In this case,
a lowered third is used (making a C major chord into a C minor chord).
- The code for this is @code{3-}.
+The code for this is @code{3-}.
@separate
@example
set to the pair of symbols @code{'(stem . stem)}.
Although this is useful information, it is not very helpful: the
-lilypond backend supports approximately 240 variables like
+lilypond back-end supports approximately 240 variables like
@code{attachment}, each with their own meaning and own type
(eg. number, symbol, list, etc). Besides slur, LilyPond has 80
different types of Grobs, that may be created in 14 different context
@cindex internal documentation
@cindex finding grobs
-@cindex grob descriptiosn
+@cindex grob descriptions
The interesting information is how you can figure out which properties
to tune for your own scores. To discover this, you must have a copy of
@example
\property Staff.transposing = #3
@end example
-The french horn is to be tuned in E-flat, so we tell the MIDI backend to
+The french horn is to be tuned in E-flat, so we tell the MIDI back-end to
transpose this staff by three steps.
Note how we can choose different tuning for entering, printing and
Sometimes, you might want to use music examples in a text that you are
writing. For example, if you are writing a musicological treatise, a
songbook, or (like us) the LilyPond manual. You can make such texts by
-hand, simply by importing a PostScript figure into your wordprocessor.
+hand, simply by importing a PostScript figure into your word processor.
However, there is a also an automated procedure:
If you use HTML, La@TeX{} or texinfo, you can mix text and LilyPond