Ancient notation

Ancient notation


Adding a figured bass above or below the notes

When writing a figured bass, you can place the figures above or below the bass notes, by defining the BassFigureAlignmentPositioning #'direction property (exclusively in a Staff context). Choices are #UP (or #1), #CENTER (or #0) and #DOWN (or #-1).

This property can be changed as many times as you wish. Use \once \override if you don’t want the override to apply to the whole score.

bass = {
  \clef bass
  g4 b, c d
  e d8 c d2
}
continuo = \figuremode {
  <_>4 <6>4 <5/>4
  \override Staff.BassFigureAlignmentPositioning #'direction = #UP
  %\bassFigureStaffAlignmentUp
  < _+ >4 <6>
  \set Staff.useBassFigureExtenders = ##t
  \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
  %\bassFigureStaffAlignmentDown
  <4>4. <4>8 <_+>4
}
\score {
  <<
    \new Staff = bassStaff \bass
    \context Staff = bassStaff \continuo
  >>
}


[image of music]


Ancient fonts

Shown here are many (all?) of the symbols that are included in LilyPond’s support for ancient notation.

upperStaff = \new VaticanaStaff = "upperStaff" <<
  \context VaticanaVoice <<
    \transpose c c {

      \override NoteHead #'style = #'vaticana.punctum
      \key es \major
      \clef "vaticana-fa2"
      c1 des e f ges

      \override NoteHead #'style = #'vaticana.inclinatum
      a! b ces'
      \bar "|"
      % \break % 1 (8*1)

      \override NoteHead #'style = #'vaticana.quilisma
      b! des'! ges! fes!
      \breathe
      \clef "vaticana-fa1"
      \override NoteHead #'style = #'vaticana.plica
      es d
      \override NoteHead #'style = #'vaticana.reverse.plica
      c d
      \bar "|"
      % \break %2 (8*1)

      \override NoteHead #'style = #'vaticana.punctum.cavum
      es f
      \override NoteHead #'style = #'vaticana.lpes
      g as
      \override NoteHead #'style = #'vaticana.upes
      bes as
      \override NoteHead #'style = #'vaticana.vupes
      g f
      \override NoteHead #'style = #'vaticana.linea.punctum
      \once \override Staff.BarLine #'bar-extent = #'(-1 . 1) \bar "|"
      % \break % 3 (8*1)

      es d
      \override NoteHead #'style = #'vaticana.epiphonus
      c d
      \override NoteHead #'style = #'vaticana.cephalicus
      es f

      \override Staff.KeySignature #'glyph-name-alist = #alteration-medicaea-glyph-name-alist
      \override Staff.Accidental #'glyph-name-alist = #alteration-medicaea-glyph-name-alist
      \override Staff.Custos #'style = #'medicaea
      \override NoteHead #'style = #'medicaea.punctum
      \clef "medicaea-fa2"
      ces des
      \bar "|"
      % \break % 4 (8*1)

      e! f! ges
      \clef "medicaea-do2"
      \override NoteHead #'style = #'medicaea.inclinatum
      a! b! ces'
      \override NoteHead #'style = #'medicaea.virga
      b! a!
      \bar "|"
      % \break % 5 (8*1)

      ges fes
      \clef "medicaea-fa1"
      \override NoteHead #'style = #'medicaea.rvirga
      e des ces

      \override Staff.KeySignature #'glyph-name-alist = #alteration-hufnagel-glyph-name-alist
      \override Staff.Accidental #'glyph-name-alist = #alteration-hufnagel-glyph-name-alist
      \override Staff.Custos #'style = #'hufnagel
      \override NoteHead #'style = #'hufnagel.punctum
      \clef "hufnagel-fa2"
      ces des es
      \bar "|"
      % \break % 6 (8*1)

      fes ges
      \clef "hufnagel-do2"
      \override NoteHead #'style = #'hufnagel.lpes
      as! bes! ces'
      \override NoteHead #'style = #'hufnagel.virga
      bes! as!
      \bar "|"
      % \break % 7 (8*1)

      ges! fes!
      \clef "hufnagel-do-fa"
      \override NoteHead #'style = #'hufnagel.punctum
      es! des ces des! es! fes!
      \bar "||"
      % \break % 8 (8*1)

      s32*1
      % \break % 12 (32*1)
    }
  >>
