lilypond-user
[Top][All Lists]
Advanced

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

Re: Nested transposition


From: David Wright
Subject: Re: Nested transposition
Date: Fri, 12 Mar 2021 10:49:31 -0600
User-agent: Mutt/1.10.1 (2018-07-13)

On Fri 12 Mar 2021 at 11:52:36 (+0000), Peter Toye wrote:
> Thanks Christian. Not sure why that happens (bug?) but that works fine. 

The problem (not a bug) is that you can't re-apply \relative
processing to absolute pitches.

\relative { … } applies the rules of relative pitch notation, an
*input* method, to { … } and yields a CHUNK of absolute pitches.

\transpose X Y { ••• } yields a CHUNK of transposed absolute pitches
from already absolute pitches.

\transpose X Y { ••• \relative { … } ••• } does both the above in turn,
but working from the *inside*. So after the \relative is processed, all
of { ••• [:CHUNK:] ••• } consists of absolute pitches to be transposed.

\relative { … … [:CHUNK:] … … [:CHUNK:] … … } applies the rules of
relative pitch notation to all the … pieces in *one* logical sequence,
treating the pitches inside the CHUNKs as invisible because they,
working from the inside, have each had their pitches frozen already
by the same rules as above.

Note particularly that any [:CHUNK:] could itself be a \relative { … },
which is separately processed first. (It's recursive.)

One good thing—you haven't used any floating pitches, as in
tune = { c d e c d e f d }. That can complicate matters.

> Friday, March 12, 2021, 10:59:03 AM, Christian Masser wrote:
> 
> It seems that \transpose treats the block of notes following it as absolute 
> notes. If you adapt that line to explicit relative notation it probably 
> yields the result you're aspiring.
> 
> \version "2.22.0"
> 
> \language "english"
> 
> {
>   \transpose c a,
>   \relative {
>     c'4 d e f g a b c
>     \transpose cs df
>     \relative {cs' ds es fs gs as bs cs}
>   }
> }
> 
> Am Fr., 12. März 2021 um 11:35 Uhr schrieb Peter Toye <lilypond@ptoye.com>:
> 
> I am trying to engrave a transposed song. It's written without key signature 
> but is very tonal. It starts in C and ends in C#. I want to transpose it down 
> a minor third. The part in C is fine, but the part in C# ends up as A## and 
> there are far too many double-sharps for it to be performable.
> 
> I found the 'minimal accidental' snippet but that looks as if it messes up 
> the tonality - a mixture of A sharp and B flat.
> 
> I tried the code below, which get the note names right but the octaves go 
> completely wrong. Is this a bug? It would be a useful feature if it could be 
> corrected.
> 
> \version "2.22.0"
> 
> \language "english"
> 
> {
>   \transpose c a,
>   \relative {
>     c'4 d e f g a b c
>     \transpose as bf
>     {cs, ds es fs gs as bs cs}
>    
>   }  
> }

Cheers,
David.



reply via email to

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