lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: certain type of vocal notation in liturgical contexts


From: Michael Gerdau
Subject: Re: certain type of vocal notation in liturgical contexts
Date: Thu, 1 Jun 2017 11:52:31 +0200 (CEST)

Hallo Jonathan,


I would like to typeset a certain type of notation, which can be found
in liturgical context. I have an example image attached. (Ignore the
lyrics written in Fraktur). I have two questions:

  1. How is this notation called?
  2. How can I (easily) reproduce it with LP? - a question which might
    break apart into:
    2a) how do I typeset those "double-quarter" notes?
    2b) how do I manage the alignment of lyrics conveniently? (NB
    that several times there happen to be multiple syllables on one note).

quite some time ago Thomas Morley kindly provided a very helpful function \offsetChord which is rather helpful to deal with these melismata. Find below an engraving of the image you mailed:

%-----------------------------------

\version "2.19.59"

\include "gregorian.ly"

\paper {
  indent = 0
  ragged-last = ##t
}

offsetChord =
#(define-music-function (music)(ly:music?)
"Return an event-chord with offsetted NoteHeads.
Articulations are printed with respect to their corresponding NoteHeads "
  (let* ((ev-notes (event-chord-notes music)))
    (make-event-chord
      (map
        (lambda (ecn which val)
          (let ((arts (ly:music-property ecn 'articulations)))
            ;; set 'articulations of 'NoteEvent
            (ly:music-set-property! ecn 'articulations
              (if (not (null? arts))
                  (map
                    (lambda (a)
                      ;; set a new parent for 'ArticulationEvent
                      (if (music-is-of-type? a 'articulation-event)
                          #{
                            \tweak after-line-breaking
                              #(lambda (grob)
                                 (let* ((note-head (ly:grob-parent grob X))
                                        (nc (ly:grob-parent note-head X))
                                        (nh
                                          (ly:grob-array->list
                                            (ly:grob-object nc 'note-heads))))
                                   (set!
                                     (ly:grob-parent grob X)
                                     (list-ref nh which))))
                            $a
                          #}
                          a))
                    arts)
                  '()))
              ;; apply 'X-offset-tweak to every NoteHead
              #{ \tweak X-offset $val $ecn #}))
        ev-notes
        (iota (length ev-notes))
        (iota (length ev-notes) 0 1.48)))))

\layout {
  \omit Stem
  \context {
    \Score
    defaultBarType = #""
    \omit TimeSignature
    % reenable the following line to prevent "open ended" Akkolada
    %\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
    %\remove "Bar_number_engraver"
  }
  \context {
    \Lyrics
    \override LyricText.X-align-on-main-noteheads = ##f
    %\override LyricText.font-size = #-1
  }
}

chant = \relative a' {
  \key d \major
  a4 a \breathe a \offsetChord { b d } b b a \offsetChord { b b }
  cis \offsetChord { b b } a \breathe a d d cis \breathe \bar "" \break a\breve*1/4
  d4 d a a \breathe a d d cis cis b b \offsetChord { a a } \divisioMaior
  e e\breve*1/4 \offsetChord { a4 a } e e
}

verba = \lyricmode {
  aus -- ging, daß al -- le Welt ge -- schät -- zet wür -- de.
  und je -- der -- mann
  \once \override LyricText.self-alignment-X = #LEFT "ging, daß er sich"
  schät -- zen lie -- ße,
  ein jeg -- li -- cher in sei -- ne Stadt.
  Da \once \override LyricText.self-alignment-X = #LEFT "machte sich auch auf"
  Jo -- seph aus
}

\score {
  <<
    \new Voice = "melody" \chant
    \new Lyrics \lyricsto "melody" \verba
  >>
}

%-----


Kind regards,

Michael


reply via email to

[Prev in Thread] Current Thread [Next in Thread]