>>

lowerStaff = \new MensuralStaff = "lowerStaff" <<
  \context MensuralVoice <<
    \transpose c c {

      \key a \major
      cis'1 d'\breve gis'\breve e'\breve \[ e'\longa fis'\longa \]
      \set Staff.forceClef = ##t
      \clef "neomensural-c2"
      cis1
      \bar "|"
      % \break % 2 (16*1)

      \[ g\breve dis''\longa \]
      b\breve \[ a\longa d\longa \]
      \clef "petrucci-c2"
      % \break % 4 (16*1)

      fis1 ces1
      \clef "petrucci-c2"
      r\longa
      \set Staff.forceClef = ##t
      \clef "mensural-c2"
      r\breve
      \bar "|"
      % \break % 5 (8*1)

      r2
      \clef "mensural-g"
      r4 r8 r16 r16
      \override NoteHead #'style = #'mensural
      \override Rest #'style = #'mensural
      \clef "petrucci-f"
      c8 b, c16 b, c32 b, c64 b, c64 b,
      d8 e d16 e d32 e d64 e d64 e
      r\longa
      \set Staff.forceClef = ##t
      \clef "petrucci-f"
      r\breve
      \bar "|"
      % \break % 6 (8*1)

      r\breve
      \clef "mensural-f"
      r2 r4 r8 r16 r16

      \set Staff.forceClef = ##t
      \clef "mensural-f"
      e\breve f g a1
      \clef "mensural-g"
      % \break % 7 (8*1)

      \[ bes'!\longa a'!\longa c''!\longa \]
      e'1 d' c' d' \bar "|"
      \bar "|"
      % \break % 9 (16*1)

      bes'!\longa fis'!1 as'!1 ges'!\longa % lig
      \set Staff.forceClef = ##t
      \clef "mensural-g"
      e'2 d' c' \bar "|"
      % \break % 11 (16*1)

      \set Staff.forceClef = ##t
      \clef "petrucci-g"
      c'2 d' e' f'
      \clef "petrucci-g"
      g' as'! bes'! cis''!
      bes'! as'! gis'! fis'!
      \set Staff.forceClef = ##t
      \clef "mensural-g"
      es'! des'! cis'!1 \bar "||"
      % \break % 12 (8*1)
    }
  >>
>>

\paper {
  line-thickness = #(/ staff-space 5.0)
}

\score {
  <<
    \upperStaff
    \lowerStaff
  >>
  \layout {
    indent = 0.0
    line-width = 17.25\cm
    \context {
      \Score
      timing = ##f
    }
    \context {
      \MensuralVoice
      \override NoteHead #'style = #'neomensural
      \override Rest #'style = #'neomensural
      \override Flag #'style = #'mensural
      \override Stem #'thickness = #1.0
    }
    \context {
      \MensuralStaff
      \revert  BarLine #'transparent
      \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist
      clefGlyph = #"clefs.petrucci.c2"
    }
    \context {
      \VaticanaStaff
      \revert  BarLine #'transparent
      \override StaffSymbol #'thickness = #2.0
      \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
      \override Custos #'neutral-position = #4
    }
  }
}

[image of music]


Ancient notation template – modern transcription of gregorian music

This example demonstrates how to do modern transcription of Gregorian music. Gregorian music has no measure, no stems; it uses only half and quarter note heads, and special marks, indicating rests of different length.

\include "gregorian.ly"

chant = \relative c' {
  \set Score.timing = ##f
  f4 a2 \divisioMinima
  g4 b a2 f2 \divisioMaior
  g4( f) f( g) a2 \finalis
}

verba = \lyricmode {
  Lo -- rem ip -- sum do -- lor sit a -- met
}

