Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.36"
+@c \version "2.15.10"
@node Ancient notation
* Ancient notation---common features::
* Typesetting mensural music::
* Typesetting Gregorian chant::
+* Typesetting Kievan square notation::
* Working with ancient music---scenarios and solutions::
@end menu
Support for ancient notation includes features for mensural
-notation and Gregorian chant notation. These features can be
-accessed either by modifying style properties of graphical objects
-such as note heads and rests, or by using one of the pre-defined
-contexts for mensural or Gregorian notation.
+notation, Gregorian chant notation, and Kievan square notation.
+These features can be accessed either by modifying style
+properties of graphical objects such as note heads and rests,
+or by using one of the pre-defined contexts for these styles.
Many graphical objects, such as note heads and flags, accidentals,
time signatures, and rests, provide a @code{style} property, which
@node Overview of the supported styles
@subsection Overview of the supported styles
-
Three styles are available for typesetting Gregorian chant:
@itemize
Music Glossary:
@rglos{custos}.
-Internals Reference:
-@rinternals{Custos}.
-
Snippets:
@rlsr{Ancient notation}.
+Internals Reference:
+@rinternals{Custos}.
+
@node Figured bass support
@unnumberedsubsubsec Figured bass support
}
@end lilypond
-
@seealso
Music Glossary:
@rglos{mensural notation}.
@code{mensural-c1}, @code{mensural-c2},@*
@code{mensural-c3}, @code{mensural-c4}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "mensural-c2"
\override NoteHead #'style = #'mensural
c
@tab
@code{mensural-f}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "mensural-f"
\override NoteHead #'style = #'mensural
c
@tab
@code{mensural-g}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "mensural-g"
\override NoteHead #'style = #'mensural
c
@code{neomensural-c1}, @code{neomensural-c2},@*
@code{neomensural-c3}, @code{neomensural-c4}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "neomensural-c2" c
@end lilypond
@code{petrucci-c3}, @code{petrucci-c4},@*
@code{petrucci-c5}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "petrucci-c2"
\override NoteHead #'style = #'mensural
c
@end lilypond
@item
-petrucci style F clef
+petrucci style F clefs, for use on different staff lines
+(the example shows the 3rd staff line F clef)
@tab
-@code{petrucci-f}
+@code{petrucci-f3}, @code{petrucci-f4},@*
+@code{petrucci-f5}
@tab
-@lilypond[fragment,relative=1,notime]
- \clef "petrucci-f"
+@lilypond[relative=1,notime]
+ \clef "petrucci-f3"
\override NoteHead #'style = #'mensural
c
@end lilypond
@tab
@code{petrucci-g}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "petrucci-g"
\override NoteHead #'style = #'mensural
c
Notation Reference:
@ref{Clef}.
-
@knownissues
The mensural g clef is mapped to the Petrucci g clef.
@code{neomensural} style. The following examples show the
differences in style:
-@lilypond[ragged-right,fragment,relative=1,quote]
+@lilypond[ragged-right,relative=1,quote]
{
\textLengthOn
@ref{Time signature}.
@knownissues
-Ratios of note durations do not change with the time signature. For
+Ratios of note durations cannot change with the time signature,
+as those are not constant. For
example, the ratio of 1@tie{}breve = 3@tie{}semibreves
-(@emph{tempus perfectum}) must be made by hand, by setting
+(@emph{tempus perfectum}) can be made by hand, by setting
@example
breveTP = #(ly:make-duration -1 0 3 2)
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 @code{NoteHead} object to
-@code{baroque}, @code{neomensural}, @code{mensural} or
-@code{petrucci}.
+@code{baroque}, @code{neomensural}, @code{mensural},
+@code{petrucci}, @code{blackpetrucci} or @code{semipetrucci}.
The @code{baroque} style differs from the @code{default} style by:
@itemize
-@item Providing a @code{maxima} notehead, and
+@item Providing a @code{maxima} note head, and
@item Using a square shape for @code{\breve} note heads.
@end itemize
@item Centering the stems on the note heads.
@end itemize
+The @code{blackpetrucci} style produces note heads usable in black
+mensural notation or coloratio sections in white mensural notation.
+Because note head style does not influence flag count, in
+this style a semiminima should be notated as @code{a8*2}, not
+@code{a4}, otherwise it will look like a minima.
+The multiplyer can be different if coloratio is used e.g. to notate
+triplets.
+
+Use @code{semipetrucci} style to draw half-colored
+note heads (breves, longas and maximas).
+
The following example demonstrates the @code{petrucci} style:
\autoBeamOff
\override NoteHead #'style = #'petrucci
a'\maxima a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 a'
-
+\override NoteHead #'style = #'semipetrucci
+a'\breve*5/6
+\override NoteHead #'style = #'blackpetrucci
+a'8*4/3 a'
+\override NoteHead #'style = #'petrucci
+a'\longa
@end lilypond
only the @code{mensural} style is supported.
@lilypond[quote,fragment,ragged-right,verbatim]
-\override Stem #'flag-style = #'mensural
+\override Flag #'style = #'mensural
\override Stem #'thickness = #1.0
\override NoteHead #'style = #'mensural
\autoBeamOff
@c music, the default flag style should be used.
There are no flags in Gregorian chant notation.
-
@seealso
Music Glossary:
@rglos{mensural notation},
@rglos{flag}.
-
@knownissues
The attachment of ancient flags to stems is slightly off.
@c due to a change in early 2.3.x.
Snippets:
@rlsr{Ancient notation}.
+@knownissues
+The glyph for the maxima rest in mensural style is actually a perfect
+longa rest; use two (or three) longa rests to print a maxima rest.
+Longa rests are not grouped automatically, so have to be done manually by
+using pitched rests.
+
@node Mensural accidentals and key signatures
@unnumberedsubsubsec Mensural accidentals and key signatures
@code{glyph-name-alist} property of the grobs @code{Accidental} and
@code{KeySignature}, respectively; e.g.:
-@code{\override Staff.Accidental #'glyph-name-alist =
-#alteration-mensural-glyph-name-alist}
+@example
+\override Staff.Accidental #'glyph-name-alist =
+ #alteration-mensural-glyph-name-alist
+@end example
@seealso
Music Glossary:
@funindex suggestAccidentals
-@lilypond[verbatim,fragment,relative=1]
+@lilypond[verbatim,relative=1]
fis gis
\set suggestAccidentals = ##t
ais bis
}
@end lilypond
-
@seealso
Internals Reference:
@rinternals{Accidental_engraver},
This is not only required for correct MIDI output, but also allows for
automatic transcription of the ligatures.
+At certain places two consecutive notes can be represented either as
+two squares or as an oblique parallelogram (flexa shape). In such
+cases the default is the two squares, but a flexa can be required by
+setting the @code{ligature-flexa} property of the @emph{second} note
+head. The length of a flexa can be set by the note head property
+@code{flexa-width}.
+
For example,
@c @example
\transpose c c' {
\set Score.timing = ##f
\set Score.defaultBarType = "empty"
- \override NoteHead #'style = #'neomensural
- \override Staff.TimeSignature #'style = #'neomensural
+ \override NoteHead #'style = #'petrucci
+ \override Staff.TimeSignature #'style = #'mensural
\clef "petrucci-g"
\[ c'\maxima g \]
- \[ d\longa c\breve f e d \]
+ \[ d\longa
+ \override NoteHead #'ligature-flexa = ##t
+ \once \override NoteHead #'flexa-width = #3.2
+ c\breve f e d \]
\[ c'\maxima d'\longa \]
\[ e'1 a g\breve \]
}
\transpose c c' {
\set Score.timing = ##f
\set Score.defaultBarType = "empty"
- \override NoteHead #'style = #'neomensural
- \override Staff.TimeSignature #'style = #'neomensural
+ \override NoteHead #'style = #'petrucci
+ \override Staff.TimeSignature #'style = #'mensural
\clef "petrucci-g"
\[ c'\maxima g \]
- \[ d\longa c\breve f e d \]
+ \[ d\longa
+ \override NoteHead #'ligature-flexa = ##t
+ \once \override NoteHead #'flexa-width = #3.2
+ c\breve f e d \]
\[ c'\maxima d'\longa \]
\[ e'1 a g\breve \]
}
@knownissues
Horizontal spacing of ligatures is poor.
+Accidentals may collide with previous notes.
@node Typesetting Gregorian chant
@ref{White mensural ligatures},
@ref{Ligatures}.
+
@node Gregorian chant contexts
@unnumberedsubsubsec Gregorian chant contexts
@code{vaticana-do1}, @code{vaticana-do2},@*
@code{vaticana-do3}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[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 Voice.Flag #'transparent = ##t
\override NoteHead #'style = #'vaticana.punctum
\clef "vaticana-do2"
c
@tab
@code{vaticana-fa1}, @code{vaticana-fa2}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[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 Voice.Flag #'transparent = ##t
\override NoteHead #'style = #'vaticana.punctum
\clef "vaticana-fa2"
c
@code{medicaea-do1}, @code{medicaea-do2},@*
@code{medicaea-do3}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[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 Voice.Flag #'transparent = ##t
\override NoteHead #'style = #'medicaea.punctum
\clef "medicaea-do2"
c
@tab
@code{medicaea-fa1}, @code{medicaea-fa2}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[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 Voice.Flag #'transparent = ##t
\override NoteHead #'style = #'medicaea.punctum
\clef "medicaea-fa2"
c
@code{hufnagel-do1}, @code{hufnagel-do2},@*
@code{hufnagel-do3}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[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 Voice.Flag #'transparent = ##t
\override NoteHead #'style = #'hufnagel.punctum
\clef "hufnagel-do2"
c
@tab
@code{hufnagel-fa1}, @code{hufnagel-fa2}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[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 Voice.Flag #'transparent = ##t
\override NoteHead #'style = #'hufnagel.punctum
\clef "hufnagel-fa2"
c
@tab
@code{hufnagel-do-fa}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\override Staff.StaffSymbol #'color = #red
\override Staff.LedgerLineSpanner #'color = #red
\override Voice.Stem #'transparent = ##t
+ \override Voice.Flag #'transparent = ##t
\override NoteHead #'style = #'hufnagel.punctum
\clef "hufnagel-do-fa"
c
@end lilypond
@end multitable
-
@seealso
Music Glossary:
@rglos{clef}.
trying to access an unsupported accidental, LilyPond will switch to a
different style.
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@c @lilypondfile[verbatim,quote,texidoc,doctitle]
@c {ancient-accidentals.ly}
The style for accidentals and key signatures is controlled by the
@code{glyph-name-alist} property of the grobs @code{Accidental} and
@code{KeySignature}, respectively; e.g.:
-@code{\override Staff.Accidental #'glyph-name-alist =
-#alteration-mensural-glyph-name-alist}
-
+@example
+\override Staff.Accidental #'glyph-name-alist =
+ #alteration-mensural-glyph-name-alist
+@end example
@seealso
Music Glossary:
@ref{Breath marks}.
Installed Files:
-@file{gregorian.ly}.
+@file{ly/gregorian.ly}.
@node Gregorian articulation signs
}
@end lilypond
-
@seealso
Notation Reference:
@ref{Articulations and ornamentations}.
@rinternals{ScriptEvent},
@rinternals{Script_engraver}.
-
@knownissues
Some articulations are vertically placed too closely to the
corresponding note heads.
}
@end lilypond
-
@seealso
Notation Reference:
@ref{Breath marks}.
@ref{White mensural ligatures},
@ref{Ligatures}.
-
@knownissues
When an @code{\augmentum} dot appears at the end of the last staff
within a ligature, it is sometimes vertically placed wrong. As a
unary music function, such that @code{\augmentum} can be intermixed
with head prefixes in arbitrary order.
+@node Typesetting Kievan square notation
+@subsection Typesetting Kievan square notation
+
+@menu
+* Kievan contexts::
+* Kievan clefs::
+* Kievan note heads::
+* Kievan accidentals::
+* Kievan bar line::
+@end menu
+
+@node Kievan contexts
+@unnumberedsubsubsec Kievan contexts
+
+@cindex KievanVoiceContext
+@cindex KievanStaffContext
+
+As with Mensural and Gregorian notation, the predefined
+@code{KievanVoice} and @code{KievanStaff} contexts can be used
+to engrave a piece in square notation. These contexts initialize
+all relevant context properties and grob properties to proper
+values, so you can immediately go ahead entering the chant:
+
+@lilypond[quote,ragged-right,verbatim]
+\score {
+ <<
+ \new KievanVoice = "melody" \transpose c c' {
+ \cadenzaOn
+ c4 c c c c2 b,\longa
+ \bar "kievan"
+ }
+ \new Lyrics \lyricsto "melody" {
+ Го -- спо -- ди по -- ми -- луй.
+ }
+ >>
+}
+@end lilypond
+
+@seealso
+Music Glossary:
+@rglos{kievan notation}.
+
+@knownissues
+LilyPond supports Kievan notation of the Synodal style, as used in
+the corpus of chantbooks printed by the Russian Holy Synod in the
+1910's and recently reprinted by the Moscow Patriarchate Publishing
+House. LilyPond does not support the older (less common) forms of
+Kievan notation that were used in Galicia to notate Rusyn plainchant.
+
+@node Kievan clefs
+@unnumberedsubsubsec Kievan clefs
+
+@cindex clefs
+
+There is only one clef used in Kievan notation (the Tse-fa-ut Clef).
+It is used to indicate the position of @code{c}:
+
+@lilypond[quote,relative=1,notime,verbatim]
+ \clef "kievan-do"
+ \override NoteHead #'style = #'kievan
+ c
+@end lilypond
+
+@seealso
+Music Glossary:
+@rglos{kievan notation},
+@rglos{clef}.
+
+Notation Reference:
+@ref{Clef}.
+
+@node Kievan note heads
+@unnumberedsubsubsec Kievan note heads
+
+@cindex note heads, ancient
+
+For Kievan square notation, the appropriate note head style needs
+to be chosen. This is accomplished by setting the @code{style}
+property of the @code{NoteHead} object to @code{kievan}.
+
+The Kievan final note, which usually comes at the end of a piece
+of music, may be selected by setting the duration to
+@code{\longa}. The Kievan recitative mark, used to indicate
+the chanting of several syllables on one note, may be selected by
+setting the duration to @code{\breve}. The following example
+demonstrates the various Kievan note heads:
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+\autoBeamOff
+\cadenzaOn
+\override NoteHead #'style = #'kievan
+b'1 b'2 b'4 b'8 b'\breve b'\longa
+@end lilypond
+
+@seealso
+Music Glossary:
+@rglos{kievan notation},
+@rglos{note head}.
+
+Notation Reference:
+@ref{Note head styles}.
+
+@knownissues
+LilyPond automatically determines if the stem up or stem down
+form of a note is drawn. When setting chant in square notation,
+however, it is customary to have the stems point in the same
+direction within a single melisma. This can be done manually by
+setting the @code{direction} property of the @code{Stem} object.
+
+@node Kievan accidentals
+@unnumberedsubsubsec Kievan accidentals
+
+@cindex accidentals
+
+The @code{kievan} style for accidentals is selected with the
+@code{glyph-name-alist} property of the grob @code{Accidental}.
+The @code{kievan} style provides a sharp and a flat sign
+different from the default style. There is no natural sign
+in Kievan notation. The sharp sign is not used in Synodal music
+but may occur in earlier manuscripts. It has been included
+primarily for the sake of compatibility.
+
+@lilypond[quote,relative=1,notime,verbatim]
+\clef "kievan-do"
+\override NoteHead #'style = #'kievan
+\override Accidental #'glyph-name-alist =
+ #alteration-kievan-glyph-name-alist
+bes' dis,
+@end lilypond
+
+@seealso
+Music Glossary:
+@rglos{kievan notation},
+@rglos{accidental}.
+
+Notation Reference:
+@ref{Accidentals},
+@ref{Automatic accidentals},
+@ref{The Feta font}
+
+@node Kievan bar line
+@unnumberedsubsubsec Kievan bar line
+
+A decorative figure is commonly placed at the end of a piece of
+Kievan notation, which may be called the Kievan final bar line.
+It can be invoked as @code{\bar "kievan"}.
+
+@lilypond[quote,relative=1,notime,verbatim]
+ \clef "kievan-do"
+ \override NoteHead #'style = #'kievan
+ c \bar "kievan"
+@end lilypond
+
+@seealso
+@ref{Bars},
+@ref{The Feta font}
@node Working with ancient music---scenarios and solutions
@subsection Working with ancient music---scenarios and solutions
@c use snippet Transcription-of-ancient-music-with-incipit
TBC
-
@c @seealso
@c ... and reference to other sections ...
orientation aids that bar lines give.
-@lilypondfile[verbatim,lilyquote,texidoc]
+@lilypondfile[verbatim,quote,texidoc]
{mensurstriche-layout-bar-lines-between-the-staves.ly}
@c This simple setup will take care of the
@c from lsr and -user
@c TBC
-
@c @seealso
@c ... and reference to other sections ...
one can use either @code{\override Stem #'transparent = ##t} or
@code{\override Stem #'length = #0} instead, and restore the stem
when needed with the corresponding @code{\once \override Stem
-#'transparent = ##f} (see example below).
+#'transparent = ##f} (see example below). When using stems that
+carry flags, make sure to set @code{\override Flag #'transparent
+= ##t} as well.
@b{Timing.} For unmetered chant, there are several alternatives.
\remove "Time_signature_engraver"
\remove "Bar_engraver"
\override Stem #'transparent = ##t
+ \override Flag #'transparent = ##t
}
}
}
c\breve \override NoteHead #'transparent = ##t c c c c c
\revert NoteHead #'transparent
\override Stem #'transparent = ##f \stemUp c4 b4 a
- \override Stem #'transparent = ##t c2 c4 \divisioMaior
+ \override Stem #'transparent = ##t
+ \override Flag #'transparent = ##t c2 c4 \divisioMaior
c\breve \override NoteHead #'transparent = ##t c c c c c c c
\revert NoteHead #'transparent c4 c f, f \finalis
}
\remove "Time_signature_engraver"
\override BarLine #'transparent = ##t
\override Stem #'transparent = ##t
+ \override Flag #'transparent = ##t
}
}
}
To avoid that syllables of different width (such as @qq{-ri} and
@qq{-rum}) spread the syllable note groups unevenly apart, the
-@code{#'X-extent} property of the @code{LyricText} object may be
+@code{'X-extent} property of the @code{LyricText} object may be
set to a fixed value. Another, more cumbersome way would be to
add the syllables as @code{\markup} elements. If further
adjustments are necessary, this can be easily done with
\remove "Time_signature_engraver"
\override BarLine #'X-extent = #'(-1 . 1)
\override Stem #'transparent = ##t
+ \override Flag #'transparent = ##t
\override Beam #'transparent = ##t
\override BarLine #'transparent = ##t
\override TupletNumber #'transparent = ##t
@c Add example of white note heads:
@c In the french baroque some composers used white note heads in slow pieces,
@c mainly in 3/2-time. A quarter looks there like a eighth with a white
-@c notehead. (Franz-Rudolf Kuhnen)
+@c note head. (Franz-Rudolf Kuhnen)
@c TODO Add example of this:
@c I was referring to e.g. notated a8. a16, which should, if I
@c staff as an hint to performers. (Karl Hammer)
-TBC
+@c TBC
@c @seealso
@c ... and reference to other sections ...
-