lilypond-devel
[Top][All Lists]
Advanced

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

Re: gregorian chant improvement


From: Juergen Reuter
Subject: Re: gregorian chant improvement
Date: Mon, 27 Mar 2006 23:29:53 +0200 (CEST)

On Tue, 21 Mar 2006, Elie Roux wrote:

Hello,

I'm working on gregorian chant reprensentation for a project student in
a graduate ingeneering school in France, and I have had a lot of
discussion with a monk on it. My aim is to improve gregorian chant
representation in free softwares for monk to use it.


Hi,

that sounds good. You are very welcome to help improving Lily's Gregorian chant implementation!

I read the latest version of the documentation and I saw a lot of
changes since the previous one, this makes me hope that people are
working on gregorian chant and it is I think a very good thing, because
there is still a lot to do.

Lily's implementation of Gregorian chant unfortunately has been somewhat stagnating for the last three years. In particular, I have currently effectively no time to contribute (I hope this will change in a year or two).


The first thing I would like to say is that taking the table of neumes
of Solesmes is good... for Solesmes books, but there are a lot of neumes
used in a lot of books that do not appear in this table. I do not think
it is a good idea to list them : I have a swiss book where 188 different
neumes are listed (without figurae). So it seems very hard to count all
neumes.


Exactly. The graphical Solesmes table in the documentation mainly serves as an example for a limited number, but still representative set of Gregorian ligatures. The textual table below the graphical table explains how to construct these examples by mapping the Gregorian ligatures to Lily's low-level Gregorian syntax.

A higher-level syntax (very similar to that one in OpusTeX, but with a variable number of arguments) was planned, but never implemented (except for the (undocumented) \ligature command), mostly due to my lack of time to dive into the details on writing Scheme-based Lilypond macros. For a Lily/Scheme expert, it should be rather trivial to implement, just following the mapping of the textual table (but extending it to support variable number of arguments).

But in my work with the monk we discovered that the most simple was to
decompose neumes in simpler elements.

This is exactly, what Lily's Gregorian chant implementation is based on.

We are able to list all the simple
elements, and so we can make all possible neumes.

Lily does this already (unless there are bugs in the implementation). For the Solesmes neumes, the textual table in Sect. 7.7.10.2 shows how this is done.

It would be much
simpler I think, than listing all possible neumes.

As just said, the table just lists examples, rather than all possible neumes. Maybe, this should be stated more clearly in the documentation.

It would also permit
to put quilismas everywhere, not only in pes (they can be at any place
in most of neumes).

This can already be done with the current implementation.