\score {
  \new Staff <<
    \new Voice = "melody" \chant
    \new Lyrics = "one" \lyricsto melody \verba
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \remove "Bar_engraver"
      \override Stem #'transparent = ##t
      \override Flag #'transparent = ##t
    }
    \context {
      \Voice
      \override Stem #'length = #0
    }
    \context {
      \Score
      barAlways = ##t
    }
  }
}

[image of music]


Ancient notation template – modern transcription of mensural music

When transcribing mensural music, an incipit at the beginning of the piece is useful to indicate the original key and tempo. While today musicians are used to bar lines in order to faster recognize rhythmic patterns, bar lines were not yet invented during the period of mensural music; in fact, the meter often changed after every few notes. As a compromise, bar lines are often printed between the staves rather than on the staves.

global = {
  \set Score.skipBars = ##t

  % incipit
  \once \override Score.SystemStartBracket #'transparent = ##t
   % Set tight spacing
  \override Score.SpacingSpanner #'spacing-increment = #1.0
  \key f \major
  \time 2/2
  \once \override Staff.TimeSignature #'style = #'neomensural
  \override Voice.NoteHead #'style = #'neomensural
  \override Voice.Rest #'style = #'neomensural
  \set Staff.printKeyCancellation = ##f
  \cadenzaOn % turn off bar lines
  \skip 1*10
  \once \override Staff.BarLine #'transparent = ##f
  \bar "||"
  \skip 1*1 % need this extra \skip such that clef change comes
            % after bar line
  \bar ""

  % main
  \cadenzaOff % turn bar lines on again
  \once \override Staff.Clef #'full-size-change = ##t
  \set Staff.forceClef = ##t
  \key g \major
  \time 4/4
  \override Voice.NoteHead #'style = #'default
  \override Voice.Rest #'style = #'default

  % Setting printKeyCancellation back to #t must not
  % occur in the first bar after the incipit.  Dto. for forceClef.
  % Therefore, we need an extra \skip.
  \skip 1*1
  \set Staff.printKeyCancellation = ##t
  \set Staff.forceClef = ##f

  \skip 1*7 % the actual music

  % let finis bar go through all staves
  \override Staff.BarLine #'transparent = ##f

  % finis bar
  \bar "|."
}

discantusNotes = {
  \transpose c' c'' {
    \set Staff.instrumentName = #"Discantus  "

    % incipit
    \clef "neomensural-c1"
    c'1. s2   % two bars
    \skip 1*8 % eight bars
    \skip 1*1 % one bar

    % main
    \clef "treble"
    d'2. d'4 |
    b e' d'2 |
    c'4 e'4.( d'8 c' b |
    a4) b a2 |
    b4.( c'8 d'4) c'4 |
    \once \override NoteHead #'transparent = ##t c'1 |
    b\breve |
  }
}

discantusLyrics = \lyricmode {
  % incipit
  IV-

  % main
  Ju -- bi -- |
  la -- te De -- |
  o, om --
  nis ter -- |
  ra, __ om- |
  "..." |
  -us. |
}

altusNotes = {
  \transpose c' c'' {
    \set Staff.instrumentName = #"Altus  "

    % incipit
    \clef "neomensural-c3"
    r1        % one bar
    f1. s2    % two bars
    \skip 1*7 % seven bars
    \skip 1*1 % one bar

    % main
    \clef "treble"
    r2 g2. e4 fis g | % two bars
    a2 g4 e |
    fis g4.( fis16 e fis4) |
    g1 |
    \once \override NoteHead #'transparent = ##t g1 |
    g\breve |
  }
}

altusLyrics = \lyricmode {
  % incipit
  IV-

  % main
  Ju -- bi -- la -- te | % two bars
  De -- o, om -- |
  nis ter -- ra, |
  "..." |
  -us. |
}

tenorNotes = {
  \transpose c' c' {
    \set Staff.instrumentName = #"Tenor  "

    % incipit
    \clef "neomensural-c4"
    r\longa   % four bars
    r\breve   % two bars
    r1        % one bar
    c'1. s2   % two bars
    \skip 1*1 % one bar
    \skip 1*1 % one bar

    % main
    \clef "treble_8"
    R1 |
    R1 |
    R1 |
    r2 d'2. d'4 b e' | % two bars
    \once \override NoteHead #'transparent = ##t e'1 |
    d'\breve |
  }
}

