and the @context{Voice} is inserted afterwards
@example
-\new Staff = down
+\context Staff = down
\new Voice @{ @dots{} \change Staff = up @dots{} @}
@end example
\consists "Volta_engraver"
}
\chordmode { \repeat volta 2 {
- f1:maj f:7 bes:7
- c:maj
+ f1:maj7 f:7 bes:7
+ c:maj7
} \alternative {
es e
}
@menu
* Setting simple songs::
* Entering lyrics::
-* Hyphens and extenders::
+* Hyphens and extenders::
* The Lyrics context::
* Melismata::
* Another way of entering lyrics::
\lyricmode @{ twinkle@}
@end example
-@funindex \property, in @code{\lyricmode
+@funindex \property in \lyricmode
+
@noindent
Similarly, a period which follows an alphabetic sequence is included in
the resulting string. As a consequence, spaces must be inserted around
@funindex _
@cindex spaces, in lyrics
@cindex quotes, in lyrics
+@cindex ties, in lyrics
-In order to assign more than one syllable to a single note, you must
-surround them with quotes or use a @code{_} character between the syllables.
+In order to assign more than one syllable to a single note, you can
+surround them with quotes or use a @code{_} character, to get spaces
+between syllables, or use tilde symbol (@code{~}) to get a lyric tie.
@lilypond[quote,relative=2,ragged-right,fragment,verbatim]
\time 3/4
\relative { c2 e4 g2 e4 }
\addlyrics { gran- de_a- mi- go }
\addlyrics { pu- "ro y ho-" nes- to }
+\addlyrics { pu- ro~yho- nes- to }
@end lilypond
+The lyric ties is implemented with the Unicode character U+203F, so be
+sure to have a font (Like DejaVuLGC) installed that includes this
+glyph.
+
+
To enter lyrics with characters from non-English languages, or with
non-ascii characters (such as the heart symbol or slanted quotes),
simply insert the characters directly into the input file and save
it with utf-8 encoding. See @ref{Text encoding} for more info.
-@example
-\lyricmode @{ He said: “Let my peo ple go”. @}
-@end example
+@lilypond[quote,ragged-right,fragment,verbatim]
+\relative { e4 f e d e f e2 }
+\addlyrics { He said: “Let my peo ple go”. }
+@end lilypond
To use normal quotes in lyrics, add a backslash before the
quotes. For example,
combination of a backslash followed by one of @code{`}, @code{'},
@code{"}, or @code{^}.
+To define indentifiers containing lyrics, the function @code{lyricmode}
+must be used.
+
+@example
+verseOne = \lyricmode @{ Joy to the world the Lord is come @}
+\score @{
+ <<
+ \new Voice = "one" \relative c'' @{
+ \autoBeamOff
+ \time 2/4
+ c4 b8. a16 g4. f8 e4 d c2
+ @}
+ \addlyrics @{ \verseOne @}
+ >>
+@}
+@end example
+
@seealso
@node The Lyrics context
@subsection The Lyrics context
-Lyrics are printed by interpreting them in the context caleld
+Lyrics are printed by interpreting them in the context called
@internalsref{Lyrics}.
@example
@end example
This aligns the lyrics to the
-notes of the @internalsref{Voice} context called @var{name}, which has
-to exist. Therefore, normally the @code{Voice} is specified first, and
+notes of the @internalsref{Voice} context called @var{name}, which must
+already exist. Therefore normally the @code{Voice} is specified first, and
then the lyrics are specified with @code{\lyricsto}. The command
@code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
@code{\lyricmode} keyword may be omitted.
c4 b8. a16 g4. f8 e4 d c2
}
\new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 }
- \new Lyrics \lyricmode { Joy to the earth! the Sav -- our reigns. }
+ \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. }
\new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. }
>>
@end lilypond
The second stanza is not properly aligned because the durations
were not specified. A solution for that would be to use @code{\lyricsto}.
-
-
-
-
-
-To define indentifiers containing lyrics, the function @code{lyricmode}
-must be used.
-
-@example
-verseOne = \lyricmode @{ Joy to the world the Lord is come @}
-\score @{
- <<
- \new Voice = "one" \relative c'' @{
- \autoBeamOff
- \time 2/4
- c4 b8. a16 g4. f8 e4 d c2
- @}
- \addlyrics @{ \verseOne @}
- >>
-@}
-@end example
-
The @code{\addlyrics} command is actually just a convenient way
to write a more complicated LilyPond structure that sets up the
lyrics.
* Divisi lyrics::
* Switching the melody associated with a lyrics line::
* Specifying melismata within the lyrics::
+* Lyrics independent of notes::
@end menu
@node Lyrics to multiple notes of a melisma
can be done by entering @code{_} for every note that is part of the
melisma.
-@lilypond[relative=1,verbatim,fragment]
+@lilypond[relative=1,verbatim,fragment,quote]
{ \set melismaBusyProperties = #'()
c d( e) f f( e) e e }
\addlyrics
{ Ky -- _ _ ri __ _ _ _ e }
@end lilypond
-In this case, you can also have ties and slurs in the melody, if you
+In this case, you can also have ties and slurs in the melody if you
set @code{melismaBusyProperties}, as is done in the example above.
-@lilypond[relative=1,verbatim,fragment]
-{
- \set melismaBusyProperties = #'()
- c d( e) f f( e) e e
+
+@node Lyrics independent of notes
+@subsubsection Lyrics independent of notes
+
+In some complex vocal music, it may be desirable to place
+lyrics completely independently of notes. Music defined
+inside @code{lyricrhythm} disappears into the
+@code{Devnull} context, but the rhythms can still be used
+to place the lyrics.
+
+@lilypond[quote,verbatim,ragged-right]
+voice = {
+ c''2
+ \tag #'music { c''2 }
+ \tag #'lyricrhythm { c''4. c''8 }
+ d''1
}
-\addlyrics
- { Ky -- _ _ ri __ _ _ _ e }
+
+lyr = \lyricmode { I like my cat! }
+
+<<
+ \new Staff \keepWithTag #'music \voice
+ \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice
+ \new Lyrics \lyricsto "nowhere" \lyr
+ \new Staff { c'8 c' c' c' c' c' c' c'
+ c' c' c' c' c' c' c' c' }
+>>
@end lilypond
Names of singers can also be added. They are printed at the start of
the line, just like instrument names. They are created by setting
-@code{vocalName}. A short version may be entered as @code{vocNam}.
+@code{vocalName}. A short version may be entered as @code{shortVocalName}.
@lilypond[fragment,ragged-right,quote,verbatim,relative=2]
@end lilypond
+When a piece of music has many verses, they are often printed in
+multiple columns across the page. An outdented verse number often
+introduces each verse. The following example shows how to produce such
+output in Lilypond.
+
+@lilypond[ragged-right,quote,verbatim]
+melody = \relative c' {
+ c c c c | d d d d
+}
+
+text = \lyricmode {
+ \set stanza = "1." This is verse one.
+ It has two lines.
+}
+
+\score{ <<
+ \new Voice = "one" { \melody }
+ \new Lyrics \lyricsto "one" \text
+ >>
+ \layout { }
+}
+
+\markup {
+ \fill-line {
+ \hspace #0.1 % moves the column off the left margin; can be removed if
+ % space on the page is tight
+ \column {
+ \line { \bold "2."
+ \column {
+ "This is verse two."
+ "It has two lines."
+ }
+ }
+ \hspace #0.1 % adds vertical spacing between verses
+ \line { \bold "3."
+ \column {
+ "This is verse three."
+ "It has two lines."
+ }
+ }
+ }
+ \hspace #0.1 % adds horizontal spacing between columns; if they are
+ % still too close, add more " " pairs until the result
+ % looks good
+ \column {
+ \line { \bold "4."
+ \column {
+ "This is verse four."
+ "It has two lines."
+ }
+ }
+ \hspace #0.1 % adds vertical spacing between verses
+ \line { \bold "5."
+ \column {
+ "This is verse five."
+ "It has two lines."
+ }
+ }
+ }
+ \hspace #0.1 % gives some extra space on the right margin; can
+ % be removed if page space is tight
+ }
+}
+@end lilypond
+
+
@seealso
Program reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
* Showing melody rhythms::
* Entering percussion::
* Percussion staves::
+* Ghost notes::
@end menu
for this purpose instead.
+@c FIXME: check name -gp
+@node Ghost notes
+@subsection Ghost notes
+
+Ghost notes for drums and percussion may be created using the
+@code{\parenthesize} command detailed in @ref{Parentheses}. However,
+the default @code{\drummode} does
+not include the @code{Parenthesis_engraver} plugin which allows
+this. You
+must add the plugin explicitly in the context definition as
+detailed in @ref{Changing context properties on the fly}.
+
+@lilypond[quote,ragged-right,verbatim,fragment]
+\new DrumStaff \with {
+ \consists "Parenthesis_engraver"
+} <<
+ \context DrumVoice = "1" { s1 *2 }
+ \context DrumVoice = "2" { s1 *2 }
+ \drummode {
+ <<
+ {
+ hh8[ hh] <hh sn> hh16
+ < \parenthesize sn > hh < \parenthesize
+ sn > hh8 <hh sn> hh
+ } \\ {
+ bd4 r4 bd8 bd r8 bd
+ }
+ >>
+ }
+>>
+@end lilypond
+
+@noindent
+Also note that you must add chords (@code{< >} brackets)
+around each @code{\parenthesize} statement.
+
@node Guitar
@section Guitar
* Non-guitar tablatures::
* Banjo tablatures::
* Fret diagrams::
+* Right hand fingerings::
* Other guitar issues::
@end menu
Examples: @inputfileref{input/@/test,fret@/-diagram@/.ly}
+@node Right hand fingerings
+@subsection Right hand fingerings
+
+Right hand fingerings in chords can be entered using
+@code{@var{note}-\rightHandFinger @var{finger}}
+
+@lilypond[verbatim,fragment,relative=2]
+ <c-\rightHandFinger #1 e-\rightHandFinger #2 >
+@end lilypond
+
+for brevity, you can abbreviate @code{\rightHandFinger} to something
+short, for example @code{RH},
+
+@example
+#(define RH rightHandFinger)
+@end example
+
+@cindex fingerings, right hand, for guitar
+@cindex right hand fingerings for guitar
+
+@commonprop
+
+You may exercise greater control over right handing fingerings by
+setting @code{strokeFingerOrientations},
+
+@lilypond[quote,verbatim,ragged-right,fragment,relative=1]
+#(define RH rightHandFinger)
+{
+ \set strokeFingerOrientations = #'(up down)
+ <c-\RH #1 es-\RH #2 g-\RH #4 > 4
+ \set strokeFingerOrientations = #'(up right down)
+ <c-\RH #1 es-\RH #2 g-\RH #4 > 4
+}
+@end lilypond
+
+The letters used for the fingerings are contained in the property
+@code{digit-names}, but they can also be set individually by supplying
+@code{\rightHandFinger} with a string argument, as in the following example
+
+
+@lilypond[quote,verbatim,ragged-right,fragment,relative=1]
+#(define RH rightHandFinger)
+{
+ \set strokeFingerOrientations = #'(right)
+ \override StrokeFinger #'digit-names = ##("x" "y" "z" "!" "@")
+ <c-\RH #5 >4
+ <c-\RH "@">4
+}
+@end lilypond
+
+@seealso
+
+Internalls: @internalsref{StrokeFinger}
+
+
+
@node Other guitar issues
@subsection Other guitar issues
@node Ancient note heads
@subsection Ancient note heads
-@cindex note heads
-
+@cindex note heads, ancient
For ancient notation, a note head style other than the @code{default}
style may be chosen. This is accomplished by setting the @code{style}
\include "gregorian-init.ly"
\score {
\new VaticanaVoice {
- \override Staff.StaffSymbol #'color = #red
- \override Staff.LedgerLineSpanner #'color = #red
\override TextScript #'font-family = #'typewriter
\override TextScript #'font-shape = #'upright
\override Script #'padding = #-0.1
- a4\ictus_"ictus" s1
- a4\circulus_"circulus" s1
- a4\semicirculus_"semicirculus" s1 s
- a4\accentus_"accentus" s1
- \[ a4_"episem" \episemInitium \pes b \flexa a \episemFinis \]
+ a\ictus_"ictus" \break
+ a\circulus_"circulus" \break
+ a\semicirculus_"semicirculus" \break
+ a\accentus_"accentus" \break
+ \[ a_"episem" \episemInitium \pes b \flexa a b \episemFinis \flexa a \]
}
}
@end lilypond
Some articulations are vertically placed too closely to the
correpsonding note heads.
+The episem line is not displayed in many cases. If it is displayed,
+the right end of the episem line is often too far to the right.
+
@node Custodes
@subsection Custodes
Accidentals must not be printed within a ligature, but instead need to
be collected and printed in front of it.
-Augmentum dots within ligatures are not handled correctly.
-
The syntax still uses the deprecated infix style @code{\[ music expr
\]}. For consistency reasons, it will eventually be changed to
postfix style @code{note\[ ... note\]}. Alternatively, the file
\override Staff.TimeSignature #'style = #'neomensural
\clef "petrucci-g"
\[ c'\maxima g \]
-s4
\[ d\longa c\breve f e d \]
-s4
\[ c'\maxima d'\longa \]
-s4
\[ e'1 a g\breve \]
@end example
@lilypond[quote,ragged-right]
\override Staff.TimeSignature #'style = #'neomensural
\clef "petrucci-g"
\[ c'\maxima g \]
- s4
\[ d\longa c\breve f e d \]
- s4
\[ c'\maxima d'\longa \]
- s4
\[ e'1 a g\breve \]
}
\layout {
\override Staff.TimeSignature #'style = #'neomensural
\clef "petrucci-g"
\[ c'\maxima g \]
- s4
\[ d\longa c\breve f e d \]
- s4
\[ c'\maxima d'\longa \]
- s4
\[ e'1 a g\breve \]
}
@end lilypond
@refbugs
-The invisible rests (@code{s4}) in the example are used to compensate
-for the poor horizontal spacing.
+Horizontal spacing is poor.
@node Gregorian square neumes ligatures
@subsubsection Gregorian square neumes ligatures
@c even more Gregorian ligatures, and add a link to this document
@c here.
+Augmentum dots, also called @emph{morae}, are added with the music
+function @code{\augmentum}. Note that @code{\augmentum} is
+implemented as a unary music function rather than as head prefix. It
+applies to the immediately following music expression only. That is,
+@code{\augmentum \virga c} will have no visible effect. Instead, say
+@code{\virga \augmentum c} or @code{\augmentum @{\virga c@}}. Also
+note that you can say @code{\augmentum @{a g@}} as a shortcut for
+@code{\augmentum a \augmentum g}.
+
+@lilypond[quote,ragged-right,verbatim]
+\include "gregorian-init.ly"
+\score {
+ \new VaticanaVoice {
+ \[ \augmentum a \flexa \augmentum g \]
+ \augmentum g
+ }
+}
+@end lilypond
+
@refcommands
The following head prefixes are supported
@code{\flexa} infix commands for a rising and falling line of melody,
respectively.
+@funindex \augmentum
+Use the unary music function @code{\augmentum} to add augmentum dots.
+@refbugs
+
+When an @code{\augmentum} dot appears at the end of the last staff
+within a ligature, it is sometimes vertically placed wrong. As a
+workaround, add an additional skip note (e.g. @code{s8}) as last note
+of the staff.
+
+@code{\augmentum} should be implemented as a head prefix rather than a
+unary music function, such that @code{\augmentum} can be intermixed
+with head prefixes in arbitrary order.
@node Gregorian Chant contexts
@subsection Gregorian Chant contexts
\score {
<<
\new VaticanaVoice = "cantus" {
- \override Staff.StaffSymbol #'color = #red
- \override Staff.LedgerLineSpanner #'color = #red
- \override Score.BarNumber #'transparent = ##t {
- \[ c'\melisma c' \flexa a \]
- \[ a \flexa \deminutum g\melismaEnd \]
- f \divisioMinima
- \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
- c' \divisioMinima \break
- \[ c'\melisma c' \flexa a \]
- \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
- }
+ \[ c'\melisma c' \flexa a \]
+ \[ a \flexa \deminutum g\melismaEnd \]
+ f \divisioMinima
+ \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
+ c' \divisioMinima \break
+ \[ c'\melisma c' \flexa a \]
+ \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
}
\new Lyrics \lyricsto "cantus" {
San- ctus, San- ctus, San- ctus
markup text properties to override formatting. For example, the
vertical spacing of the figures may be set with @code{baseline-skip}.
+
+Figured bass can also be added to @code{Staff} contexts
+directly. In this case, their vertical position is adjusted
+automatically.
+
+@lilypond[ragged-right,fragment,quote]
+<<
+ \new Staff = someUniqueName
+ \relative c'' {
+ c4 c'8 r8 c,4 c'
+ }
+
+ %% send to existing Staff.
+ \context Staff = someUniqueName
+ \figuremode {
+ <4>4 <6 10>8 s8
+
+ \set Staff.useBassFigureExtenders = ##t
+ <4 6>4 <4 6>
+ }
+>>
+@end lilypond
+
+
+@refbugs
+
+When using figured bass above the staff with extender lines and
+@code{implicitBassFigures} the lines may become swapped around.
+Maintaining order consistently will be impossible when multiple figures
+have overlapping extender lines. To avoid this problem, plese
+use @code{stacking-dir} on @code{BassFigureAlignment}.
+
+
@seealso
Program reference: @internalsref{NewBassFigure},