@c -*- coding: utf-8; mode: texinfo; -*- @ignore 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. @end ignore @node Ancient notation @section Ancient notation @cindex Vaticana, Editio @cindex Medicaea, Editio @cindex hufnagel @cindex Petrucci @cindex mensural Support for ancient notation includes features for mensural notation and Gregorian Chant notation. There is also limited support for figured bass notation. Many graphical objects provide a @code{style} property, see @itemize @item @ref{Ancient note heads}, @item @ref{Ancient accidentals}, @item @ref{Ancient rests}, @item @ref{Ancient clefs}, @item @ref{Ancient flags}, @item @ref{Ancient time signatures}. @end itemize By manipulating such a grob property, the typographical appearance of the affected graphical objects can be accommodated for a specific notation flavor without the need for introducing any new notational concept. In addition to the standard articulation signs described in section @ref{Articulations and ornamentations}, specific articulation signs for ancient notation are provided. @itemize @item @ref{Ancient articulations} @end itemize Other aspects of ancient notation can not that easily be expressed in terms of just changing a style property of a graphical object or adding articulation signs. Some notational concepts are introduced specifically for ancient notation, @itemize @item @ref{Custodes}, @item @ref{Divisiones}, @item @ref{Ligatures}. @end itemize If this all is too much of documentation for you, and you just want to dive into typesetting without worrying too much about the details on how to customize a context, you may have a look at the predefined contexts. Use them to set up predefined style-specific voice and staff contexts, and directly go ahead with the note entry, @itemize @item @ref{Gregorian Chant contexts}, @item @ref{Mensural contexts}. @end itemize There is limited support for figured bass notation which came up during the baroque period. @itemize @item @ref{Figured bass} @end itemize @c Here are all subtopics at a glance: @menu * Alternative note signs for ancient music:: * Additional note signs for ancient music:: * Pre-defined contexts:: * Musica ficta accidentals:: * Figured bass:: @end menu @node Alternative note signs for ancient music @subsection Alternative note signs for ancient music @menu * Ancient note heads:: * Ancient accidentals:: * Ancient rests:: * Ancient clefs:: * Ancient flags:: * Ancient time signatures:: @end menu @node Ancient note heads @unnumberedsubsubsec Ancient 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} property of the @internalsref{NoteHead} object to @code{baroque}, @code{neomensural}, @code{mensural} or @code{petrucci}. The @code{baroque} style differs from the @code{default} style only in using a square shape for @code{\breve} note heads. The @code{neomensural} style differs from the @code{baroque} style in that it uses rhomboidal heads for whole notes and all smaller durations. Stems are centered on the note heads. This style is particularly useful when transcribing mensural music, e.g., for the incipit. The @code{mensural} style produces note heads that mimic the look of note heads in historic printings of the 16th century. Finally, the @code{petrucci} style also mimicks historic printings, but uses bigger note heads. The following example demonstrates the @code{neomensural} style @lilypond[quote,fragment,ragged-right,verbatim] \set Score.skipBars = ##t \override NoteHead #'style = #'neomensural a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 @end lilypond When typesetting a piece in Gregorian Chant notation, the @internalsref{Gregorian_ligature_engraver} will automatically select the proper note heads, so there is no need to explicitly set the note head style. Still, the note head style can be set, e.g., to @code{vaticana_punctum} to produce punctum neumes. Similarly, a @internalsref{Mensural_ligature_engraver} is used to automatically assemble mensural ligatures. See @ref{Ligatures}, for how ligature engravers work. @seealso @ref{Note head styles}, gives an overview over all available note head styles. @node Ancient accidentals @unnumberedsubsubsec Ancient accidentals @cindex accidentals Use the @code{glyph-name-alist} property of grob @internalsref{Accidental} and @internalsref{KeySignature} to select ancient accidentals. @lilypond[quote,ragged-right,staffsize=26] \score { { \fatText s^\markup { \column { "vaticana" \line { " " \musicglyph #"accidentals.vaticana-1" " " \musicglyph #"accidentals.vaticana0" } } \column { "medicaea" \line { " " \musicglyph #"accidentals.medicaea-1" } } \column { "hufnagel" \line { " " \musicglyph #"accidentals.hufnagel-1" } } \column { "mensural" \line { " " \musicglyph #"accidentals.mensural-1" " " \musicglyph #"accidentals.mensural1" } } } } \layout { interscoreline = 1 \context { \Score \remove "Bar_number_engraver" } \context { \Staff \remove "Clef_engraver" \remove "Key_engraver" \remove "Time_signature_engraver" \remove "Staff_symbol_engraver" \override VerticalAxisGroup #'minimum-Y-extent = ##f } } } @end lilypond As shown, not all accidentals are supported by each style. When trying to access an unsupported accidental, LilyPond will switch to a different style, as demonstrated in @lsr{ancient,ancient-accidentals.ly}. Similarly to local accidentals, the style of the key signature can be controlled by the @code{glyph-name-alist} property of the @internalsref{KeySignature} grob. @seealso In this manual: @ref{Pitches}, @ref{Accidentals}, and @ref{Automatic accidentals}, give a general introduction of the use of accidentals. @ref{Key signature}, gives a general introduction of the use of key signatures. Internals Reference: @internalsref{KeySignature}. Examples: @lsrdir{ancient} @node Ancient rests @unnumberedsubsubsec Ancient rests @cindex rests, ancient Use the @code{style} property of grob @internalsref{Rest} to select ancient rests. Supported styles are @code{classical}, @code{neomensural}, and @code{mensural}. @code{classical} differs from the @code{default} style only in that the quarter rest looks like a horizontally mirrored 8th rest. The @code{neomensural} style suits well for, e.g., the incipit of a transcribed mensural piece of music. The @code{mensural} style finally mimics the appearance of rests as in historic prints of the 16th century. The following example demonstrates the @code{neomensural} style @lilypond[quote,fragment,ragged-right,verbatim] \set Score.skipBars = ##t \override Rest #'style = #'neomensural r\longa r\breve r1 r2 r4 r8 r16 @end lilypond There are no 32th and 64th rests specifically for the mensural or neo-mensural style. Instead, the rests from the default style will be taken. See @lsr{pitches,rests} for a chart of all rests. There are no rests in Gregorian Chant notation; instead, it uses @ref{Divisiones}. @seealso In this manual: @ref{Rests}, gives a general introduction into the use of rests. @node Ancient clefs @unnumberedsubsubsec Ancient clefs @cindex clefs LilyPond supports a variety of clefs, many of them ancient. The following table shows all ancient clefs that are supported via the @code{\clef} command. Some of the clefs use the same glyph, but differ only with respect to the line they are printed on. In such cases, a trailing number in the name is used to enumerate these clefs. Still, you can manually force a clef glyph to be typeset on an arbitrary line, as described in @ref{Clef}. The note printed to the right side of each clef in the example column denotes the @code{c'} with respect to that clef. @multitable @columnfractions .4 .4 .2 @item @b{Description} @tab @b{Supported Clefs} @tab @b{Example} @item modern style mensural C clef @tab @code{neomensural-c1}, @code{neomensural-c2},@* @code{neomensural-c3}, @code{neomensural-c4} @tab @lilypond[fragment,relative=1,notime] \clef "neomensural-c2" c @end lilypond @item petrucci style mensural C clefs, for use on different staff lines (the examples show the 2nd staff line C clef) @tab @code{petrucci-c1}, @code{petrucci-c2},@* @code{petrucci-c3}, @code{petrucci-c4},@* @code{petrucci-c5} @tab @lilypond[fragment,relative=1,notime] \clef "petrucci-c2" \override NoteHead #'style = #'mensural c @end lilypond @item petrucci style mensural F clef @tab @code{petrucci-f} @tab @lilypond[fragment,relative=1,notime] \clef "petrucci-f" \override NoteHead #'style = #'mensural c @end lilypond @item petrucci style mensural G clef @tab @code{petrucci-g} @tab @lilypond[fragment,relative=1,notime] \clef "petrucci-g" \override NoteHead #'style = #'mensural c @end lilypond @item historic style mensural C clef @tab @code{mensural-c1}, @code{mensural-c2},@* @code{mensural-c3}, @code{mensural-c4} @tab @lilypond[fragment,relative=1,notime] \clef "mensural-c2" \override NoteHead #'style = #'mensural c @end lilypond @item historic style mensural F clef @tab @code{mensural-f} @tab @lilypond[fragment,relative=1,notime] \clef "mensural-f" \override NoteHead #'style = #'mensural c @end lilypond @item historic style mensural G clef @tab @code{mensural-g} @tab @lilypond[fragment,relative=1,notime] \clef "mensural-g" \override NoteHead #'style = #'mensural c @end lilypond @item Editio Vaticana style do clef @tab @code{vaticana-do1}, @code{vaticana-do2},@* @code{vaticana-do3} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'vaticana.punctum \clef "vaticana-do2" c @end lilypond @item Editio Vaticana style fa clef @tab @code{vaticana-fa1}, @code{vaticana-fa2} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'vaticana.punctum \clef "vaticana-fa2" c @end lilypond @item Editio Medicaea style do clef @tab @code{medicaea-do1}, @code{medicaea-do2},@* @code{medicaea-do3} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'medicaea.punctum \clef "medicaea-do2" c @end lilypond @item Editio Medicaea style fa clef @tab @code{medicaea-fa1}, @code{medicaea-fa2} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'medicaea.punctum \clef "medicaea-fa2" c @end lilypond @item historic style hufnagel do clef @tab @code{hufnagel-do1}, @code{hufnagel-do2},@* @code{hufnagel-do3} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'hufnagel.punctum \clef "hufnagel-do2" c @end lilypond @item historic style hufnagel fa clef @tab @code{hufnagel-fa1}, @code{hufnagel-fa2} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'line-count = #4 \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'hufnagel.punctum \clef "hufnagel-fa2" c @end lilypond @item historic style hufnagel combined do/fa clef @tab @code{hufnagel-do-fa} @tab @lilypond[fragment,relative=1,notime] \override Staff.StaffSymbol #'color = #red \override Staff.LedgerLineSpanner #'color = #red \override Voice.Stem #'transparent = ##t \override NoteHead #'style = #'hufnagel.punctum \clef "hufnagel-do-fa" c @end lilypond @end multitable @emph{Modern style} means @qq{as is typeset in contemporary editions of transcribed mensural music.} @emph{Petrucci style} means @qq{inspired by printings published by the famous engraver Petrucci (1466-1539).} @emph{Historic style} means @qq{as was typeset or written in historic editions (other than those of Petrucci).} @emph{Editio XXX style} means @qq{as is/was printed in Editio XXX.} Petrucci used C clefs with differently balanced left-side vertical beams, depending on which staff line it is printed. @seealso In this manual: see @ref{Clef}. @refbugs The mensural g clef is mapped to the Petrucci g clef. @node Ancient flags @unnumberedsubsubsec Ancient flags @cindex flags Use the @code{flag-style} property of grob @internalsref{Stem} to select ancient flags. Besides the @code{default} flag style, only the @code{mensural} style is supported @lilypond[quote,fragment,ragged-right,verbatim] \override Stem #'flag-style = #'mensural \override Stem #'thickness = #1.0 \override NoteHead #'style = #'mensural \autoBeamOff c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8 c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32 @end lilypond Note that the innermost flare of each mensural flag always is vertically aligned with a staff line. There is no particular flag style for neo-mensural notation. Hence, when typesetting the incipit of a transcribed piece of mensural music, the default flag style should be used. There are no flags in Gregorian Chant notation. @refbugs The attachment of ancient flags to stems is slightly off due to a change in early 2.3.x. Vertically aligning each flag with a staff line assumes that stems always end either exactly on or exactly in the middle between two staff lines. This may not always be true when using advanced layout features of classical notation (which however are typically out of scope for mensural notation). @node Ancient time signatures @unnumberedsubsubsec Ancient time signatures @cindex time signatures There is limited support for mensural time signatures. The glyphs are hard-wired to particular time fractions. In other words, to get a particular mensural signature glyph with the @code{\time n/m} command, @code{n} and @code{m} have to be chosen according to the following table @lilypond[quote,ragged-right] \layout { indent = 0.0 \context { \Staff \remove Staff_symbol_engraver \remove Clef_engraver \remove Time_signature_engraver } } { \set Score.timing = ##f \set Score.barAlways = ##t s_\markup { "\\time 4/4" }^\markup { " " \musicglyph #"timesig.neomensural44" } s s_\markup { "\\time 2/2" }^\markup { " " \musicglyph #"timesig.neomensural22" } s s_\markup { "\\time 6/4" }^\markup { " " \musicglyph #"timesig.neomensural64" } s s_\markup { "\\time 6/8" }^\markup { " " \musicglyph #"timesig.neomensural68" } \break s_\markup { "\\time 3/2" }^\markup { " " \musicglyph #"timesig.neomensural32" } s s_\markup { "\\time 3/4" }^\markup { " " \musicglyph #"timesig.neomensural34" } s s_\markup { "\\time 9/4" }^\markup { " " \musicglyph #"timesig.neomensural94" } s s_\markup { "\\time 9/8" }^\markup { " " \musicglyph #"timesig.neomensural98" } \break s_\markup { "\\time 4/8" }^\markup { " " \musicglyph #"timesig.neomensural48" } s s_\markup { "\\time 2/4" }^\markup { " " \musicglyph #"timesig.neomensural24" } } @end lilypond Use the @code{style} property of grob @internalsref{TimeSignature} to select ancient time signatures. Supported styles are @code{neomensural} and @code{mensural}. The above table uses the @code{neomensural} style. This style is appropriate for the incipit of transcriptions of mensural pieces. The @code{mensural} style mimics the look of historical printings of the 16th century. The following examples show the differences in style, @lilypond[ragged-right,fragment,relative=1,quote] { \fatText \time 2/2 c1^\markup { \hspace #-2.0 \typewriter default } \override Staff.TimeSignature #'style = #'numbered \time 2/2 c1^\markup { \hspace #-2.0 \typewriter numbered } \override Staff.TimeSignature #'style = #'mensural \time 2/2 c1^\markup { \hspace #-2.0 \typewriter mensural } \override Staff.TimeSignature #'style = #'neomensural \time 2/2 c1^\markup { \hspace #-2.0 \typewriter neomensural } \override Staff.TimeSignature #'style = #'single-digit \time 2/2 c1^\markup { \hspace #-2.0 \typewriter single-digit } } @end lilypond @seealso This manual: @ref{Time signature}, gives a general introduction to the use of time signatures. @refbugs Ratios of note durations do not change with the time signature. For example, the ratio of 1 brevis = 3 semibrevis (tempus perfectum) must be made by hand, by setting @example breveTP = #(ly:make-duration -1 0 3 2) @dots{} @{ c\breveTP f1 @} @end example @noindent This sets @code{breveTP} to 3/2 times 2 = 3 times a whole note. The @code{old6/8alt} symbol (an alternate symbol for 6/8) is not addressable with @code{\time}. Use a @code{\markup} instead @node Additional note signs for ancient music @subsection Additional note signs for ancient music @menu * Ancient articulations:: * Custodes:: * Divisiones:: * Ligatures:: * White mensural ligatures:: * Gregorian square neumes ligatures:: @end menu @node Ancient articulations @unnumberedsubsubsec Ancient articulations @cindex articulations In addition to the standard articulation signs described in section @ref{Articulations and ornamentations}, articulation signs for ancient notation are provided. These are specifically designed for use with notation in Editio Vaticana style. @lilypond[quote,ragged-right,verbatim] \include "gregorian-init.ly" \score { \new VaticanaVoice { \override TextScript #'font-family = #'typewriter \override TextScript #'font-shape = #'upright \override Script #'padding = #-0.1 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 @refbugs Some articulations are vertically placed too closely to the corresponding 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 @unnumberedsubsubsec Custodes @cindex custos @cindex custodes A @emph{custos} (plural: @emph{custodes}; Latin word for @q{guard}) is a symbol that appears at the end of a staff. It anticipates the pitch of the first note(s) of the following line thus helping the performer to manage line breaks during performance. Custodes were frequently used in music notation until the 17th century. Nowadays, they have survived only in a few particular forms of musical notation such as contemporary editions of Gregorian chant like the @emph{editio vaticana}. There are different custos glyphs used in different flavors of notational style. For typesetting custodes, just put a @internalsref{Custos_engraver} into the @internalsref{Staff} context when declaring the @code{\layout} block, as shown in the following example @example \layout @{ \context @{ \Staff \consists Custos_engraver Custos \override #'style = #'mensural @} @} @end example The result looks like this @lilypond[quote,ragged-right] \score { { a'1 \override Staff.Custos #'style = #'mensural \break g' } \layout { \context { \Staff \consists Custos_engraver } } } @end lilypond The custos glyph is selected by the @code{style} property. The styles supported are @code{vaticana}, @code{medicaea}, @code{hufnagel}, and @code{mensural}. They are demonstrated in the following fragment @lilypond[quote,ragged-right,fragment] \new Lyrics \lyricmode { \markup { \column { \typewriter "vaticana" \line { " " \musicglyph #"custodes.vaticana.u0" } } } \markup { \column { \typewriter "medicaea" \line { " " \musicglyph #"custodes.medicaea.u0" } }} \markup { \column { \typewriter "hufnagel" \line { " " \musicglyph #"custodes.hufnagel.u0" } }} \markup { \column { \typewriter "mensural" \line { " " \musicglyph #"custodes.mensural.u0" } }} } @end lilypond @seealso Internals Reference: @internalsref{Custos}. Examples: @lsr{ancient,custodes@/.ly}. @node Divisiones @unnumberedsubsubsec Divisiones @cindex divisio @cindex divisiones @cindex finalis A @emph{divisio} (plural: @emph{divisiones}; Latin word for @q{division}) is a staff context symbol that is used to structure Gregorian music into phrases and sections. The musical meaning of @emph{divisio minima}, @emph{divisio maior}, and @emph{divisio maxima} can be characterized as short, medium, and long pause, somewhat like the breathmarks from @ref{Breath marks}. The @emph{finalis} sign not only marks the end of a chant, but is also frequently used within a single antiphonal/responsorial chant to mark the end of each section. To use divisiones, include the file @file{gregorian@/-init@/.ly}. It contains definitions that you can apply by just inserting @code{\divisioMinima}, @code{\divisioMaior}, @code{\divisioMaxima}, and @code{\finalis} at proper places in the input. Some editions use @emph{virgula} or @emph{caesura} instead of divisio minima. Therefore, @file{gregorian@/-init@/.ly} also defines @code{\virgula} and @code{\caesura} @lilypondfile[quote,ragged-right]{divisiones.ly} @refcommands @funindex \virgula @code{\virgula}, @funindex \caesura @code{\caesura}, @funindex \divisioMinima @code{\divisioMinima}, @funindex \divisioMaior @code{\divisioMaior}, @funindex \divisioMaxima @code{\divisioMaxima}, @funindex \finalis @code{\finalis}. @seealso In this manual: @ref{Breath marks}. Internals Reference: @internalsref{BreathingSign}. Examples: @lsr{expressive,breathing-sign.ly}. @node Ligatures @unnumberedsubsubsec Ligatures @cindex Ligatures @c TODO: Should double check if I recalled things correctly when I wrote @c down the following paragraph by heart. A ligature is a graphical symbol that represents at least two distinct notes. Ligatures originally appeared in the manuscripts of Gregorian chant notation to denote ascending or descending sequences of notes. Ligatures are entered by enclosing them in @code{\[} and @code{\]}. Some ligature styles may need additional input syntax specific for this particular type of ligature. By default, the @internalsref{LigatureBracket} engraver just puts a square bracket above the ligature @lilypond[quote,ragged-right,verbatim] \transpose c c' { \[ g c a f d' \] a g f \[ e f a g \] } @end lilypond To select a specific style of ligatures, a proper ligature engraver has to be added to the @internalsref{Voice} context, as explained in the following subsections. Only white mensural ligatures are supported with certain limitations. @refbugs Ligatures need special spacing that has not yet been implemented. As a result, there is too much space between ligatures most of the time, and line breaking often is unsatisfactory. Also, lyrics do not correctly align with ligatures. Accidentals must not be printed within a ligature, but instead need to be collected and printed in front of it. 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 @file{gregorian@/-init@/.ly} can be included; it provides a scheme function @example \ligature @var{music expr} @end example with the same effect and is believed to be stable. @menu * White mensural ligatures:: * Gregorian square neumes ligatures:: @end menu @node White mensural ligatures @unnumberedsubsubsec White mensural ligatures @cindex Mensural ligatures @cindex White mensural ligatures There is limited support for white mensural ligatures. To engrave white mensural ligatures, in the layout block put the @internalsref{Mensural_ligature_engraver} into the @internalsref{Voice} context, and remove the @internalsref{Ligature_bracket_engraver}, like this @example \layout @{ \context @{ \Voice \remove Ligature_bracket_engraver \consists Mensural_ligature_engraver @} @} @end example There is no additional input language to describe the shape of a white mensural ligature. The shape is rather determined solely from the pitch and duration of the enclosed notes. While this approach may take a new user a while to get accustomed to, it has the great advantage that the full musical information of the ligature is known internally. This is not only required for correct MIDI output, but also allows for automatic transcription of the ligatures. For example, @example \set Score.timing = ##f \set Score.defaultBarType = "empty" \override NoteHead #'style = #'neomensural \override Staff.TimeSignature #'style = #'neomensural \clef "petrucci-g" \[ c'\maxima g \] \[ d\longa c\breve f e d \] \[ c'\maxima d'\longa \] \[ e'1 a g\breve \] @end example @lilypond[quote,ragged-right] \score { \transpose c c' { \set Score.timing = ##f \set Score.defaultBarType = "empty" \override NoteHead #'style = #'neomensural \override Staff.TimeSignature #'style = #'neomensural \clef "petrucci-g" \[ c'\maxima g \] \[ d\longa c\breve f e d \] \[ c'\maxima d'\longa \] \[ e'1 a g\breve \] } \layout { \context { \Voice \remove Ligature_bracket_engraver \consists Mensural_ligature_engraver } } } @end lilypond Without replacing @internalsref{Ligature_bracket_engraver} with @internalsref{Mensural_ligature_engraver}, the same music transcribes to the following @lilypond[quote,ragged-right] \transpose c c' { \set Score.timing = ##f \set Score.defaultBarType = "empty" \override NoteHead #'style = #'neomensural \override Staff.TimeSignature #'style = #'neomensural \clef "petrucci-g" \[ c'\maxima g \] \[ d\longa c\breve f e d \] \[ c'\maxima d'\longa \] \[ e'1 a g\breve \] } @end lilypond @refbugs Horizontal spacing is poor. @node Gregorian square neumes ligatures @unnumberedsubsubsec Gregorian square neumes ligatures @cindex Square neumes ligatures @cindex Gregorian square neumes ligatures There is limited support for Gregorian square neumes notation (following the style of the Editio Vaticana). Core ligatures can already be typeset, but essential issues for serious typesetting are still lacking, such as (among others) horizontal alignment of multiple ligatures, lyrics alignment and proper handling of accidentals. The following table contains the extended neumes table of the 2nd volume of the Antiphonale Romanum (@emph{Liber Hymnarius}), published 1983 by the monks of Solesmes. @multitable @columnfractions .4 .2 .2 .2 @item @b{Neuma aut@* Neumarum Elementa} @tab @b{Figurae@* Rectae} @tab @b{Figurae@* Liquescentes@* Auctae} @tab @b{Figurae@* Liquescentes@* Deminutae} @c TODO: \layout block is identical in all of the below examples. @c Therefore, it should somehow be included rather than duplicated all @c the time. --jr @c why not make variables in ly/engraver-init.ly? --hwn @c Because it's just used to typeset plain notes without @c a staff for demonstration purposes rather than something @c special of Gregorian chant notation. --jr @item @code{1. Punctum} @tab @lilypond[staffsize=26,line-width=1.5\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Punctum \[ b \] \noBreak s^\markup {"a"} \noBreak % Punctum Inclinatum \[ \inclinatum b \] \noBreak s^\markup {"b"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=2.5\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Punctum Auctum Ascendens \[ \auctum \ascendens b \] \noBreak s^\markup {"c"} \noBreak % Punctum Auctum Descendens \[ \auctum \descendens b \] \noBreak s^\markup {"d"} \noBreak % Punctum Inclinatum Auctum \[ \inclinatum \auctum b \] \noBreak s^\markup {"e"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Punctum Inclinatum Parvum \[ \inclinatum \deminutum b \] \noBreak s^\markup {"f"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{2. Virga} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Virga \[ \virga b \] \noBreak s^\markup {"g"} } \layout { \neumeDemoLayout }} @end lilypond @tab @tab @item @code{3. Apostropha vel Stropha} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Stropha \[ \stropha b \] \noBreak s^\markup {"h"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Stropha Aucta \[ \stropha \auctum b \] \noBreak s^\markup {"i"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{4. Oriscus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Oriscus \[ \oriscus b \] \noBreak s^\markup {"j"} } \layout { \neumeDemoLayout }} @end lilypond @tab @tab @item @code{5. Clivis vel Flexa} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Clivis vel Flexa \[ b \flexa g \] s^\markup {"k"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=2.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Clivis Aucta Descendens \[ b \flexa \auctum \descendens g \] \noBreak s^\markup {"l"} \noBreak % Clivis Aucta Ascendens \[ b \flexa \auctum \ascendens g \] \noBreak s^\markup {"m"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Cephalicus \[ b \flexa \deminutum g \] s^\markup {"n"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{6. Podatus vel Pes} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Podatus vel Pes \[ g \pes b \] s^\markup {"o"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=2.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Auctus Descendens \[ g \pes \auctum \descendens b \] \noBreak s^\markup {"p"} \noBreak % Pes Auctus Ascendens \[ g \pes \auctum \ascendens b \] \noBreak s^\markup {"q"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Epiphonus \[ g \pes \deminutum b \] s^\markup {"r"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{7. Pes Quassus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Quassus \[ \oriscus g \pes \virga b \] s^\markup {"s"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Quassus Auctus Descendens \[ \oriscus g \pes \auctum \descendens b \] s^\markup {"t"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{8. Quilisma Pes} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Quilisma Pes \[ \quilisma g \pes b \] s^\markup {"u"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Quilisma Pes Auctus Descendens \[ \quilisma g \pes \auctum \descendens b \] s^\markup {"v"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{9. Podatus Initio Debilis} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Initio Debilis \[ \deminutum g \pes b \] s^\markup {"w"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Pes Auctus Descendens Initio Debilis \[ \deminutum g \pes \auctum \descendens b \] s^\markup {"x"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{10. Torculus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus \[ a \pes b \flexa g \] s^\markup {"y"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Auctus Descendens \[ a \pes b \flexa \auctum \descendens g \] s^\markup {"z"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Deminutus \[ a \pes b \flexa \deminutum g \] s^\markup {"A"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{11. Torculus Initio Debilis} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Initio Debilis \[ \deminutum a \pes b \flexa g \] s^\markup {"B"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Auctus Descendens Initio Debilis \[ \deminutum a \pes b \flexa \auctum \descendens g \] s^\markup {"C"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Torculus Deminutus Initio Debilis \[ \deminutum a \pes b \flexa \deminutum g \] s^\markup {"D"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{12. Porrectus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Porrectus \[ a \flexa g \pes b \] s^\markup {"E"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Porrectus Auctus Descendens \[ a \flexa g \pes \auctum \descendens b \] s^\markup {"F"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Porrectus Deminutus \[ a \flexa g \pes \deminutum b \] s^\markup {"G"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{13. Climacus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Climacus \[ \virga b \inclinatum a \inclinatum g \] s^\markup {"H"} } \layout { \neumeDemoLayout } } @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Climacus Auctus \[ \virga b \inclinatum a \inclinatum \auctum g \] s^\markup {"I"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Climacus Deminutus \[ \virga b \inclinatum a \inclinatum \deminutum g \] s^\markup {"J"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{14. Scandicus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Scandicus \[ g \pes a \virga b \] s^\markup {"K"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Scandicus Auctus Descendens \[ g \pes a \pes \auctum \descendens b \] s^\markup {"L"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Scandicus Deminutus \[ g \pes a \pes \deminutum b \] s^\markup {"M"} } \layout { \neumeDemoLayout }} @end lilypond @item @code{15. Salicus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Salicus \[ g \oriscus a \pes \virga b \] s^\markup {"N"} } \layout { \neumeDemoLayout }} @end lilypond @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Salicus Auctus Descendens \[ g \oriscus a \pes \auctum \descendens b \] s^\markup {"O"} } \layout { \neumeDemoLayout }} @end lilypond @tab @item @code{16. Trigonus} @tab @lilypond[staffsize=26,line-width=1.0\cm] \include "gregorian-init.ly" \score { \transpose c c' { % Trigonus \[ \stropha b \stropha b \stropha a \] s^\markup {"P"} } \layout { \neumeDemoLayout } } @end lilypond @tab @tab @end multitable Unlike most other neumes notation systems, the input language for neumes does not reflect the typographical appearance, but is designed to focus on musical meaning. For example, @code{\[ a \pes b \flexa g \]} produces a Torculus consisting of three Punctum heads, while @code{\[ a \flexa g \pes b \]} produces a Porrectus with a curved flexa shape and only a single Punctum head. There is no command to explicitly typeset the curved flexa shape; the decision of when to typeset a curved flexa shape is based on the musical input. The idea of this approach is to separate the musical aspects of the input from the notation style of the output. This way, the same input can be reused to typeset the same music in a different style of Gregorian chant notation. The following table shows the code fragments that produce the ligatures in the above neumes table. The letter in the first column in each line of the below table indicates to which ligature in the above table it refers. The second column gives the name of the ligature. The third column shows the code fragment that produces this ligature, using @code{g}, @code{a}, and @code{b} as example pitches. @multitable @columnfractions .02 .31 .67 @item @b{#} @tab @b{Name} @tab @b{Input Language} @item a @tab Punctum @tab @code{\[ b \]} @item b @tab Punctum Inclinatum @tab @code{\[ \inclinatum b \]} @item c @tab Punctum Auctum@* Ascendens @tab @code{\[ \auctum \ascendens b \]} @item d @tab Punctum Auctum@* Descendens @tab @code{\[ \auctum \descendens b \]} @item e @tab Punctum Inclinatum@* Auctum @tab @code{\[ \inclinatum \auctum b \]} @item f @tab Punctum Inclinatum@* Parvum @tab @code{\[ \inclinatum \deminutum b \]} @item g @tab Virga @tab @code{\[ \virga b \]} @item h @tab Stropha @tab @code{\[ \stropha b \]} @item i @tab Stropha Aucta @tab @code{\[ \stropha \auctum b \]} @item j @tab Oriscus @tab @code{\[ \oriscus b \]} @item k @tab Clivis vel Flexa @tab @code{\[ b \flexa g \]} @item l @tab Clivis Aucta@* Descendens @tab @code{\[ b \flexa \auctum \descendens g \]} @item m @tab Clivis Aucta@* Ascendens @tab @code{\[ b \flexa \auctum \ascendens g \]} @item n @tab Cephalicus @tab @code{\[ b \flexa \deminutum g \]} @item o @tab Podatus vel Pes @tab @code{\[ g \pes b \]} @item p @tab Pes Auctus@* Descendens @tab @code{\[ g \pes \auctum \descendens b \]} @item q @tab Pes Auctus@* Ascendens @tab @code{\[ g \pes \auctum \ascendens b \]} @item r @tab Epiphonus @tab @code{\[ g \pes \deminutum b \]} @item s @tab Pes Quassus @tab @code{\[ \oriscus g \pes \virga b \]} @item t @tab Pes Quassus@* Auctus Descendens @tab @code{\[ \oriscus g \pes \auctum \descendens b \]} @item u @tab Quilisma Pes @tab @code{\[ \quilisma g \pes b \]} @item v @tab Quilisma Pes@* Auctus Descendens @tab @code{\[ \quilisma g \pes \auctum \descendens b \]} @item w @tab Pes Initio Debilis @tab @code{\[ \deminutum g \pes b \]} @item x @tab Pes Auctus Descendens@* Initio Debilis @tab @code{\[ \deminutum g \pes \auctum \descendens b \]} @item y @tab Torculus @tab @code{\[ a \pes b \flexa g \]} @item z @tab Torculus Auctus@* Descendens @tab @code{\[ a \pes b \flexa \auctum \descendens g \]} @item A @tab Torculus Deminutus @tab @code{\[ a \pes b \flexa \deminutum g \]} @item B @tab Torculus Initio Debilis @tab @code{\[ \deminutum a \pes b \flexa g \]} @item C @tab Torculus Auctus@* Descendens Initio Debilis @tab @code{\[ \deminutum a \pes b \flexa \auctum \descendens g \]} @item D @tab Torculus Deminutus@* Initio Debilis @tab @code{\[ \deminutum a \pes b \flexa \deminutum g \]} @item E @tab Porrectus @tab @code{\[ a \flexa g \pes b \]} @item F @tab Porrectus Auctus@* Descendens @tab @code{\[ a \flexa g \pes \auctum \descendens b \]} @item G @tab Porrectus Deminutus @tab @code{\[ a \flexa g \pes \deminutum b \]} @item H @tab Climacus @tab @code{\[ \virga b \inclinatum a \inclinatum g \]} @item I @tab Climacus Auctus @tab @code{\[ \virga b \inclinatum a \inclinatum \auctum g \]} @item J @tab Climacus Deminutus @tab @code{\[ \virga b \inclinatum a \inclinatum \deminutum g \]} @item K @tab Scandicus @tab @code{\[ g \pes a \virga b \]} @item L @tab Scandicus Auctus@* Descendens @tab @code{\[ g \pes a \pes \auctum \descendens b \]} @item M @tab Scandicus Deminutus @tab @code{\[ g \pes a \pes \deminutum b \]} @item N @tab Salicus @tab @code{\[ g \oriscus a \pes \virga b \]} @item O @tab Salicus Auctus Descendens @tab @code{\[ g \oriscus a \pes \auctum \descendens b \]} @item P @tab Trigonus @tab @code{\[ \stropha b \stropha b \stropha a \]} @end multitable The ligatures listed above mainly serve as a limited, but still representative pool of Gregorian ligature examples. Virtually, within the ligature delimiters @code{\[} and @code{\]}, any number of heads may be accumulated to form a single ligature, and head prefixes like @code{\pes}, @code{\flexa}, @code{\virga}, @code{\inclinatum}, etc. may be mixed in as desired. The use of the set of rules that underlies the construction of the ligatures in the above table is accordingly extrapolated. This way, infinitely many different ligatures can be created. 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 @funindex \virga @code{\virga}, @funindex \stropha @code{\stropha}, @funindex \inclinatum @code{\inclinatum}, @funindex \auctum @code{\auctum}, @funindex \descendens @code{\descendens}, @funindex \ascendens @code{\ascendens}, @funindex \oriscus @code{\oriscus}, @funindex \quilisma @code{\quilisma}, @funindex \deminutum @code{\deminutum}, @funindex \cavum @code{\cavum}, @funindex \linea @code{\linea}. Head prefixes can be accumulated, though restrictions apply. For example, either @code{\descendens} or @code{\ascendens} can be applied to a head, but not both to the same head. @funindex \pes @funindex \flexa Two adjacent heads can be tied together with the @code{\pes} and @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 Pre-defined contexts @subsection Pre-defined contexts @menu * Gregorian Chant contexts:: * Mensural contexts:: @end menu @node Gregorian Chant contexts @unnumberedsubsubsec Gregorian Chant contexts @cindex VaticanaVoiceContext @cindex VaticanaStaffContext The predefined @code{VaticanaVoiceContext} and @code{VaticanaStaffContext} can be used to engrave a piece of Gregorian Chant in the style of the Editio Vaticana. These contexts initialize all relevant context properties and grob properties to proper values, so you can immediately go ahead entering the chant, as the following excerpt demonstrates @lilypond[quote,ragged-right,packed,verbatim] \include "gregorian-init.ly" \score { << \new VaticanaVoice = "cantus" { \[ 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 } >> } @end lilypond @node Mensural contexts @unnumberedsubsubsec Mensural contexts @cindex MensuralVoiceContext @cindex MensuralStaffContext The predefined @code{MensuralVoiceContext} and @code{MensuralStaffContext} can be used to engrave a piece in mensural style. These contexts initialize all relevant context properties and grob properties to proper values, so you can immediately go ahead entering the chant, as the following excerpt demonstrates @lilypond[quote,ragged-right,verbatim] \score { << \new MensuralVoice = "discantus" \transpose c c' { \override Score.BarNumber #'transparent = ##t { c'1\melisma bes a g\melismaEnd f\breve \[ f1\melisma a c'\breve d'\melismaEnd \] c'\longa c'\breve\melisma a1 g1\melismaEnd fis\longa^\signumcongruentiae } } \new Lyrics \lyricsto "discantus" { San -- ctus, San -- ctus, San -- ctus } >> } @end lilypond @node Musica ficta accidentals @subsection Musica ficta accidentals In European music from before about 1600, singers were often expected to chromatically alter notes at their own initiative. This is called @q{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 switched on by setting @code{suggestAccidentals} to true. @funindex suggestAccidentals @lilypond[verbatim,fragment,relative=1] fis gis \set suggestAccidentals = ##t ais bis @end lilypond This will treat @emph{every} subsequent accidentals as @emph{musica ficta} until it is unset with @code{\set suggestAccidentals = ##f}. A more convenient way is to use @code{\once}: @lilypond[verbatim,fragment,relative=1] fis gis \once \set suggestAccidentals = ##t ais ais bis @end lilypond @seealso Internals Reference: @internalsref{Accidental_engraver} engraver and the @internalsref{AccidentalSuggestion} object. @node Figured bass @subsection Figured bass @cindex Basso continuo @c TODO: musicological blurb about FB LilyPond has support for figured bass @lilypond[quote,ragged-right,verbatim,fragment] << \new Voice { \clef bass dis4 c d ais g fis} \new FiguredBass \figuremode { < 6 >4 < 7\+ >8 < 6+ [_!] > < 6 >4 <6 5 [3+] > < _ >4 < 6 5/>4 } >> @end lilypond The support for figured bass consists of two parts: there is an input mode, introduced by @code{\figuremode}, where you can enter bass figures as numbers, and there is a context called @internalsref{FiguredBass} that takes care of making @internalsref{BassFigure} objects. In figures input mode, a group of bass figures is delimited by @code{<} and @code{>}. The duration is entered after the @code{>} @example <4 6> @end example @lilypond[quote,ragged-right,fragment] \new FiguredBass \figuremode { <4 6> } @end lilypond Accidentals are added when you append @code{-}, @code{!}, and @code{+} to the numbers. A plus sign is added when you append @code{\+}, and diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}. @example <4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/> @end example @lilypond[quote,ragged-right,fragment] \figures { <4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/> } @end lilypond Spaces may be inserted by using @code{_}. Brackets are introduced with @code{[} and @code{]}. You can also include text strings and text markups, see @ref{Overview of text markup commands}. @example < [4 6] 8 [_! 12] > < 5 \markup @{ \number 6 \super (1) @} > @end example @lilypond[quote,ragged-right,fragment] \new FiguredBass \figuremode { < [4 6] 8 [_! 12] > < 5 \markup{ \tiny \number 6 \super (1)} > } @end lilypond It is also possible to use continuation lines for repeated figures, @lilypond[verbatim,relative=1] << \new Staff { \clef bass c4 c c } \figures { \set useBassFigureExtenders = ##t <4 6> <3 6> <3 7> } >> @end lilypond @noindent In this case, the extender lines always replace existing figures. The @code{FiguredBass} context doesn't pay attention to the actual bass line. As a consequence, you may have to insert extra figures to get extender lines below all notes, and you may have to add @code{\!} to avoid getting an extender line, e.g. @lilypond[relative=1] << \new Voice \figures { \set useBassFigureExtenders = ##t <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5-> } { \clef bass f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es } >> @end lilypond When using continuation lines, common figures are always put in the same vertical position. When this is unwanted, you can insert a rest with @code{r}. The rest will clear any previous alignment. For example, you can write @example <4 6>8 r8 @end example @noindent instead of @example <4 6>4 @end example Accidentals and plus signs can appear before or after the numbers, depending on the @code{figuredBassAlterationDirection} and @code{figuredBassPlusDirection} properties @lilypond \figures { <6\+> <5+> <6 4-> r \set figuredBassAlterationDirection = #1 <6\+> <5+> <6 4-> r \set figuredBassPlusDirection = #1 <6\+> <5+> <6 4-> r \set figuredBassAlterationDirection = #-1 <6\+> <5+> <6 4-> r } @end lilypond Although the support for figured bass may superficially resemble chord support, it is much simpler. The @code{\figuremode} mode simply stores the numbers and @internalsref{FiguredBass} context prints them as entered. There is no conversion to pitches and no realizations of the bass are played in the MIDI file. Internally, the code produces markup texts. You can use any of the 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 @commonprop By default, this method produces figures above the notes. To get figures below the notes, use @example \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN @end example @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, please use @code{stacking-dir} on @code{BassFigureAlignment}. @seealso Internals Reference: @internalsref{NewBassFigure}, @internalsref{BassFigureAlignment}, @internalsref{BassFigureLine}, @internalsref{BassFigureBracket}, and @internalsref{BassFigureContinuation} objects and @internalsref{FiguredBass} context.