lilypond-user
[Top][All Lists]
Advanced

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

Re: How exactly does "\transpose" work?


From: David Wright
Subject: Re: How exactly does "\transpose" work?
Date: Sat, 20 May 2017 10:37:47 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

On Sat 20 May 2017 at 17:28:57 (+1000), Don Gingrich wrote:
> I had the idea that all that I needed to
> do to convert a score from, for example, F to G,
> was to wrap a \transpose f g {  } around the
> \relative block where I had entered the notes in
> F. And that is actually correct.

Most of my scores finish with something like:

\score {
  \transpose f g
  \new GrandStaff <<
    \new Staff <<
      \new Voice { \clef treble \global }
      \new Voice { \sopranoi }
      \addlyrics { \textsopranoi }
    >>
    [... other parts ...]
  >>
  \layout { }
}

so it's easy to produce in any suitable key at a moment's notice.

> But it seems that some really weird things happen
> if, as I did recently, one screws up the order and
> has:
> 
> theNotes =  \relative c'' \transpose c d''{ {
>  some notes
> }
> }
> 
> I'm noting this it the hope that it may save someone else
> the agro that I experienced with notes jumping
> all over the place.
> 
> The order is *critical* to having transpose work as
> expected.
> 
> This is sort-of a solution in search of a problem but
> it may save someone else some frustration.

You have to think about what \relative { … } means.
Given *raw* notes in its argument, it transforms them into
absolute pitches by a simple rule (up to a fourth, and
fifths or greater; you know this rule). There's no
"second chance"; it's an input method. The octavation
is baked in, so the expression
   \relative { … }
placed anywhere else is now absolute music.

The expression \transpose X Y { … } is already absolute
so \relative can't do anything to it. OTOH
 \transpose X Y { … \relative {   raw notes   } … }
is a useful, well-formed expression.

If you nest \relative expressions, the inner ones are baked
first, then the outer ones are evaluated, hopping over the
inner, now baked, expressions.

Cheers,
David.



reply via email to

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