lilypond-devel
[Top][All Lists]
Advanced

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

Re: Request for comments: Redesign of TimeSignature


From: Juergen Reuter
Subject: Re: Request for comments: Redesign of TimeSignature
Date: Wed, 22 May 2002 19:00:30 +0200 (CEST)

On Mon, 20 May 2002, Han-Wen wrote:

> address@hidden writes:
> > From a mensural point of view, lily's handling of meter is currently
> > totally broken (both, program logic and fonts).  Therefore, I am
>
> Unfortunately, Lily's main focus is not mensural notation, which makes
> this point a little moot. I have one big problem with your proposal,
> which is, that I think it is over-engineered.

Mmh, but then we can not claim to support mensural notation, because
"Mensur" (which roughly means the meter system used in this notation) is a
fundamental feature of mensural notation.  Of course, you still can put
mensural note heads in a staff, looking like mensural notation, if you do
not care for the musicological sense (e.g. what midi performance results
in).

>
> \time 2/2 nowadays simply is a shortcut for
>
>        \property Staff.timeSignatureFraction = #'(2 . 2)
>
> I don't see how your neat syntax would actually be implemented,
> especially wrt Music_iterators: from what I gather from your proposal
> is that you want to make the duration relations between different
> notes variable.

Correct.

> I think that this will lead to a lot of unnecessary
> complications (except for mensural stuff, music notation durations are
> base 2).

Gregorian chant notation has no fixed duration relations at all (at least
that is what we assume nowadays).  When notating swing-style jazz, you
typically have a ternary system, where a quarternote divides into 2 eigthnotes
of different length (roughly 2:1).  There are many contemporary pieces of
music without fixed duration relation.  In classical music, the
durations of some notes in a cadenza also do not necessarily represent a
strict binary system.  I think I have once seen an example where Haydn
consistently put "too much" notes into some bars (obviously some of these
additional notes were intended to be some sort grace notes, but they were
not explicitly marked as such).

Still more examples needed? :-)

> For mensural notation, iterators will have to be made that
> read properties for prolatio, maximodus, modus, etc, and change the
> timing of events to get the durations correct (Remember that lily
> should also do something sensible with polyphonic mensural notation,
> even when that is an anachronism). To me, this seems like an
> unnecessarily complicated idea.
>

Ok, taken that this would be a difficult undertaking and should not be
considered now.

> Why not simply make a scheme function that multiplies the durations
> (e.g. like c4*2/3) based on some arguments? Unless you have music that
> changes time signature during a piece (do those exist in mensural
> notation?),

Yes, unfortunately, they often change time signatures during the peace
(and some even have different time signatures on different staves), as
far as I know from the examples that I have seen so far; but maybe they
are not representative.

> the Scheme route is simpler, more robust, much less
> intrusive, and makes a far better chance of getting through the
> careful QA of The Benign Dictatorship of Yours Truly.

I will deeply meditate on that. :-)

> As an aside,  I do like your syntax
>
>    \time 4[2:2:...]/4
>
> but for other purposes, eg.
>
>     \time 7[2:2:3]/8
>     \time 7[2:3:2]/8
>

Please don't do that!  The syntax [x:y] is VERY common in mensural
notation and can be still seen in contemporary editions of old music.
For your purpose, I would rather suggest something like:

\time [2+2+3]/8

By the way, the "[" might clash with beams, as in:

\notes { \time 3 [f4 a c] }

Bottom line:
Ok, I will not (yet) try to implement my full proposal, since this
probably would affect too much of lily's internals.  But do you think I
still should implement only those parts of my proposal that only affect
time-signature{-engraver,}.{cc,hh} (and maybe grob-properties.scm),
i.e. just the code that produces the time-signature grob?

Greetings,
Juergen




reply via email to

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