\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
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]
+@lilypond[relative=1,verbatim,fragment,quote]
{
\set melismaBusyProperties = #'()
c d( e) f f( e) e e
@end lilypond
+@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
+}
+
+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
+
+
@node Spacing lyrics
@subsection Spacing lyrics
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
@end lilypond
The above example shows verbose polyphonic notation. The short
-polyphonic notation, described in @ref{Polyphony}, can also be used if
+polyphonic notation, described in @ref{Basic polyphony}, can also be used if
the @internalsref{DrumVoice}s are instantiated by hand first. For example,
@lilypond[quote,ragged-right,fragment,verbatim]
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
``Musica Ficta''. In modern transcriptions, these accidentals are
usually printed over the note.
+@cindex Accidental, musica ficta
@cindex Musica ficta
Support for such suggested accidentals is included, and can be
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
+
+
@seealso
Program reference: @internalsref{NewBassFigure},