]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/input.itely
Doc: cleanup @file{}, take 2: remove all @/ escaping sequences.
[lilypond.git] / Documentation / notation / input.itely
index c61abbf4f613e646b15dccee7d76e60d971815e4..a61d56b231bdbdc2ce4e62fe173f3b389437fead 100644 (file)
@@ -4,10 +4,11 @@
     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
 
     When revising a translation, copy the HEAD committish of the
-    version that you are working on.  See TRANSLATION for details.
+    version that you are working on.  For details, see the Contributors'
+    Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.36"
 
 @node General input and output
 @chapter General input and output
@@ -28,11 +29,13 @@ rather than specific notation.
 @section Input structure
 
 The main format of input for LilyPond are text files.  By convention,
-these files end with @code{.ly}.
+these files end with @file{.ly}.
 
 @menu
 * Structure of a score::
 * Multiple scores in a book::
+* Multiple output files from one input file::
+* Output file names::
 * File structure::
 @end menu
 
@@ -65,8 +68,8 @@ are music expressions:
 
 @lilypond[verbatim,quote]
 {
-  { c'4 c' c' c'}
-  { d'4 d' d' d'}
+  { c'4 c' c' c' }
+  { d'4 d' d' d' }
 }
 @end lilypond
 
@@ -99,6 +102,16 @@ input file.  They may be placed inside or outside a @code{\score}
 block, and inside or outside the single music expression within a
 @code{\score} block.
 
+Remember that even in a file containing only a @code{\score} block, it
+is implicitly enclosed in a \book block.  A \book block in a source
+file produces at least one output file, and by default the name of the
+output file produced is derived from the name of the input file, so
+@file{fandangoforelephants.ly} will produce
+@file{fandangoforelephants.pdf}.
+
+(For more details  about @code{\book} blocks, see
+@ref{Multiple scores in a book},
+@ref{Multiple output files from one input file} @ref{File structure}.)
 
 @seealso
 Learning Manual:
@@ -133,7 +146,7 @@ and texts are entered with a @code{\markup} block,
 
 @funindex \book
 
-All the movements and texts which appear in the same @code{.ly} file
+All the movements and texts which appear in the same @file{.ly} file
 will normally be typeset in the form of a single output file.
 
 @example
@@ -148,12 +161,7 @@ will normally be typeset in the form of a single output file.
 @}
 @end example
 
-However, if you want multiple output files from the same @code{.ly}
-file, then you can add multiple @code{\book} blocks, where each such
-@code{\book} block will result in a separate output.  If you do not
-specify any @code{\book} block in the file, LilyPond will implicitly
-treat the full file as a single @code{\book} block, see @ref{File
-structure}.  One important exception is within lilypond-book documents,
+One important exception is within lilypond-book documents,
 where you explicitly have to add a @code{\book} block, otherwise only
 the first @code{\score} or @code{\markup} will appear in the output.
 
@@ -208,6 +216,124 @@ title, like the book itself, by specifying a @code{\header} block.
 @}
 @end example
 
