On Thu 30 Jan 2025 at 15:58:06 (+0000), bobr...@centrum.is wrote: > Greetings from Iceland, > > A friend of mine here has been working on publishing the Þorlákstíðir* for > some years now. He has rendered the chant notation using the Meinrad font > within LibreOffice Writer. He would like to add a page of Gregorian notation > with a parallel rendering in modern notation. I suggested the possibility of > using LilyPond to do both. He then pointed out that the practice with text > underlay in chant notation was to have the vowel rather than simply the > initial letter of the syllable -- when a consonant -- beneath the first neume > of the melisma. I have looked at a few images of chant notation and this > appear to be the case. > > In looking at Gregorian examples in the LilyPond documentation it seems that > the first letter of the syllable is set beneath the first neume. Is there a > way to change this? Is there a way to make LilyPond do this by default? Is > this a job for Spontini? > > * [From Wikipedia, translated by Google Translate as the article is only in > Icelandic]: > > The Þorlákstíðir are ancient liturgical prayers that were sung in Skálholt on > the feast days of Saint Þorlákur until the Reformation. The texts are largely > preserved, and they are in Latin. The musical score can also be read.
I've had the attached for some years, probably downloaded from this list. Knowing the contents might help you to find its origin, or it could even be a step on the path to making it work. Cheers, David.
%%\header { %% snippet-title = "Aligning lyrics on vowels" %% snippet-author = "" %% snippet-description = \markup { %% Align lyrics so that the vowel will line up with the note. %% } %% status = "broken, unfinished, undocumented" % TODO: % doesn't work with 2.17.25 - fix. % Find author. % Document. % add vowels from other languages (e.g. polish) % check if it works with different notehead widths, and if the % vowel is really centered (regardless of glyph width) % add comma-separated tags to make searching more effective: %% tags = "lyrics, alignment, vowel, vowel alignment" %%} %%%%%%%%%%%%%%%%%%%%%%%%%% % here goes the snippet: % %%%%%%%%%%%%%%%%%%%%%%%%%% #(define vowel-set (list->char-set (string->list "AEIOUYÅÄÖaeiouyåäö"))) #(define (width grob text-string) (let* ( (layout (ly:grob-layout grob)) (props (ly:grob-alist-chain grob (ly:output-def-lookup layout 'text-font-defaults)))) (cdr (ly:stencil-extent (ly:text-interface::interpret-markup layout props (markup text-string)) X)))) #(define (center-on-vowel grob) (let* ((syllable (ly:grob-property-data grob 'text)) (vowel-count (string-count syllable vowel-set)) (vowel-position (string-index syllable vowel-set)) (prevowel (substring syllable 0 vowel-position)) (vowel (substring syllable vowel-position (+ vowel-position 1))) (prevowel-width (width grob prevowel)) (vowel-width (width grob vowel)) (note-width (interval-length (ly:grob-property (ly:grob-parent grob X) 'X-extent)))) (- (/ (- note-width vowel-width) 2) prevowel-width)))