[Top][All Lists]
[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
greg-examples.ly
Description: Text document