+@node Multiple output files from one input file
+@subsection Multiple output files from one input file
+
+If you want multiple output files from the same @file{.ly} file,
+then you can add multiple @code{\book} blocks, where each
+such \book block will result in a separate output file.
+If you do not specify any @code{\book} block in the
+input file, LilyPond will implicitly treat the whole
+file as a single \book block, see
+@ref{File structure}.
+
+When producing multiple files from a single source file, Lilypond
+ensures that none of the output files from any @code{\book} block
+overwrites the output file produced by a preceding @code{\book} from
+the same input file.
+
+It does this by adding a suffix to the output name for each
+@code{\book} which uses the default output file name derived from the
+input source file.
+
+The default behaviour is to append a version-number suffix for each
+name which may clash, so
+
+@example
+\book @{
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+\book @{
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+\book @{
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+@end example
+
+in source file @file{eightminiatures.ly}
+will produce
+
+@itemize
+@item
+@file{eightminiatures.pdf},
+@item
+@file{eightminiatures-1.pdf} and
+@item
+@file{eightminiatures-2.pdf}.
+@end itemize
+
+@node Output file names
+@subsection Output file names
+
+@funindex \bookOutputSuffix
+@funindex \bookOutputName
+
+Lilypond provides facilities to allow you to control what file names
+are used by the various back-ends when producing output files.
+
+In the previous section, we saw how Lilypond prevents name-clashes when
+producing several ouputs from a single source file.  You also have the
+ability to specify your own suffixes for each @code{\book} block, so
+for example you can produce files called
+@file{eightminiatures-Romanze.pdf}, @file{eightminiatures-Menuetto.pdf}
+and @file{eightminiatures-Nocturne.pdf} by adding a
+@code{\bookOutputSuffix} declaration inside each @code{\book} block.
+
+@example
+\book @{
+  \bookOutputSuffix "Romanze"
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+\book @{
+  \bookOutputSuffix "Menuetto"
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+\book @{
+  \bookOutputSuffix "Nocturne"
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+@end example
+
+You can also specify a different output filename for @code{book} block,
+by using @code{\bookOutputName} declarations
+
+@example
+\book @{
+  \bookOutputName "Romanze"
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+\book @{
+  \bookOutputName "Menuetto"
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+\book @{
+  \bookOutputName "Nocturne"
+  \score @{ @dots{} @}
+  \layout @{ @dots{} @}
+@}
+@end example
+
+The file above will produce these output files:
+
+@itemize
+@item
+@file{Romanze.pdf},
+@item
+@file{Menuetto.pdf} and
+@item
+@file{Nocturne.pdf}.
+@end itemize
+
+
 @node File structure
 @subsection File structure
 
@@ -219,10 +345,10 @@ title, like the book itself, by specifying a @code{\header} block.
 @funindex \book
 @funindex \bookpart
 
-A @code{.ly} file may contain any number of toplevel expressions, where a
+A @file{.ly} file may contain any number of toplevel expressions, where a
 toplevel expression is one of the following:
 
-@itemize @bullet
+@itemize
 @item
 An output definition, such as @code{\paper}, @code{\midi}, and
 @code{\layout}.  Such a definition at the toplevel changes the default
@@ -245,7 +371,7 @@ A @code{\score} block.  This score will be collected with other
 toplevel scores, and combined as a single @code{\book}.
 This behavior can be changed by setting the variable
 @code{toplevel-score-handler} at toplevel.  The default handler is
-defined in the init file @file{../scm/@/lily@/.scm}.
+defined in the init file @file{../scm/lily.scm}.
 
 @item
 A @code{\book} block logically combines multiple movements
@@ -253,14 +379,14 @@ A @code{\book} block logically combines multiple movements
 are a number of @code{\score}s, one output file will be created
 for each @code{\book} block, in which all corresponding movements
 are concatenated.  The only reason to explicitly specify
-@code{\book} blocks in a @code{.ly} file is if you wish to create
+@code{\book} blocks in a @file{.ly} file is if you wish to create
 multiple output files from a single input file.  One exception is
 within lilypond-book documents, where you explicitly have to add
 a @code{\book} block if you want more than a single @code{\score}
 or @code{\markup} in the same example.  This behavior can be
 changed by setting the variable @code{toplevel-book-handler} at
 toplevel.  The default handler is defined in the init file
-@file{../scm/@/lily@/.scm}.
+@file{../scm/lily.scm}.
 
 @item
 A @code{\bookpart} block.  A book may be divided into several parts,
@@ -294,7 +420,7 @@ music expression will be translated into
 
 This behavior can be changed by setting the variable
 @code{toplevel-music-handler} at toplevel.  The default handler is
-defined in the init file @file{../scm/@/lily@/.scm}.
+defined in the init file @file{../scm/lily.scm}.
 
 @item
 A markup text, a verse for example
@@ -376,6 +502,7 @@ after the entire command.
 
 @end itemize
 
+
 @seealso
 Learning Manual:
 @rlearning{How LilyPond input files work}.
@@ -389,7 +516,7 @@ some pieces include a lot more information.
 
 @menu
 * Creating titles::
-* Custom titles::
+* Custom headers footers and titles::
 * Reference to page numbers::
 * Table of contents::
 @end menu
@@ -581,8 +708,8 @@ Headers may be completely removed by setting them to false.
 @end example
 
 
-@node Custom titles
-@subsection Custom titles
+@node Custom headers footers and titles
+@subsection Custom headers, footers, and titles
 
 A more advanced option is to change the definitions of the following
 variables in the @code{\paper} block.  The init file
@@ -634,16 +761,48 @@ the name of the movement (@code{piece} field).
 The following definition will put the title flush left, and the
 composer flush right on a single line.
 
-@verbatim
-\paper {
-  bookTitleMarkup = \markup {
-   \fill-line {
+@example
+\paper @{
+  bookTitleMarkup = \markup @{
+   \fill-line @{
      \fromproperty #'header:title
      \fromproperty #'header:composer
-   }
-  }
-}
-@end verbatim
+   @}
+  @}
+@}
+@end example
+
+The header and footer are created by the functions
+@code{make-header} and @code{make-footer}, defined in
+@code{\paper}.  The default implementations are in
+@file{ly/paper-defaults-init.ly} and
+@file{ly/titling-init.ly}.
+
+This example centers page numbers at the bottom of every page.
+
+@example
+\paper @{
+  print-page-number = ##t
+  print-first-page-number = ##t
+  oddHeaderMarkup = \markup \fill-line @{ " " @}
+  evenHeaderMarkup = \markup \fill-line @{ " " @}
+  oddFooterMarkup = \markup @{
+    \fill-line @{
+      \bold \fontsize #3
+      \on-the-fly #print-page-number-check-first
+      \fromproperty #'page:page-number-string
+    @}
+  @}
+  evenFooterMarkup = \markup @{
+    \fill-line @{
+      \bold \fontsize #3
+      \on-the-fly #print-page-number-check-first
+      \fromproperty #'page:page-number-string
+    @}
+  @}
+@}
+@end example
+
 
 @node Reference to page numbers
 @subsection Reference to page numbers
@@ -661,7 +820,7 @@ point is placed, using the @code{\page-ref} markup command.
     {
       c'1
       \pageBreak \mark A \label #'markA
-      c'
+      c'1
     }
   }
 
@@ -710,16 +869,16 @@ top-level, or inside a music expression.
 \tocItem \markup "First score"
 \score {
   {
-    c'  % ...
+    c'4  % ...
     \tocItem \markup "Some particular point in the first score"
-    d'  % ...
+    d'4  % ...
   }
 }
 
 \tocItem \markup "Second score"
 \score {
   {
-    e' % ...
+    e'4 % ...
   }
 }
 @end verbatim
@@ -800,7 +959,7 @@ tocAct =
 
 
 @seealso
-Init files: @file{../ly/@/toc@/-init@/.ly}.
+Init files: @file{../ly/toc-init.ly}.
 
 
 @predefined
@@ -874,13 +1033,13 @@ statements of their own.  By default, these second-level
 @code{\include} statements are not interpreted until they have
 been brought into the main file, so the file names they specify
 must all be relative to the directory containing the main file,
-not the directory containing the included file. However,
+not the directory containing the included file.  However,
 this behavior can be changed by passing the option
 @code{-drelative-includes} option at the command line
 (or by adding @code{#(ly:set-option 'relative-includes #t)}
-at the top of the main input file). With @code{relative-includes}
+at the top of the main input file).  With @code{relative-includes}
 set, the path for each @code{\include} command will be taken
-relative to the file containing that command. This behavior is
+relative to the file containing that command.  This behavior is
 recommended and it will become the default behavior in a future
 version of lilypond.
 
@@ -971,7 +1130,7 @@ may be combined on one staff, see @ref{Automatic part combining}.
 Here is an example:
 
 @lilypond[verbatim,quote]
-sopranoMusic = \relative c'' { a4 b c b8( a)}
+sopranoMusic = \relative c'' { a4 b c b8( a) }
 altoMusic = \relative g' { e4 e e f }
 tenorMusic = \relative c' { c4 b e d8( c) }
 bassMusic = \relative c' { a4 gis a d, }
@@ -1063,8 +1222,8 @@ explicitly expanded:
 @lilypond[verbatim,quote]
 music = \relative g' {
   g8. c32 d
-  \tag #'trills {d8.\trill }
-  \tag #'expand {\repeat unfold 3 {e32 d} }
+  \tag #'trills { d8.\trill }
+  \tag #'expand { \repeat unfold 3 { e32 d } }
   c32 d
  }
 
@@ -1082,8 +1241,8 @@ Alternatively, it is sometimes easier to exclude sections of music:
 @lilypond[verbatim,quote]
 music = \relative g' {
   g8. c32 d
-  \tag #'trills {d8.\trill }
-  \tag #'expand {\repeat unfold 3 {e32 d} }
+  \tag #'trills { d8.\trill }
+  \tag #'expand {\repeat unfold 3 { e32 d } }
   c32 d
  }
 
@@ -1118,8 +1277,8 @@ Multiple tags may be placed on expressions with multiple
 
 @lilypond[quote,verbatim]
 music = \relative c'' {
-  \tag #'a \tag #'both { a a a a }
-  \tag #'b \tag #'both { b b b b }
+  \tag #'a \tag #'both { a4 a a a }
+  \tag #'b \tag #'both { b4 b b b }
 }
 <<
 \keepWithTag #'a \music
@@ -1133,10 +1292,10 @@ music expression to remove several differently named tagged sections:
 
 @lilypond[verbatim,quote]
 music = \relative c'' {
-\tag #'A { a a a a }
-\tag #'B { b b b b }
-\tag #'C { c c c c }
-\tag #'D { d d d d }
+\tag #'A { a4 a a a }
+\tag #'B { b4 b b b }
+\tag #'C { c4 c c c }
+\tag #'D { d4 d d d }
 }
 {
 \removeWithTag #'B
@@ -1234,7 +1393,7 @@ portuguese = \lyricmode {
   à vo -- cê uma can -- ção legal
 }
 
-\relative  {
+\relative c' {
   c2 d e f g f e
 }
 \addlyrics { \bulgarian }
@@ -1275,9 +1434,9 @@ lyrics and as stand-alone text below the score:
     c1 \mark \markup { \char ##x03EE }
     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
   }
-  \addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
+  \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
 }
-\markup { "Copyright 2008--2009" \char ##x00A9 }
+\markup { "Copyright 2008--2010" \char ##x00A9 }
 @end lilypond
 
 @cindex copyright sign
@@ -1295,26 +1454,25 @@ To enter the copyright sign in the copyright notice use:
 
 @funindex \displayLilyMusic
 Displaying a music expression in LilyPond notation can be
-done using the music function @code{\displayLilyMusic}.  For example,
+done with the music function @code{\displayLilyMusic} but only when
+using the command line.  For example,
 
 @example
 @{
-  \displayLilyMusic \transpose c a, @{ c e g a bes @}
+  \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
 @}
 @end example
 
 will display
 
 @example
-@{ a, cis e fis g @}
+@{ a,4 cis e fis g @}
 @end example
 
-By default, LilyPond will print these messages to the console along
-with all the other messages.  To split up these messages and save
-the results of @code{\display@{STUFF@}}, redirect the output to
-a file.
-
-@c TODO What happens under Windows?
+By default, LilyPond will print these messages to the console
+along with all the other LilyPond compilation messages.  To split
+up these messages and save the results of @code{\display@{STUFF@}},
+redirect the output to a file.
 
 @example
 lilypond file.ly >display.txt
@@ -1329,6 +1487,7 @@ lilypond file.ly >display.txt
 * Extracting fragments of music::
 * Skipping corrected music::
 * Alternative output formats::
+* Replacing the notation font::
 @end menu
 
 @node Extracting fragments of music
@@ -1401,13 +1560,12 @@ This property is also used to control output to the MIDI file.  Note that
 it skips all events, including tempo and instrument changes.  You have
 been warned.
 
-@lilypond[quote,fragment,ragged-right,verbatim]
-\relative c'' {
-  c8 d
-  \set Score.skipTypesetting = ##t
-  e e e e e e e e
-  \set Score.skipTypesetting = ##f
-  c d b bes a g c2 }
+@lilypond[quote,relative=2,ragged-right,verbatim]
+c8 d
+\set Score.skipTypesetting = ##t
+e8 e e e e e e e
+\set Score.skipTypesetting = ##f
+c8 d b bes a g c2
 @end lilypond
 
 In polyphonic music, @code{Score.skipTypesetting} will affect all
@@ -1429,6 +1587,44 @@ command line options, see @rprogram{Command line options for
 lilypond}.
 
 
+@node Replacing the notation font
+@subsection Replacing the notation font
+
+Gonville is an alternative to the Feta font used in LilyPond and can
+be downloaded from:
+@example
+@uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
+@end example
+
+Here are a few sample bars of music set in Gonville:
+
+@c NOTE: these images are a bit big, but that's important
+@c       for the font comparison.  -gp
+@sourceimage{Gonville_after,,,}
+
+Here are a few sample bars of music set in LilyPond's Feta font:
+
+@sourceimage{Gonville_before,,,}
+
+@subsubheading Installation Instructions for MacOS
+
+Download and extract the zip file.  Copy the @code{lilyfonts}
+directory to @file{@var{SHARE_DIR}/lilypond/current}; for more
+information, see @rlearning{Other sources of information}.
+Move the existing @code{fonts} directory to @code{fonts_orig} and
+move the @code{lilyfonts} directory to @code{fonts}.  Simply move
+@code{fonts_orig} back to @code{fonts} to revert back to Feta.
+
+@seealso
+Learning Manual: @rlearning{Other sources of information}.
+
+@knownissues
+
+Gonville cannot be used to typeset @q{Ancient Music} notation.  Please
+refer to the author's website for more information on this and other
+specifics including licensing of Gonville.
+
+
 @node MIDI output
 @section MIDI output
 
@@ -1475,7 +1671,7 @@ To create a MIDI output file from a LilyPond input file, add a
 
 If there is a @code{\midi} block in a @code{\score} with no
 @code{\layout} block, only MIDI output will be produced.  When
-notation is needed too, a @code{\layout} block must be also be
+notation is needed too, a @code{\layout} block must also be
 present.
 
 @example
@@ -1499,12 +1695,12 @@ with the @code{\tempo} command within the music notation.  These
 are reflected in tempo changes in the MIDI output.  This command
 will normally result in the metronome mark being printed, but this
 can be suppressed, see @ref{Metronome marks}.  An alternative way
-of specifying the inital or overall MIDI tempo is described below,
+of specifying the initial or overall MIDI tempo is described below,
 see @ref{MIDI block}.
 
 Due to some limitations on Windows, the default extension for
-MIDI files on Windows is @code{.mid}. Other operating systems still
-use the extension @code{.midi}. If a different extension is preferred,
+MIDI files on Windows is @code{.mid}.  Other operating systems still
+use the extension @code{.midi}.  If a different extension is preferred,
 insert the following line at the top-level of the input file,
 before the start of any @code{\book}, @code{\bookpart} or @code{\score} blocks:
 
@@ -1563,14 +1759,14 @@ resulting in silent passages of music.  The workaround is to explicitly
 terminate the (de)crescendo.  For example,
 
 @example
-@{ a\< b c d\f @}
+@{ a4\< b c d\f @}
 @end example
 
 @noindent
 will not work properly but
 
 @example
-@{ a\< b c d\!\f @}
+@{ a4\< b c d\!\f @}
 @end example
 
 @noindent
@@ -1625,7 +1821,7 @@ tempoWholesPerMinute = #(ly:make-moment 270 8)
 Context definitions follow precisely the same syntax as those
 within a @code{\layout} block.  Translation modules for sound are
 called performers.  The contexts for MIDI output are defined in
-@file{../ly/@/performer@/-init@/.ly},
+@file{../ly/performer-init.ly},
 see @rlearning{Other sources of information}.
 For example, to remove the effect of dynamics
 from the MIDI output, insert the following lines in the
@@ -1642,15 +1838,11 @@ from the MIDI output, insert the following lines in the
 @end example
 
 MIDI output is created only when a @code{\midi} block is included
-within a score block defined with a @code{\score} command.  If it
-is placed within an explicitly instantiated score context (i.e.
-within a @code{\new Score} block) the file will fail.  To solve
-this, enclose the @code{\new Score} and the @code{\midi} commands
-in a @code{\score} block.
+within a score block defined with a @code{\score} command.
 
 @example
 \score @{
-  \new Score @{ @dots{}notes@dots{} @}
+  @{ @dots{}notes@dots{} @}
   \midi @{ @}
 @}
 @end example
@@ -1678,7 +1870,7 @@ The following items of notation are reflected in the MIDI output:
 
 @itemize
 @item Pitches
-@item Microtones (See @ref{Accidentals}. Rendering needs a
+@item Microtones (See @ref{Accidentals}.  Rendering needs a
 player that supports pitch bend.)
 @item Chords entered as chord names
 @item Rhythms entered as note durations, including tuplets
@@ -1721,12 +1913,12 @@ repeats to unfold repeats.
 
 @lilypond[quote,verbatim]
 \unfoldRepeats {
-  \repeat tremolo 8 {c'32 e' }
+  \repeat tremolo 8 { c'32 e' }
   \repeat percent 2 { c''8 d'' }
-  \repeat volta 2 {c'4 d' e' f'}
+  \repeat volta 2 { c'4 d' e' f' }
   \alternative {
     { g' a' a' g' }
-    {f' e' d' c' }
+    { f' e' d' c' }
   }
 }
 \bar "|."
@@ -1789,9 +1981,9 @@ found, or calls the default function otherwise.
     \set Staff.midiInstrument = #"cello"
     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
     \new Voice {
-       \relative c'' {
-         a\pp b c-\rfz
-       }
+      \relative c'' {
+        a4\pp b c-\rfz
+      }
     }
   }
   \layout {}
@@ -1830,8 +2022,8 @@ volume is limited to the range 0.2 - 0.5.
       \time 2/2
       \set Staff.midiInstrument = #"flute"
       \new Voice \relative c''' {
-        r2 g\mp g fis ~
-        fis4 g8 fis e2 ~
+        r2 g\mp g fis~
+        fis4 g8 fis e2~
         e4 d8 cis d2
       }
     }
@@ -1845,7 +2037,7 @@ volume is limited to the range 0.2 - 0.5.
       }
     }
   >>
-  \layout { }
+  \layout {}
   \midi {
     \context {
       \Score
@@ -1880,8 +2072,8 @@ correctly.
       \set Staff.midiMinimumVolume = #0.7
       \set Staff.midiMaximumVolume = #0.9
       \new Voice \relative c''' {
-        r2 g\mp g fis ~
-        fis4 g8 fis e2 ~
+        r2 g\mp g fis~
+        fis4 g8 fis e2~
         e4 d8 cis d2
       }
     }
@@ -1897,7 +2089,7 @@ correctly.
       }
     }
   >>
-  \layout { }
+  \layout {}
   \midi {
     \context {
       \Score
@@ -1951,8 +2143,8 @@ to the same values as the previous example.
       \set Score.instrumentEqualizer = #my-instrument-equalizer
       \set Staff.midiInstrument = #"flute"
       \new Voice \relative c''' {
-        r2 g\mp g fis ~
-        fis4 g8 fis e2 ~
+        r2 g\mp g fis~
+        fis4 g8 fis e2~
         e4 d8 cis d2
       }
     }
@@ -1993,12 +2185,12 @@ copied out and compiled to test microtones in your MIDI player.
 @lilypond[verbatim,quote]
 \score {
   \relative c' {
-    c cih cis cisih
-    d dih ees eeh
-    e eih f fih
-    fis fisih g gih
-    gis gisih a aih
-    bes beh b bih
+    c4 cih cis cisih
+    d4 dih ees eeh
+    e4 eih f fih
+    fis4 fisih g gih
+    gis4 gisih a aih
+    bes4 beh b bih
   }
   \layout {}
   \midi {}