lilypond-user
[Top][All Lists]
Advanced

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

Contemporary music required feature #1: chromatic transposition


From: Joseph Wakeling
Subject: Contemporary music required feature #1: chromatic transposition
Date: Tue, 22 Sep 2009 01:09:30 +0200
User-agent: Thunderbird 2.0.0.23 (X11/20090817)

Hello all,

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.

The first feature I'm looking to get developed is effective chromatic
transposition.  This is an essential feature: contemporary music
performers around the world get pissed off by parts containing B-sharps
and C-flats and the like because Sibelius- or Finale-using composers
prepared parts using tonal instead of chromatic transposition.

Currently Lilypond's transposition is tonal only, with the 'smart
transpose' snippet providing a Scheme function to minimise accidental
use.  Unfortunately this function is incompatible with quarter-tone
notation.  The attached snippet shows the problem.  A quarter-tone
chromatic scale is displayed, first untransposed; then untransposed and
run through the naturalizeMusic function; then transposed a quarter-tone
up; then transposed up and run through naturalizeMusic; and finally, run
through naturalizeMusic and then transposed.

What you see is that

   (i) without naturalizeMusic, transposition fails: transposition alone
       leaves the final pitch being 'g+5/4' which has no accidental

   (ii) naturalizeMusic saves the transposition, but alters accidentals
        which don't need to be altered -- e.g. g-3/4 is transformed to
        f+1/4.

naturalizeMusic also has some undesirable features such as its measuring
of the alteration, a, in quarter-tone steps rather than as a real
number.  This almost certainly will clash with non-quarter-tone systems.

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?

Thanks & best wishes,

    -- Joe




reply via email to

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