lilypond-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] autochange.scm: Use averaged chord pitches to determinestaff


From: demery
Subject: Re: [PATCH] autochange.scm: Use averaged chord pitches to determinestaff.
Date: Wed, 22 Jul 2009 14:15:25 -0000

On Wed, Jul 22, 2009, Trevor Daniels <address@hidden> said:

>> Anyway, I think that it would make a lot more sense if the staff
>> were determined by the "average" pitch of the chord. And, I think
>> I've solved this in the attached patch.

What would make the most sense is to consider the range of the intended
instrument.  music for a mid-range instrument (eg classical guitar) is
conventionally presented on the same suboctave G clef a tenor vocalist
uses.

Some music for low brass and winds uses c-3, c-4, and f-4 clefs. 
Hopefully these automatic clef changes are an optional feature, many
players find any clef change annoying.



> Also being able to specify a lower limit on the
> number of notes/chords permitted on the staff
> to be switched to, to prevent short runs, would
> also be useful.

What of music contrasting the extremitys of a pianos keyboard, is it
always going to be coded as two strains of polyphony? (left hand vs
right).  If coded for one hand, no changes at all are apropriate there,
just alternation as to which half of the combined staff is employed
(allowing some few ledger lines).

Look to the earliest publications of Ottaviano Petrucci (Canti C, Canti B,
Odhecaton), available in facsimile at the best music libraries (and direct
from Broude Brothers if you care to purchase) for examples of how rare
clef changes were even when movable C clefs were the norm.  Initial clef
should be chosen based on overall range, proposed changes should be
evaluated in the light of ledger line use.  Knowledge of the intended
instrument and modern/classical scribal conventions could expand the range
of clef choices.

Such fun devising heuristics.
-- 
Dana Emery






reply via email to

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