-@c -*-texinfo-*-
+@c -*- coding: latin-1; mode: texinfo; -*-
@c This file is part of lilypond.tely
@c TODO:
@section First steps
The first example demonstrates how to enter the most elementary piece
-of music, a scale. A note can be entered by typing its name, from
-@samp{a} through @samp{g}. So, if you enter
+of music, a @rglos{scale}. A @rglos{note} can be entered by typing its
+name, from @samp{a} through @samp{g}. So, if you enter
@example
c d e f g a b
c d e f g a b
@end lilypond
-The duration of a note is specified by a number after the note name.
-@samp{1} for a @rglos{whole note}, @samp{2} for a @rglos{half note},
+The @rglos{duration} of a note is specified by a number after the note
+name. @samp{1} for a @rglos{whole note}, @samp{2} for a @rglos{half note},
@samp{4} for a @rglos{quarter note} and so on
@example
{ a1 a2 a4 a16 a32 s16_" " }
@end lilypond
-If you do not specify a @rglos{duration}, the duration last entered is
-used for the next notes. The duration of the first note in input
-defaults to a quarter
+If you do not specify a duration, the duration last entered is used
+for the next notes. The duration of the first note in input defaults
+to a quarter
@example
a a8 a a2 a
@end lilypond
-Rests are entered just like notes, but with the name @samp{r}
+A @rglos{rest} is entered just like a note, but with the name @samp{r}
@cindex rests
@example
{ a2. a4 a8. a16 s16_" " }
@end lilypond
-The @rglos{meter} (or @rglos{time signature}) can be set with the
-@code{\time} command
+The (or @rglos{time signature}) can be set with the @code{\time}
+command
@example
\time 3/4
The @rglos{clef} can be set using the @code{\clef} command
-@c what is more common name treble or violin?
-@c in Dutch, it is violin.
-@c in English it is definitely treble.
@example
\clef treble
\clef bass
@lilypond[fragment,quote,notime]
\set Score.timing = ##f
-\clef violin
+\clef treble
s4_" "
\clef bass
s4_" "
@code{@{@tie{}@dots{}@tie{}@}} to convert it to printable output.
@lilypond[fragment,quote,noindent,linewidth=55\staffspace]
-{
- \time 3/4
- \clef bass
- c2 e4 g2.
- f4 e d c2 r4
-}
+\time 3/4
+\clef bass
+c2 e4 g2.
+f4 e d c2 r4
@end lilypond
For more elaborate information on
@c cheesy title to avoid clash with chapter name.
-In the last section we explained what kind of things you could enter
+In the last section we explained what kind of things you can enter
in a LilyPond file. In this section we will explain what commands to
run and how to view or print the output. If you have not used
LilyPond before, want to test your setup, or want to run an example
You will see something resembling
@example
-lilypond (GNU LilyPond) 2.2.0
-Running lilypond...
-Now processing `/home/fred/ly/test.ly'
+lilypond test.ly
+GNU LilyPond 2.5.0
+Processing `test.ly'
Parsing...
-Interpreting music...[1]
-@emph{... more interesting stuff ... }
-DVI output to `test.dvi'...
-PDF output to `test.pdf'...
-PS output to `test.ps'...
+Interpreting music... [1]
+Preprocessing graphical objects...
+Calculating line breaks... [2]
+Layout output to `test.tex'...
+Converting to `test.dvi'...
+Converting to `test.ps'...
+Converting to `test.pdf'...
@end example
@cindex DVI file
@cindex dvips
@cindex dvilj
@cindex DVI driver
-} which you can print or with the standard facilities of your
+} which you can print or view with the standard facilities of your
operating system.@footnote{If your system does not have any tools
installed, you can try
-@uref{http://www.cs.wisc.edu/~ghost/,Ghostscript}, a freely available
-package for viewing and printing PDF and PostScript files.}
+@uref{http://@/www@/.cs@/.wisc@/.edu/@/~ghost/,Ghostscript}, a freely
+available package for viewing and printing PDF and PostScript files.}
On Windows, start up a text-editor@footnote{Any simple or
programmer-oriented editor will do, for example Notepad. Do not use a
@noindent
The code @samp{d} does not mean `print a black dot just below the
staff.' Rather, it means: `a note with pitch D-natural.' In the key
-of A-flat, it does get an accidental
-
-@lilypond[quote,notime,fragment]
-\key as \major
-d'
-@end lilypond
+of A-flat major, it does get an accidental
-@example
+@lilypond[quote,notime,fragment,relative=1,verbatim]
\key as \major
d
-@end example
+@end lilypond
Adding all alterations explicitly might require a little more effort
when typing, but the advantage is that transposing is easier, and
accidentals can be printed according to different conventions. See
-@ref{Accidentals}, for some examples how accidentals can be printed
+@ref{Automatic accidentals}, for some examples how accidentals can be printed
according to different rules.
@quotation
@table @asis
@item Accidentals
-see @ref{Accidentals}.
+see @ref{Automatic accidentals}.
@item Key signature
see @ref{Key signature}.
@section Entering ties
@cindex tie
-A tie is created by appending a tilde @samp{~} to the first note
-being tied
+A @rglos{tie} is created by appending a tilde @samp{~} to the first
+note being tied
@lilypond[quote,notime,fragment,verbatim,relative=3]
g4~ g a2~ a4
@section Automatic and manual beams
@cindex beams, by hand
-Beams are drawn automatically
+All @rglos{beam}s are drawn automatically
@lilypond[quote,fragment,relative=2,verbatim]
a8 ais d es r d
a8[ ais] d[ es r d]
@end lilypond
-For more information on beams, see @ref{Beaming}.
+For more information on beams, see @ref{Manual beams}.
Here are key signatures, accidentals and ties in action
-@example
-@{
+@lilypond[fragment,quote,noindent,linewidth=50\staffspace,verbatim]
+\relative c'' {
\time 4/4
\key g \minor
- \clef violin
+ \clef treble
r4 r8 a8 gis4 b
- a8 d4.~ d e8
- fis4 fis8 fis8 eis4 a8 gis~
- gis2 r2
-@}
-@end example
-
-@ignore
-FIXME
-ugr: removing the ignore block, leaving the comment line below
-@c TODO: use relative mode, verbatim, junk \transpose and above @example
-@end ignore
-
-
-@lilypond[fragment,quote,noindent,linewidth=50\staffspace]
-\transpose c c' {
- \time 4/4
- \key g \minor
- \clef violin
- r4 r8 a8 gis4 b
- a8 d4.~ d e8
+ a8 d4.~ d e,8
fis4 fis8 fis8 eis4 a8 gis~
gis2 r2
}
There are some interesting points to note in this example. Bar lines
and beams are drawn automatically. Line breaks are calculated
automatically; it does not matter where the line breaks are in the
-source file. Finally, the order in which time, key and clef changes
+source file. Finally, the order in which time, key, and clef changes
are entered is not relevant: in the printout, these are ordered
according to standard notation conventions.
@c but we'd need to remove the ', from \key and tie
To raise a note by an octave, add a high quote @code{'} (apostrophe) to
the note name, to lower a note one octave, add a `low quote' @code{,}
-(a comma). Middle C is @code{c'}
+(comma). Middle C is @code{c'}
-@example
-c'4 c'' c''' \clef bass c c,
-@end example
-
-@lilypond[quote,notime,fragment]
+@lilypond[quote,notime,fragment,verbatim]
c'4 c'' c''' \clef bass c c,
@end lilypond
@end lilypond
@noindent
-The last example shows that music in a high register needs lots of quotes.
+This example shows that music in a high register needs lots of quotes.
This makes the input less readable, and it is a source of errors. The
solution is to use `relative octave' mode. This is the
most convenient way to copy existing music.
-In relative mode, a note without octavation quotes (i.e. the @code{'}
-or @code{,} after a note) is chosen so it it is closest to the
+In relative mode, a note without octavation quotes (i.e. the @code{'}
+or @code{,} after a note) is chosen so that it is closest to the
previous one. For example, @samp{c f} goes up while @samp{c g} goes
-down
+down.
To use relative mode, add @code{\relative} before the piece of
music. The first note is taken relative to the middle C
@c no , for this sentence
-(i.e. @code{c'})
+(i.e., @code{c'})
relative to the previous one, and changing the octave of a single note
shifts all following notes an octave up or down.
-For more information on Relative octaves see @ref{Relative octaves},
+For more information on relative octaves see @ref{Relative octaves},
and @ref{Octave check}.
In input files, music is represent by so-called @emph{music
-expression}. We have already seen in the previous examples;
+expression}s. We have already seen some in the previous examples;
a single note is a music expression
@lilypond[fragment,quote,verbatim,relative=3]
a4
@end lilypond
-Enclosing group of notes in braces creates a new music
+Enclosing a group of notes in braces creates a new music
expression
@lilypond[fragment,quote,verbatim,relative=3]
{ a4 g4 }
@end lilypond
-Putting a bunch of music expressions (notes) in braces, means that
+Putting a bunch of music expressions (e.g., notes) in braces, means that
they should be played in sequence. The result again is a music
expression, which can be grouped with other expressions sequentially.
Here, the expression from the previous example is combined with two
as a simultaneous combination of two sequences. A `simultaneous'
music expression is formed by enclosing expressions in @code{<<} and
@code{>>}. In the following example, three sequences (all containing
-two other notes) are combined simultaneously
+two separate notes) are combined simultaneously
@lilypond[fragment,quote,verbatim,relative=3]
<<
- { a4 g }
- { f e }
- { d b }
+ { a4 g }
+ { f e }
+ { d b }
>>
@end lilypond
for complex music like polyphonic scores.
Note that this example only has one staff, whereas
-the previous example had three seperate staves. That is because this
+the previous example had three separate staves. That is because this
example begins with a single note. To determine the number of staves,
LilyPond looks at the first element. If it is a single note, there is one
staff; if there is a simultaneous expression, there is more than one staff.
To print more than one staff, each piece of music that makes up a
staff is marked by adding @code{\new Staff} before it. These
-@code{Staff} elements are then combined parallel with @code{<<} and
+@code{Staff} elements are then combined in parallel with @code{<<} and
@code{>>}, as demonstrated here
@lilypond[quote,fragment,verbatim]
is best to mark contexts explicitly. This ensures that each fragment
gets its own stave.
-There are several types of contexts: @code{Staff}, @code{Voice} and
-@code{Score} handle melodic notation. Other contexts are also
-@code{Lyrics} (for setting lyric texts) and @code{ChordNames} (for
-printing chord names).
-
+There are several types of contexts. @code{Staff}, @code{Voice} and
+@code{Score} handle melodic notation, while @code{Lyrics} sets lyric
+texts and @code{ChordNames} prints chord names.
In terms of syntax, prepending @code{\new} to a music expression
creates a bigger music expression. In this way it resembles the minus
>>
@end lilypond
-For more information on context see the description in
+For more information on contexts see the description in
@ref{Interpretation contexts}.
Articulations and fingerings are usually placed automatically, but you
can specify a direction using @samp{^} (up) or @samp{_} (down). You can
-also use multiple articulations on the same note. In most cases, it is
-best to let LilyPond determine the articulation directions.
+also use multiple articulations on the same note. In most cases, however,
+it is best to let LilyPond determine the articulation directions.
@lilypond[fragment,quote,verbatim,relative=2]
c_-^1 d^. f^4_2-> e^-_+
Crescendi and decrescendi are started with the commands @code{\<} and
@code{\>}. An ending dynamic, for example @code{\f}, will finish the
-crescendo, or the command @code{\!} can be used
+(de)crescendo, or the command @code{\!} can be used
@lilypond[fragment,quote,verbatim,relative=2]
c2\< c2\ff\> c2 c2\!
@cindex slur
-A slur is a curve drawn across many notes, and indicates legato
-articulation. The starting note and ending note are marked with
-@samp{(} and @samp{)}, respectively
+A @rglos{slur} is a curve drawn across many notes, and indicates
+legato articulation. The starting note and ending note are marked
+with @samp{(} and @samp{)}, respectively
@lilypond[fragment,quote,fragment,relative=2,verbatim]
d4( c16) cis( d e c cis d) e( d4)
@end lilypond
@cindex slurs versus ties
-A slur looks like a tie, but it has a different meaning. A tie simply
-makes the first note sound longer, and can only be used on pairs of
-notes with the same pitch. Slurs indicate the articulations of notes,
-and can be used on larger groups of notes. Slurs and ties can be
-nested
+A slur looks like a @rglos{tie}, but it has a different meaning. A
+tie simply makes the first note sound longer, and can only be used on
+pairs of notes with the same pitch. Slurs indicate the articulations
+of notes, and can be used on larger groups of notes. Slurs and ties
+can be nested
@lilypond[quote,fragment,relative=2]
c2~( c8 fis fis4 ~ fis2 g2)
@cindex phrasing slurs
Slurs to indicate phrasing can be entered with @code{\(} and
@code{\)}, so you can have both legato slurs and phrasing slurs at the
-same time.
+same time. You cannot have simultaneous slurs or simultaneous
+phrasing slurs.
@lilypond[quote,fragment,relative=2,verbatim]
a8(\( ais b c) cis2 b'2 a4 cis, c\)
A comment is a remark for the human reader of the music input; it is
ignored while parsing, so it has no effect on the printed output.
There are two types of comments. The percent symbol @samp{%}
-introduces a line comment; after @code{%} the rest of the line is
-ignored. A block comments marks a whole section of music
+introduces a line comment; after @code{%} the rest of the line is
+ignored. A block comment marks a whole section of music
input. Anything that is enclosed in @code{%@{} and @code{%@}} is
ignored. The following fragment shows possible uses for comments
@example
% notes for twinkle twinkle follow
-c4 c g' g a a g2
+ c4 c g' g a a g2
%@{
This line, and the notes below
%@}
@end example
-@c TODO post-3.0 reorg
+@c TODO post-2.4 reorg
@c This is good info, but I wouldn't call it a comment. IMO it should
@c be moved somewhere else.
There is a special statement that is a kind of comment. The @code{\version}
statement marks for which version of LilyPond the file was written.
-To mark a file for version 3.0.0, use
+To mark a file for version 2.4.0, use
@example
-\version "3.0.0"
+\version "2.4.0"
@end example
@noindent
These annotations make future upgrades of LilyPond go more
smoothly. Changes in the syntax are handled with a special program,
-@file{convert-ly} (see @ref{Invoking convert-ly}), and it uses
+@file{convert-ly} (see @ref{Updating files with convert-ly}), and it uses
@code{\version} to determine what rules to apply.
@lilypond[quote,verbatim,fragment,raggedright]
\relative {
- r4 c \times 2/3 { f g g }
- \times 2/3 { g4( a2) }
+ r4 c \times 2/3 { f g g }
+ \times 2/3 { g4( a2) }
}
@end lilypond
@lilypond[fragment,quote,raggedright]
<<
\relative {
- \time 2/4
- f4 f c' c
- }
- \addlyrics { Twin -- kle twin -- kle }
+ \time 2/4
+ f4 f c' c
+ }
+ \addlyrics { Twin -- kle twin -- kle }
>>
@end lilypond
@cindex chords
@cindex chord names
+@c TODO: revise this, \chords { } is shorter and more intuitive.
+
In popular music, it is common to denote accompaniment with chord names.
Such chords can be entered like notes,
Now each pitch is read as the root of a chord instead of a note.
This mode is switched on with @code{\chordmode}
-
Other chords can be created by adding modifiers after a colon. The
following example shows a few common modifiers
-@lilypond[quote,verbatim]
+@lilypond[quote,verbatim,raggedright]
\chordmode { c2 f4:m g4:maj7 gis1:dim7 }
@end lilypond
For lead sheets, chords are not printed on staves, but as names on a
-line of themselves. Hence, we have to override the context with
-@code{\new}, rendering the music expression in a @code{ChordNames}
-context
-
-@lilypond[quote,verbatim]
-\chordmode { c2 f4.:m g4.:maj7 gis8:dim7 }
+line for themselves. This is achieved by using @code{\chords} instead
+of @code{\chordmode}. This uses the same syntax as @code{\chordmode},
+but renders the notes in a @code{ChordNames} context, with the
+following result.
+
+@lilypond[quote,verbatim,raggedright]
+\chords { c2 f4.:m g4.:maj7 gis8:dim7 }
@end lilypond
@cindex lead sheet
@example
<<
- \chordmode @{ @emph{chords} @}
+ \chords @{ @emph{chords} @}
@emph{the melody}
\addlyrics @{ @emph{the text} @}
>>
@lilypond[quote,raggedright]
<<
- \chordmode { r2 c:sus4 f }
+ \chords { r2 c:sus4 f }
\relative {
r4 c' \times 2/3 { f g g }
\times 2/3 { g4( a2) }
}
- \addlyrics { I want to break free __ }
+ \addlyrics { I want to break free __ }
>>
@end lilypond
@end example
-When the file is processed the title and composer are printed above
+When the file is processed, the title and composer are printed above
the music. More information on titling can be found in @ref{Creating
titles}.
them down.
Entering such parts is done by entering each voice as a sequence (with
-@code{@{...@}}), and combining those simultaneously, separating the
+@code{@{...@}}), and combining these simultaneously, separating the
voices with @code{\\}
@lilypond[quote,verbatim,relative=2,fragment]
\new Staff <<
\clef bass
{ <c, g>1 ~ <c g>4 } \\
- { f4 d e2 ~ e4}
+ { e,4 d e2 ~ e4}
>>
>>
@end lilypond
-More features of polyphonic typesetting in the notation manual are
-described in @ref{Polyphony}.
+More features of polyphonic typesetting are described in this manual
+in section @ref{Polyphony}.
@node Piano staves
>>
@end lilypond
-More information on formatting piano music is in @ref{Piano music}.
+More information on formatting piano music is given in @ref{Piano music}.
@node Organizing larger pieces
places. The following example uses the above variables
@example
- \paper @{
- \aFivePaper
- linewidth = \width
- @}
- @{ c4^\name @}
+\paper @{
+ \aFivePaper
+ linewidth = \width
+@}
+@{ c4^\name @}
@end example
-More information on the possible uses of identifiers is in the
+More information on the possible uses of identifiers is given in the
technical manual, in @ref{Input variables and Scheme}.
@c fixme: the ref is too technical.
the musicians, and once in a full score for the conductor. Identifiers can
be used to avoid double work. The music is entered once, and stored in
a variable. The contents of that variable is then used to generate
-both the part and the score.
+both the part and the full score.
It is convenient to define the notes in a special file. For example,
suppose that the file @file{horn-music.ly} contains the following part
-of a horn/bassoon duo
+of a horn/@/bassoon duo
@example
-hornNotes = \relative c @{
+hornNotes = \relative c @{
\time 2/4
r4 f8 a cis4 f e d
@}
the file, so @code{hornNotes} is defined afterwards. The command
@code{\transpose f@tie{}c'} indicates that the argument, being
@code{\hornNotes}, should be transposed by a fifth downwards. Sounding
-@samp{f} is denoted by notated @code{c'}, which corresponds with
+@samp{f} is denoted by notated @code{c'}, which corresponds with the
tuning of a normal French Horn in@tie{}F. The transposition can be seen
in the following output
@lilypond[quote,raggedright]
- \transpose f c' \relative c {
- \time 2/4
- r4 f8 a cis4 f e d
- }
+\transpose f c' \relative c {
+ \time 2/4
+ r4 f8 a cis4 f e d
+}
@end lilypond
In ensemble pieces, one of the voices often does not play for many
@lilypond[quote,raggedright]
\transpose f c' \relative c {
- \time 2/4
- \set Score.skipBars = ##t
- R2*3
- r4 f8 a cis4 f e d
- }
+ \time 2/4
+ \set Score.skipBars = ##t
+ R2*3
+ r4 f8 a cis4 f e d
+}
@end lilypond
\include "bassoon-music.ly"
\include "horn-music.ly"
- <<
- \new Staff \hornNotes
- \new Staff \bassoonNotes
- >>
+<<
+ \new Staff \hornNotes
+ \new Staff \bassoonNotes
+>>
@end example
@noindent
leading to
@lilypond[quote,raggedright]
- \relative c <<
- \new Staff {
- \time 2/4 R2*3
- r4 f8 a cis4 f e d
- }
- \new Staff {
- \clef bass
- r4 d,8 f | gis4 c | b bes |
- a8 e f4 | g d | gis f
- }
- >>
+\relative c <<
+ \new Staff {
+ \time 2/4 R2*3
+ r4 f8 a cis4 f e d
+ }
+ \new Staff {
+ \clef bass
+ r4 d,8 f | gis4 c | b bes |
+ a8 e f4 | g d | gis f
+ }
+>>
@end lilypond
More in-depth information on preparing parts and scores can be found