> 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}
>>
>> }
>> }