tenorLyrics = \lyricmode {
  % incipit
  IV-

  % main
  Ju -- bi -- la -- te | % two bars
  "..." |
  -us. |
}

bassusNotes = {
  \transpose c' c' {
    \set Staff.instrumentName = #"Bassus  "

    % incipit
    \clef "bass"
    r\maxima  % eight bars
    f1. s2    % two bars
    \skip 1*1 % one bar

    % main
    \clef "bass"
    R1 |
    R1 |
    R1 |
    R1 |
    g2. e4 |
    \once \override NoteHead #'transparent = ##t e1 |
    g\breve |
  }
}

bassusLyrics = \lyricmode {
  % incipit
  IV-

  % main
  Ju -- bi- |
  "..." |
  -us. |
}

\score {
  \new StaffGroup = choirStaff <<
    \new Voice =
      "discantusNotes" << \global \discantusNotes >>
    \new Lyrics =
      "discantusLyrics" \lyricsto discantusNotes { \discantusLyrics }
    \new Voice =
      "altusNotes" << \global \altusNotes >>
    \new Lyrics =
      "altusLyrics" \lyricsto altusNotes { \altusLyrics }
    \new Voice =
      "tenorNotes" << \global \tenorNotes >>
    \new Lyrics =
      "tenorLyrics" \lyricsto tenorNotes { \tenorLyrics }
    \new Voice =
      "bassusNotes" << \global \bassusNotes >>
    \new Lyrics =
      "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
  >>
  \layout {
    \context {
      \Score

      % no bars in staves
      \override BarLine #'transparent = ##t

      % incipit should not start with a start delimiter
      \remove "System_start_delimiter_engraver"
    }
    \context {
      \Voice

      % no slurs
      \override Slur #'transparent = ##t

      % The command below can be commented out in
      % short scores, but especially for large scores you
      % will typically yield better line breaking and improve
      % overall spacing if you do not comment the command out.

      \remove "Forbid_line_break_engraver"
    }
  }
}

[image of music]


Ancient time signatures

Time signatures may also be engraved in an old style.

{
  \override Staff.TimeSignature #'style = #'neomensural
  s1
}

[image of music]


Chant or psalms notation

This form of notation is used for the chant of the Psalms, where verses aren’t always the same length.

