lilypond-devel
[Top][All Lists]
Advanced

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

Re: enharmonic problem with \transpose - should we modify it?


From: Benkő Pál
Subject: Re: enharmonic problem with \transpose - should we modify it?
Date: Thu, 16 Jun 2011 16:23:49 +0200

> Summary: { \key c \minor  \transpose gis as { es } } produces feses in
> output. I think it would be better if it outputted es.
> I have a piece written in es minor, which contains a lot of sharps and
> naturals (along with passages of flat notes). I'd like to "transpose it
> enharmonically" so that sharp notes become flat notes a scale step above,
> natural notes become double-flatted notes, but regular passages of flat
> notes aren't affected. \transpose gis as works for this with one exception:
> it produces ceses and feses everywhere instead of bes and es (which would
> fit the key signature better). This disturbs the harmonic structure: when a
> passage like this { \key es \minor as' bes' des'' bes' ges' es' as' as' } is
> transposed, most flat notes aren't affected (because \transpose doesn't
> create triple flats), but some are - and intervals change, for example first
> one changes from major second to diminished third.
> I tried using \naturalizeMusic from NR 1.1.2 on it, but this results in
> problems in other places (because \naturalizeMusic ignores key signature).
> I think it would be good to either modify \transpose function, or add a
> function which is similar to \transpose, so that described results can be
> acheived.
> What do you think?

I think that
- \transpose does the theoretically right thing
  and should keep ignoring enharmony
- \naturalizeMusic is far closer to your needs, it just have to be enhanced
  to know the key in the spirit of modal transposition - it may even have a
  parameter for the enharmonic interval (diminished second as default).
  if I have time (and that's quite a big if) I'll mock up something.

> I searched for transpose in sources and checked all results that were not
> docs and regtests, but my scheme reading skills are too low: i cannot
> identify where it is defined (i have an impression that it's definition
> isn't all in one place). Please give me some pointers.

it's implemented in C++
(Pitch::transpose and ly_transpose_key_alist in music-scheme.cc).

p



reply via email to

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