lilypond-user
[Top][All Lists]
Advanced

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

Re: Contemporary music required feature #1: chromatic transposition


From: Carl Sorensen
Subject: Re: Contemporary music required feature #1: chromatic transposition
Date: Tue, 22 Sep 2009 07:00:48 -0600



On 9/21/09 5:09 PM, "Joseph Wakeling" <address@hidden> wrote:

> As I mentioned a little while back, I'm working on a specialist notation
> section on contemporary music for the Notation Reference.  And, as I
> also mentioned, I'm going to be trying to implement and/or motivate some
> feature development to support this.
> 
> [...]
>
> 
> Now, I think that with a little time to get used to Scheme I could
> rewrite naturalizeMusic to remove those undesirable features.  The
> bigger question is whether and how such functionality can be
> incorporated into core Lilypond.
> 
> What I'd like to see is to have transposition style defined as an aspect
> of Score, StaffGroup/PianoStaff, Staff and Voice, that can change as the
> piece progresses; so, one would be able to issue a command,
> 
> \override Staff #'transposition = #'chromatic
> 
> and later, switch back with
> 
> \override Staff #'transposition = #'tonal
> 
> ... with tonal being the default.
> 
> So, the question is -- assuming I can define a _really_ smart transpose
> with Scheme -- how feasible is it to incorporate it into Lilypond in
> this fashion, and what should I be looking at/know in order to do it?
> 

It will be not difficult to implement this in core LilyPond.

Presumably there will be some sort of normalize-pitches function, which will
take a staff position with with alterations and, based upon the key
signature, turn it into a different staff position and alteration that
represents the same pitch.

Different normalize-pitches functions can be written for different behavior.

A property representing the normalize-pitch function can tell the code which
function to call.

It will be necessary to add a property (easily done), and add the property
to an interface (also easily done).

If you get the chromatic transposition working properly, I'll commit to
helping you get it embedded in LilyPond.

Thanks,

Carl





reply via email to

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