stemOn = { \revert Staff.Stem #'transparent \revert Staff.Flag #'transparent }
stemOff = { \override Staff.Stem #'transparent = ##t \override Staff.Flag #'transparent = ##t }

\score {
  \new Staff \with { \remove "Time_signature_engraver" }
  {
    \key g \minor
    \cadenzaOn
    \stemOff a'\breve bes'4 g'4
    \stemOn a'2 \bar "||"
    \stemOff a'\breve g'4 a'4
    \stemOn f'2 \bar "||"
    \stemOff a'\breve^\markup { \italic flexe }
    \stemOn g'2 \bar "||"
  }
}

[image of music]


Custodes

Custodes may be engraved in various styles.

\layout { ragged-right = ##t }

\new Staff \with { \consists "Custos_engraver" } \relative c' {
  \override Staff.Custos #'neutral-position = #4

  \override Staff.Custos #'style = #'hufnagel
  c1^"hufnagel" \break
  <d a' f'>1

  \override Staff.Custos #'style = #'medicaea
  c1^"medicaea" \break
  <d a' f'>1

  \override Staff.Custos #'style = #'vaticana
  c1^"vaticana" \break
  <d a' f'>1

  \override Staff.Custos #'style = #'mensural
  c1^"mensural" \break
  <d a' f'>1
}

[image of music]


Incipit

Incipits can be added using the instrument name grob, but keeping separate the instrument name definition and the incipit definition.

incipit =
#(define-music-function (parser location incipit-music) (ly:music?)
  #{
    \once \override Staff.InstrumentName #'self-alignment-X = #RIGHT
    \once \override Staff.InstrumentName #'self-alignment-Y = #UP
    \once \override Staff.InstrumentName #'Y-offset =
      #(lambda (grob)
         (+ 4 (system-start-text::calc-y-offset grob)))
    \once \override Staff.InstrumentName #'padding = #0.3
    \once \override Staff.InstrumentName #'stencil =
      #(lambda (grob)
         (let* ((instrument-name (ly:grob-property grob 'long-text))
                (layout (ly:output-def-clone (ly:grob-layout grob)))
                (music (make-sequential-music
                        (list (context-spec-music
                               (make-sequential-music
                                (list (make-property-set
                                       'instrumentName instrument-name)
                                      (make-grob-property-set
                                       'VerticalAxisGroup
                                       'Y-extent '(-4 . 4))))
                               'MensuralStaff)
                              incipit-music)))
                (score (ly:make-score music))
                (mm (ly:output-def-lookup layout 'mm))
                (indent (ly:output-def-lookup layout 'indent))
                (width (ly:output-def-lookup layout 'incipit-width))
                (incipit-width (if (number? width)
                                   (* width mm)
                                   (* indent 0.5))))

           (ly:output-def-set-variable! layout 'indent (- indent
                                                          incipit-width))
           (ly:output-def-set-variable! layout 'line-width indent)
           (ly:output-def-set-variable! layout 'ragged-right #f)
           (ly:output-def-set-variable! layout 'ragged-last #f)
           (ly:output-def-set-variable! layout 'system-count 1)
           (ly:score-add-output-def! score layout)
           (ly:grob-set-property! grob 'long-text
                                  (markup #:score score))
           (system-start-text::print grob)))
  #})

%%%%%%%%%%%%%%%%%%%%%%%%%

global = {
  \set Score.skipBars = ##t
  \key g \major
  \time 4/4

  % the actual music
  \skip 1*8

  % let finis bar go through all staves
  \override Staff.BarLine #'transparent = ##f

  % finis bar
  \bar "|."
}

discantusIncipit = <<
  \new MensuralVoice = "discantusIncipit" <<
    \repeat unfold 9 { s1 \noBreak }
    {
      \clef "neomensural-c1"
      \key f \major
      \time 2/2
      c''1.
    }
  >>
  \new Lyrics \lyricsto discantusIncipit { IV- }
>>

discantusNotes = {
  \transpose c' c'' {
    \clef "treble"
    d'2. d'4 |
    b e' d'2 |
    c'4 e'4.( d'8 c' b |
    a4) b a2 |
    b4.( c'8 d'4) c'4 |
    \once \override NoteHead #'transparent = ##t
    c'1 |
    b\breve |
  }
}

discantusLyrics = \lyricmode {
  Ju -- bi -- |
  la -- te De -- |
  o, om --
  nis ter -- |
  ra, __ om- |
  "..." |
  -us. |
}

altusIncipit = <<
  \new MensuralVoice = "altusIncipit" <<
    \repeat unfold 9 { s1 \noBreak }
    {
      \clef "neomensural-c3"
      \key f \major
      \time 2/2
      r1 f'1.
    }
  >>
  \new Lyrics \lyricsto altusIncipit { IV- }
>>

altusNotes = {
  \transpose c' c'' {
    \clef "treble"
    % two measures
    r2 g2. e4 fis g |
    a2 g4 e |
    fis g4.( fis16 e fis4) |
    g1 |
    \once \override NoteHead #'transparent = ##t
    g1 |
    g\breve |
  }
}

altusLyrics = \lyricmode {
  % two measures
  Ju -- bi -- la -- te |
  De -- o, om -- |
  nis ter -- ra, |
  "..." |
  -us. |
}

tenorIncipit = <<
  \new MensuralVoice = "tenorIncipit" <<
    \repeat unfold 9 { s1 \noBreak }
    {
      \clef "neomensural-c4"
      \key f \major
      \time 2/2
      r\longa
      r\breve
      r1 c'1.
    }
  >>
  \new Lyrics \lyricsto tenorIncipit { IV- }
>>

tenorNotes = {
  \transpose c' c' {
    \clef "treble_8"
    R1 |
    R1 |
    R1 |
    % two measures
    r2 d'2. d'4 b e' |
    \once \override NoteHead #'transparent = ##t
    e'1 |
    d'\breve |
  }
}

tenorLyrics = \lyricmode {
  % two measures
  Ju -- bi -- la -- te |
  "..." |
  -us.
}

bassusIncipit = <<
  \new MensuralVoice = "bassusIncipit" <<
    \repeat unfold 9 { s1 \noBreak }
    {
      \clef "bass"
      \key f \major
      \time 2/2
      %% incipit
      r\maxima
      f1.
    }
  >>
  \new Lyrics \lyricsto bassusIncipit { IV- }
>>

bassusNotes = {
  \transpose c' c' {
    \clef "bass"
    R1 |
    R1 |
    R1 |
    R1 |
    g2. e4 |
    \once \override NoteHead #'transparent = ##t
    e1 |
    g\breve |
  }
}

bassusLyrics = \lyricmode {
  Ju -- bi- |
  "..." |
  -us.
}

\score {
  <<
    \new StaffGroup = choirStaff <<
      \new Voice = "discantusNotes" <<
        \global
        \set Staff.instrumentName = #"Discantus"
        \incipit \discantusIncipit
        \discantusNotes
      >>
      \new Lyrics = "discantusLyrics" \lyricsto discantusNotes { \discantusLyrics }
      \new Voice = "altusNotes" <<
        \global
        \set Staff.instrumentName = #"Altus"
        \incipit \altusIncipit
        \altusNotes
      >>
      \new Lyrics = "altusLyrics" \lyricsto altusNotes { \altusLyrics }
      \new Voice = "tenorNotes" <<
        \global
        \set Staff.instrumentName = #"Tenor"
        \incipit \tenorIncipit
        \tenorNotes
      >>
      \new Lyrics = "tenorLyrics" \lyricsto tenorNotes { \tenorLyrics }
      \new Voice = "bassusNotes" <<
        \global
        \set Staff.instrumentName = #"Bassus"
        \incipit \bassusIncipit
        \bassusNotes
      >>
      \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
    >>
  >>
  \layout {
    \context {
      \Score
      %% no bar lines in staves or lyrics
      \override BarLine #'transparent = ##t
    }
    %% the next two instructions keep the lyrics between the bar lines
    \context {
      \Lyrics
      \consists "Bar_engraver"
      \consists "Separating_line_group_engraver"
    }
    \context {
      \Voice
      %% no slurs
      \override Slur #'transparent = ##t
      %% Comment in the below "\remove" command to allow line
      %% breaking also at those bar lines where a note overlaps
      %% into the next measure.  The command is commented out in this
      %% short example score, but especially for large scores, you
      %% will typically yield better line breaking and thus improve
      %% overall spacing if you comment in the following command.
      %%\remove "Forbid_line_break_engraver"
    }
    indent = 6\cm
    incipit-width = 4\cm
  }
}

[image of music]


Mensurstriche layout (bar lines between the staves)

The mensurstriche-layout where the bar lines do not show on the staves but between staves can be achieved with a StaffGroup instead of a ChoirStaff. The bar line on staves is blanked out by setting the transparent property.

global = {
  \override Staff.BarLine #'transparent = ##t
  s1 s
  % the final bar line is not interrupted
  \revert Staff.BarLine #'transparent
  \bar "|."
}
\new StaffGroup \relative c'' {
  <<
    \new Staff { << \global { c1 c } >> }
    \new Staff { << \global { c c } >> }
  >>
}

[image of music]


Rest styles

Rests may be used in various styles.

\layout {
  indent = 0
  \context {
    \Staff
    \remove "Time_signature_engraver"
  }
}

\new Staff \relative c {
  \cadenzaOn
  \override Staff.Rest #'style = #'mensural
  r\maxima^\markup \typewriter { mensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""

  \override Staff.Rest #'style = #'neomensural
  r\maxima^\markup \typewriter { neomensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""

  \override Staff.Rest #'style = #'classical
  r\maxima^\markup \typewriter { classical }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
  \bar ""

  \override Staff.Rest  #'style = #'default
  r\maxima^\markup \typewriter { default }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
}

[image of music]


Transcription of Ancient music with incipit

As a workaround to get real incipits which are independent from the main score these are included as a markup into the field normally used for the instrument name. As for now lyrics can only be added as a direct markup. It doesn’t unfortunately conform with the spacing of the main lyrics.

global = {
  \set Score.skipBars = ##t
  \key g \major
  \time 4/4
  %make the staff lines invisible on staves
  \override Staff.BarLine #'transparent = ##t
  \skip 1*8 % the actual music
  % let finis bar go through all staves
  \override Staff.BarLine #'transparent = ##f
  % finis bar
  \bar "|."
}

discantusNotes = {
  \transpose c' c'' {
    \clef treble
    d'2. d'4 |
    b e' d'2 |
    c'4 e'4.( d'8 c' b |
    a4) b a2 |
    b4.( c'8 d'4) c'4 |
    \once \override NoteHead #'transparent = ##t c'1 |
    b\breve |
  }
}

discantusLyrics = \lyricmode {
  Ju -- bi -- |
  la -- te De -- |
  o, om --
  nis ter -- |
  ra, __ om- |
  "..." |
  -us. |
}

altusNotes = {
  \transpose c' c'' {
    \clef treble
    r2 g2. e4 fis g | % two bars
    a2 g4 e |
    fis g4.( fis16 e fis4) |
    g1 |
    \once \override NoteHead #'transparent = ##t g1 |
    g\breve |
  }
}

altusLyrics = \lyricmode {
  Ju -- bi -- la -- te | % two bars
  De -- o, om -- |
  nis ter -- ra, |
  "..." |
  -us. |
}

tenorNotes = {
  \transpose c' c' {
    \clef "treble_8"
    R1 |
    R1 |
    R1 |
    r2 d'2. d'4 b e' | % two bars
    \once \override NoteHead #'transparent = ##t e'1 |
    d'\breve |
  }
}

tenorLyrics = \lyricmode {
  Ju -- bi -- la -- te | % two bars
  "..." |
  -us.
}

bassusNotes = {
  \transpose c' c' {
    \clef bass
    R1 |
    R1 |
    R1 |
    R1 |
    g2. e4 |
    \once \override NoteHead #'transparent = ##t e1 |
    g\breve |
  }
}

bassusLyrics = \lyricmode {
  Ju -- bi- |
  "..." |
  -us.
}

incipitDiscantus = \markup {
  \score {
    {
      \set Staff.instrumentName = #"Discantus "
      \override NoteHead #'style = #'neomensural
      \override Rest #'style = #'neomensural
      \override Staff.TimeSignature #'style = #'neomensural
      \cadenzaOn
      \clef "neomensural-c1"
      \key f \major
      \time 2/2
      c''1._"IV-" s2  %two bars
      \skip 1*8 % eight bars
    }
    \layout {
      \context {
        \Voice
        \remove "Ligature_bracket_engraver"
        \consists "Mensural_ligature_engraver"
      }
      line-width = 4.5\cm
    }
  }
}

incipitAltus = \markup {
  \score {
    {
      \set Staff.instrumentName = #"Altus "
      \override NoteHead #'style = #'neomensural
      \override Rest #'style = #'neomensural
      \override Staff.TimeSignature #'style = #'neomensural
      \cadenzaOn
      \clef "neomensural-c3"
      \key f \major
      \time 2/2
      r1        % one bar
      f'1._"IV-" s2   % two bars
      \skip 1*7 % seven bars
    }
    \layout {
      \context {
        \Voice
        \remove "Ligature_bracket_engraver"
        \consists "Mensural_ligature_engraver"
      }
      line-width = 4.5\cm
    }
  }
}

incipitTenor = \markup {
  \score {
    {
      \set Staff.instrumentName = #"Tenor  "
      \override NoteHead #'style = #'neomensural
      \override Rest #'style = #'neomensural
      \override Staff.TimeSignature #'style = #'neomensural
      \cadenzaOn
      \clef "neomensural-c4"
      \key f \major
      \time 2/2
      r\longa   % four bars
      r\breve   % two bars
      r1        % one bar
      c'1._"IV-" s2   % two bars
      \skip 1   % one bar
    }
    \layout {
      \context {
        \Voice
        \remove "Ligature_bracket_engraver"
        \consists "Mensural_ligature_engraver"
      }
      line-width = 4.5\cm
    }
  }
}

incipitBassus = \markup {
  \score {
    {
      \set Staff.instrumentName = #"Bassus  "
      \override NoteHead #'style = #'neomensural
      \override Rest #'style = #'neomensural
      \override Staff.TimeSignature #'style = #'neomensural
      \cadenzaOn
      \clef "bass"
      \key f \major
      \time 2/2
      % incipit
      r\maxima  % eight bars
      f1._"IV-" s2    % two bars
    }
    \layout {
      \context {
        \Voice
        \remove "Ligature_bracket_engraver"
        \consists "Mensural_ligature_engraver"
      }
      line-width = 4.5\cm
    }
  }
}

%StaffGroup is used instead of ChoirStaff to get bar lines between systems
\score {
  <<
    \new StaffGroup = choirStaff <<
      \new Voice = "discantusNotes" <<
        \global
        \set Staff.instrumentName = \incipitDiscantus
        \discantusNotes
      >>
      \new Lyrics = "discantusLyrics" \lyricsto discantusNotes { \discantusLyrics }

      \new Voice = "altusNotes" <<
        \global
        \set Staff.instrumentName = \incipitAltus
        \altusNotes
      >>
      \new Lyrics = "altusLyrics" \lyricsto altusNotes { \altusLyrics }

      \new Voice = "tenorNotes" <<
        \global
        \set Staff.instrumentName = \incipitTenor
        \tenorNotes
      >>
      \new Lyrics = "tenorLyrics" \lyricsto tenorNotes { \tenorLyrics }

      \new Voice = "bassusNotes" <<
        \global
        \set Staff.instrumentName = \incipitBassus
        \bassusNotes
      >>
    >>
    \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
    %Keep the bass lyrics outside of the staff group to avoid bar lines
    %between the lyrics.
  >>

  \layout {
    \context {
      \Score
      % no bars in staves
      \override BarLine #'transparent = ##t
    }
    % the next three instructions keep the lyrics between the bar lines
    \context {
      \Lyrics
      \consists "Bar_engraver"
      \override BarLine #'transparent = ##t
    }
    \context {
      \StaffGroup
      \consists "Separating_line_group_engraver"
    }
    \context {
      \Voice
      % no slurs
      \override Slur #'transparent = ##t
      % Comment in the below "\remove" command to allow line
      % breaking also at those barlines where a note overlaps
      % into the next bar.  The command is commented out in this
      % short example score, but especially for large scores, you
      % will typically yield better line breaking and thus improve
      % overall spacing if you comment in the following command.
      %\remove "Forbid_line_break_engraver"
    }
    indent = 5\cm
  }
}

[image of music]


Vertical line as a baroque articulation mark

This short vertical line placed above the note is commonly used in baroque music. Its meaning can vary, but generally indicates notes that should be played with more “weight”. The following example demonstrates how to achieve such a notation.

upline =
#(let ((m (make-articulation "stopped")))
   (set! (ly:music-property m 'tweaks)
         (acons 'font-size 3
                (acons 'stencil (lambda (grob)
                                  (grob-interpret-markup
                                   grob
                                   (make-draw-line-markup '(0 . 1))))
                       (ly:music-property m 'tweaks))))
   m)


\relative c' {
  a'4^\upline a( c d')_\upline
}

[image of music]


LilyPond — Snippets

inserted by FC2 system