- accompaniment =\chords @{
-
-@end example
-@cindex chords
-@cindex mode, chords
-We'll put chords over the music. To enter them, we use a special mode
-analogous to @code{\lyrics} and @code{\notes} mode, where you can give
-the names of the chords you want instead of listing the notes
-comprising the chord.
-@separate
-@example
-
- r8
-
-@end example
-There is no accompaniment during the anacrusis.
-@separate
-@example
-
- c2:3-
-
-@end example
-
-@cindex tonic
-@cindex chord modifier
-@cindex modifier, chord
-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-}.
-
-@separate
-@example
-f:3-.7
-@end example
-Similarly, @code{7} modifies (adds) a seventh, which is small by
-default to create the @code{f a c es} chord. Multiple modifiers must be
-separated by dots.
-@separate
-@example
-
- d:min es4 c8:min r8
-
-@end example
-Some modifiers have predefined names, e.g. @code{min} is the same as
-@code{3-}, so @code{d-min} is a minor @code{d} chord.
-@separate
-@example
-
- c2:min f:min7 g:7^3.5 c:min @}
-
-@end example
-@cindex named modifier
-
-A named modifier @code{min} and a normal modifier @code{7} do not have
-to be separated by a dot. Tones from a chord are removed with chord
-subtractions. Subtractions are started with a caret, and they are
-also separated by dots. In this example, @code{g:7^3.5} produces a
-minor seventh (a G7 chord without the third or the fifth). The
-brace ends the sequential music.
-@separate
-@example
-
- \score @{
- \simultaneous @{
-
-@end example
-We assemble the music in the @code{\score} block. Melody, lyrics and
-accompaniment have to sound at the same time, so they should be
-@code{\simultaneous}.
-@cindex @code{\simultaneous}
-@separate
-@example
-
- %\accompaniment
-
-@end example
-Chord mode generates notes grouped in @code{\simultaneous} music. If
-you remove the comment sign, you can see the chords in normal
-notation: they will be printed as note heads on a separate
-staff. To print them as chords names, they have to be interpreted as
-being chords, not notes. This is done with the following command:
-@separate
-@example
-
- \context ChordNames \accompaniment
-
-@end example
-@cindex context
-@cindex interpretation context
-@cindex notation context
-
-
-Normally the notes that you enter are transformed into note heads.
-Note heads alone make no sense, so they need surrounding information: a key
-signature, a clef, staff lines, etc. They need @emph{context}. In
-LilyPond, these symbols are created by objects called `interpretation
-contexts'. Interpretation contexts exist for generating notation
-(`notation context') and for generating sound (`performance
-context'). These objects only exist while LilyPond is executing.
-
-When LilyPond interprets music, it will create a Staff context. If
-the @code{%} sign in the previous line were removed, you could see
-that mechanism in action.
-
-We don't want that default here, because we want chord names. The
-command above explicitly creates an interpretation context of
-@code{ChordNames} type to interpret the music @code{\accompaniment}.
-
-@separate
-@example
-
- \context Staff = mel @{
-
-@end example
-
-We place the melody on a staff called @code{mel}. We give it a name to
-differentiate it from the one that would contain note heads for the
-chords, if you would remove the comment before the ``note heads''
-version of the accompaniment. By giving this staff a name, it is
-forced to be different.
-@separate
-@example
-
- \property Staff.autoBeaming = ##f
-
-@end example
-@cindex \property
-@cindex context variables
-@cindex setting context variables
-An interpretation context has variables, called properties, that tune
-its behavior. One of the variables is @code{autoBeaming}. Setting
-this @code{Staff}'s property to @code{##f}, which is the boolean value
-@var{false}, turns the automatic beaming mechanism off for the current
-staff.
-
-
-@separate
-@example
-
- \melody
- @}
-
-@end example
-Finally, we put the melody on the current staff. Note that the
-@code{\property} directives and @code{\melody} are grouped in sequential
-music, so the property settings are done before the melody is
-processed.
-
-@separate
-@example
-
- \midi @{ \tempo 4=72@}
-
-@end example
-MIDI (Musical Instrument Digital Interface) is a standard for
-connecting and recording digital instruments. So a MIDI file is like a
-tape recording of an instrument. The @code{\midi} block makes the
-music go to a MIDI file, so you can listen to the music you entered. It
-is great for checking the music. Whenever you hear something weird, you
-probably hear a typing error.
-
-Syntactically, @code{\midi} is similar to @code{\paper @{ @}}, since it
-also specifies an output method. You can specify the tempo using the
-@code{\tempo} command, in this case the tempo of quarter notes is set to
-72 beats per minute.
-@separate
-@example
-
- \paper @{ linewidth = 10.0\cm @}
-
-@end example
-We also want notation output. The linewidth is short so that the piece
-will be set in two lines.
-
-@node More stanzas
-@section More stanzas
-
-
-@cindex phrasing
-
-If you have multiple stanzas printed underneath each other, the vertical
-groups of syllables should be aligned around punctuation. LilyPond can
-do this if you tell it which lyric lines belong to which melody.
-We show how you can do this by showing how you could print a frivolous
-fragment of a fictional Sesame Street duet.
-
-@lilypond[singleline,verbatim]
-\score {
-\addlyrics
- \notes \relative c'' \context Voice = duet { \time 3/4
- g2 e4 a2 f4 g2. }
- \lyrics \context Lyrics <
- \context LyricsVoice = "duet-1" {
- \property LyricsVoice . stanza = "Bert"
- Hi, my name is bert. }
- \context LyricsVoice = "duet-2" {
- \property LyricsVoice . stanza = "Ernie"
- Ooooo, ch\'e -- ri, je t'aime. }
- >
-}
-@end lilypond
-
-To this end, give the Voice context an identity, and set the
-LyricsVoice to a name starting with that identity followed by a dash.
-In the following example, the Voice identity is @code{duet},
-@example
-\context Voice = duet @{
- \time 3/4
- g2 e4 a2 f4 g2. @}
-@end example
-and the
-identities of the LyricsVoices are @code{duet-1} and @code{duet-2}.
-@example
- \context LyricsVoice = "duet-1" @{
- Hi, my name is bert. @}
- \context LyricsVoice = "duet-2" @{
- Ooooo, ch\'e -- ri, je t'aime. @}
-@end example
-
-We add the names of the singers. This can be done by setting
-@code{LyricsVoice.Stanza} (for the first system) and
-@code{LyricsVoice.stz} for the following systems. Note that you must
-surround dots with spaces in @code{\lyrics} mode.
-
-@example
- \property LyricsVoice . stanza = "Bert"
- @dots{}
- \property LyricsVoice . stanza = "Ernie"
-@end example
-
-The convention for naming @code{LyricsVoice} and @code{Voice} must
-also be used to get melismata on rests correct.
-
-
-@c I think we need to change the name of this section, but that
-@c would probably involve a lot of changes in other places too.
-@node More movements
-@section More movements
-
-The program @code{lilypond} only produces sheet music and does not
-create titles, subtitles, or print the composer's name. To do that,
-you need to use @code{ly2dvi}, which comes with LilyPond. @code{ly2dvi}
-creates the title, then calls @code{lilypond} to format the sheet music.
-In this section, we show you how to create titles like this:
-
-@c Old version of the above paragraph.
-@c LilyPond only produces sheet music; it doesn't concern itself with
-@c producing titles. Titles are produced using a simply wrapper program
-@c This is the jobs of a simple wrapper
-@c program called ly2dvi. @code{ly2dvi} calls LilyPond to do the
-@c sheet music formatting. Then it produces titles, and ties together all
-@c inputs into a single @file{dvi} file. In this section, we show some of
-@c the options for titling. We will show how you can produce a file
-@c that looks like this:
-
-@center @strong{Two miniatures}
-@flushright
-Opus 1.
-@end flushright
-@flushleft
-@var{Up}
-@end flushleft
-@lilypond
- \score {
- \notes { c'4 d'4 }
- \paper { linewidth = -1.0 }
- }
-@end lilypond
-@flushright
-Opus 2.
-@end flushright
-@flushleft
-@var{Down}
-@end flushleft
-@lilypond
- \score {
- \notes { d'4 c'4 }
- \paper { linewidth = -1.0 }
- }
-@end lilypond
-
-For example, consider the following file (@file{miniatures.ly})
-
-@example
-\version "1.5.72"
-\header @{
- title = "Two miniatures"
- composer = "F. Bar Baz"
- tagline = "small is beautiful" @}
-
-\paper @{ linewidth = -1.0 @}
-
-%@{
-
-Mental note: discuss Schenkerian analysis of these key pieces.
-
-%@}
-
-\score @{
- \notes @{ c'4 d'4 @}
- \header @{
- opus = "Opus 1."
- piece = "Up" @}
-@}
-\score @{
- \notes @{ d'4 c'4 @}
- \header @{
- opus = "Opus 2."
- piece = "Down" @}
-@}
-@end example
-
-
-The information for the global titling is in a so-called header block.
-The information in this block is not used by LilyPond, but it is
-passed into @code{ly2dvi}, which uses this information to print titles
-above the music.
-@cindex assignments
-@cindex identifier assignment
-the @code{\header} block contains assignments. In each assignment, a
-variable is set to a value. The header block for this file looks like
-this
-@cindex @code{\header}
-@example
- \header @{
- title = "Two miniatures"
- composer = "F. Bar Baz"
- tagline = "small is beautiful"
- @}
-@end example
-
-When you process a file with ly2dvi, a signature line is printed at
-the bottom of the last page. This signature is produced from the
-@code{tagline} field of @code{\header}. The default "Lily was here,
-@var{version number}" is convenient for programmers: archiving the
-layouts of different versions allows programmers to compare the
-versions using old print-outs.
-
-@cindex Lily was here
-@cindex signature line
-@cindex tag line
-
-Many people find the default tagline (``Lily was here'') too droll.
-If that is the case, you can change @code{tagline} to somethign else,
-as shown above.
-
-@separate
-@example
- \paper @{
- linewidth = -1.0 @}
-@end example
-
-A paper block at top level (i.e. not in a @code{\score} block) sets the
-default page layout. The following @code{\score} blocks don't have
-@code{\paper} sections, so the settings of this block are used.
-
-The variable @code{linewidth} normally sets the length of the systems
-on the page. However, a negative value has a special meaning. If
-@code{linewidth} is less than 0, no line breaks are inserted into the
-score, and the spacing is set to natural length: a short phrase takes
-up little space, a longer phrase takes more space, all on the same line.
-
-@example
-%@{
-
-Mental note: discuss Schenkerian analysis of these key pieces.
-
-%@}
-@end example
-
-Mental notes to yourself can be put into comments. There are two types
-of comments. Line comments are introduced by @code{%}, and block
-comments are delimited by @code{%@{} and @code{%@}}.
-
-@separate
-@example
- \score @{
- \notes @{ c'4 d'4 @}
-@end example
-
-In previous examples, most notes were specified in relative octaves
-(i.e. each note was put in the octave that is closest to its
-predecessor). Besides relative, there is also absolute octave
-specification, which you get when you don't include @code{\relative} in
-your input file. In this input mode, the middle C is denoted by
-@code{c'}. Going down, you get @code{c} @code{c,} @code{c,,} etc.
-Going up, you get @code{c''} @code{c'''} etc.
-
-When you're copying music from existing sheet music, relative octaves
-are probably the easiest to use: you have to do less typing, and errors are
-easily spotted. However, if you write LilyPond input directly, either by
-hand (i.e. composing) or by computer, absolute octaves may be easier to use.
-
-
-@separate
-@example
- \header @{
-@end example
-
-The @code{\header} is normally at the top of the file, where it sets
-values for the rest of the file. If you want to typeset different pieces
-from one file (for example, if there are multiple movements, or if
-you're making an exercise book), you can put different @code{\score}
-blocks into the input file. @code{ly2dvi} will assemble all LilyPond
-output files into a big document. The contents of @code{\header} blocks
-specified within each score is used for the title of that movement.
-@separate
-@example
- opus = "Opus 1."
- piece = "Up" @}
-@end example
-For example, the Opus number is put at the right, and the "piece" string
-will be at the left.
-
-
-
-@example
-\version "1.5.72"
-\header @{
- title = "Two miniatures"
- composer = "F. Bar Baz"
- tagline = "small is beautiful" @}
-
-\paper @{ linewidth = -1.0 @}
-
-\score @{
- \notes @{ c'4 d'4 @}
- \header @{
- opus = "Opus 1."
- piece = "Up" @}
-@}
-\score @{
- \notes @{ d'4 c'4 @}
- \header @{
- opus = "Opus 2."
- piece = "Down" @}
-@}
-@end example
-
-
-@separate
-@example
-\version "1.5.72"
-@end example
-Lilypond and its language are still under development, and
-occasionally details of the syntax are changed. The @code{version}
-fragment indicates which version of lilypond the input file was written
-for. When you compile this file, the version number will be checked
-and you will get a warning when the file is too old. This version
-number is also used by the @code{convert-ly} program (See
-@ref{Invoking convert-ly}), which can used to update the file to the
-latest lily version.
-
-
-@node A piano excerpt
-@section A piano excerpt
-
-Our eighth subject is a piece of piano music. The fragment in the
-input file is a piano reduction of the G major Sinfonia by Giovanni
-Battista Sammartini, composed around 1740. It's in the source
-package under the name @file{input/tutorial/sammartini.ly}.
-
-@lilypondfile[smallverbatim]{sammartini.ly}
-
-As you can see, this example features multiple voices on one staff. To
-make room for those voices, their notes should be stemmed in opposite
-directions.
-
-LilyPond includes the identifiers @code{\stemUp}, @code{\stemDown} along
-with some other commonly used formatting instructions, but to explain how
-it works, we wrote our own here. Of course, you should use predefined
-identifiers like these if possible: you will be less affected by changes
-between different versions of LilyPond.
-
-@separate
-@example
-viola = \notes \relative c' \context Voice = viola @{
-@end example
-In this example you can see multiple parts on a staff. Each part is
-associated with one notation context. This notation context handles
-stems and dynamics (among other things). The type name of this context
-is @code{Voice}. For each part we have to make sure that there is
-precisely one @code{Voice} context, so we give it a unique name
-(`@code{viola}').
-
-@separate
-@example
-<c4-\arpeggio g' c>
-@end example
-The delimiters @code{<} and @code{>} are shorthands for
-@code{\simultaneous @{} and @code{@}}. The expression enclosed in
-@code{<} and @code{>} is a chord.
-
-@cindex arpeggio
-
-@code{\arpeggio} typesets an arpeggio sign (a wavy vertical line) before
-the chord.
-
-@separate
-@example
- \voiceTwo
-@end example
-
-We want the viola to have stems down, and have all the other
-characteristics of a second voice. This is enforced using the
-@code{\voiceTwo} command: it inserts instructions that makes stem,
-ties, slurs, etc. go down.
-
-
-
-@separate
-@example
- g'8. b,16
-@end example
-Relative octaves work a little differently with chords. The starting
-point for the note following a chord is the first note of the chord. So
-the @code{g} gets an octave up quote: it is a fifth above the starting
-note of the previous chord (the central C).
-
-@separate
-@example
-s1 s2. r4
-@end example
-@code{s} is a spacer rest. It does not print anything, but it does have
-the duration of a rest. It is useful for filling up voices that
-temporarily don't play. In this case, the viola doesn't come until one
-and a half measure later.
-
-@separate
-@example
-oboes = \notes \relative c'' \context Voice = oboe @{
-@end example
-Now comes a part for two oboes. They play homophonically, so we
-print the notes as one voice that makes chords. Again, we insure that
-these notes are indeed processed by precisely one context with
-@code{\context}.
-@separate
-@example
-\voiceOne s4 g8. b,16 c8 r <e'8. g> <f16 a>
-@end example
-
-The oboes should have stems up to keep them from interfering with
-the staff-jumping bass figure. To do that, we use @code{\voiceOne}.
-
-@separate
-@example
-\grace <e8( g> < d4 )f> <c2 e>
-@end example
-@cindex @code{\grace}
-@cindex ornaments
-@cindex grace notes
-@code{\grace} introduces grace notes. It takes one argument, in this
-case a chord. A slur is introduced starting from the @code{\grace}
-ending on the following chord.
-
-@separate
-@example
-\times 2/3
-@end example
-@cindex tuplet