If you want more details about these simple
elements tell me, I will translate a document I made about a XML schema
for gregorian chant (in french on http://omega.enstb.org/eroux/doc_fr.pdf).


I just had a look at the neumes that appear in your document. Most of these neumes appear in the Solesmes table in Sect. 7.7.10.2 of Lily's manual. For those that do not appear there, here are some comments:

"punctum-cavum" (page 5): this is done with Lily as follows:
\[ \cavum g \]

"linea-punctum" (page 5): this is done with Lily as follows:
\[ \linea g \]

"linea-punctum-cavum" (page 5): this is done with Lily as follows:
\[ \linea \cavum g \]

(Ok, looks like \linea and \cavum are not mentioned in the current documentation.)

"left-virga" (page 5): there is no real left virga in Gregorian chant; it is a pure typographical result from connecting adjacent notes e.g. in a pes or flexa, which accidentally looks like a reverse virga. It has no musical meaning and therefore should not appear in the input syntax. In Lily, such connections are drawn automatically where appropriate, such there is no need for special input syntax.

"pes-quadratum" (page 8): this is done with Lily as follows:
\[ f \pes \virga b \]

"torculus-resupinus" (page 8): this is done with Lily as follows:
\[ f \pes a \flexa f \pes g \]

"porrectus-flexus" (page 8): this is done with Lily as follows:
\[ b \flexa a \pes b \flexa g \]

"torculus-resupinus-flexus" (page 8): this is done with Lily as follow:
\[ g \pes b \flexa g \pes a \flexa f \]

"right-pes" (page 8): ok, this is currently not supported in Lily. Personally, I have not yet seen such a ligature. Can you please cite a source where this ligature appears? Thanks! Implementing it would be rather simple; the alignment looks identical to that of a virga, so the virga alignment code could be just reused for punctum heads that are marked with a special head prefix (e.g. "\right"). However, I wonder if this construct is really needed/useful/meaningful.

"right-porrectus" (page 8): same as "right-pes"

"torculus-et-pes" (page 8): this is done with Lily as follows:
\[ g \pes b \flexa g \pes a \pes b \]

1st ligature in Fig. 4 (page 9): this is done with Lily as follows:
\[ \inclinatum b \inclinatum a \inclinatum g \]

2nd ligature in Fig. 4 (page 9): this is done with Lily as follows:
\[ \inclinatum g \inclinatum a \virga b \]

1st figure in Sect. 5 (page 11): this is done with Lily as follows:
\[ e \oriscus f \pes \auctum g \]

By the way, the caption of Fig. 2 looks wrong.

A lot of details on it are in a document I made :
http://omega.enstb.org/eroux/notation_en.pdf .

Same here; all of the ligature can be done with Lily, except for the "right-pes" thing in Fig. 9.

I do not think this
notation can be used in Lilypond (in fact no one responded to me so I do
not really know...), but the philosophy is interesting I think.

This philosophy is already implemented in Lily. Still, by using one-letter commands, your input syntax is much more compact than that of Lily's Gregorian chant implementation, which uses full words like "\porrectus" or "\deminutum", which are rather verbose for describing note head properties. Further, your syntax tightly interweaves notes and lyrics, similar to mup, while in Lily, lyrics are specified in a separate lyrics context. In this sense, your input syntax could serve as a preprocessor input syntax, maybe something similar like mup2ly, but for Gregorian chant.


There are also things that are missing :

In some score there are a lot of larger spaces (due to the translation
from very ancient notation). (example in my document)


Right, horizontal spacing is a known issue in Gregorian chant notation in Lily. It has been discussed in the past more than once, though without finding a good and easy-to-implement solution.

In every gregorian chant score (I do not know any exception) there is a
dropped initial, and small informations above the dropped initial.


Right, this is already marked as "TODO" somewhere in the sources (and I think is was already dicussed on this list long time ago, maybe in the context of mensural music). The problem is, that such a feature tightly interfers with other parts of Lily, so it should be developed in tight cooperation with the main developers. Initials are not only usual for Gregorian chant, but also for e.g. mensural music, and can sometimes be seen even in classical or temporary scores. Hence, it should be implemented as a more general framework, which can be customized (e.g. support those "small informations") to the needs of Gregorian chant.

The alignment of lyrics under notes is... very bad in currend version.
In fact the first note that corresponds to a syllable is above the fist
vowel of this syllable (every neume corresponds to a syllable), except
if it is a diphtong (the alignment is between the two vowels). This
point is fundamental, it is for that reason that when I showed a
Lilypond example to the monk I know he said it was "horrible".


Exactly. I already discussed this issue with Han-Wen on this list a couple of years ago. If I recall correctly, Han-Wen replied, that this is an issue that also applies to classical/modern notation and therefore is of general interest. However, at that time, computing the exact width of font characters was a major problem (which is essential for automatic centering), since at that time, Lily heavily depended on TeX. Nowadays, this issue should be gone. I guess, centering syllables around the first vowel is a good candidate for a sponsored feature, since it is of general interest for vocal music...

Thank you by advance for an answer,


Ah, well, and there are, of course, lots of more issues. Examples are placement of accidentals collected _before_ ligatures; augmentum dots collected at the _end_ of ligatures; versus/antiphon/responsus sign (though, in the meantime, two of them can be found in the Unicode standard); fine-tuning of spacing/alignment in some ligatures (e.g. porrectus with vertically close head); and much more. See the source files in lily/*ligature*.cc for a more complete list of TODOs.

Attached is an .ly file with special ligatures that occur in your
pdf files.

Greetings,
Juergen

Attachment: greg-examples.ly
Description: Text document


reply via email to

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