lilypond-user
[Top][All Lists]
Advanced

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

Re: Subject: String Concatenation, and Use of Unicode characters [sic]


From: Flaming Hakama by Elaine
Subject: Re: Subject: String Concatenation, and Use of Unicode characters [sic]
Date: Mon, 9 Mar 2015 12:48:26 -0700

> From: Michael Hendry <address@hidden>
> To: Davide Liessi <address@hidden>
> Cc: Lilypond-User Mailing List <address@hidden>
> Subject: Re: Subject: String Concatenation, and Use of Unicode characters [sic]
> > On 7 Mar 2015, at 11:22, Davide Liessi <address@hidden> wrote:
> >
> > Il 03/03/15 07.56, Michael Hendry ha scritto:
> >>> Forgive me for suggesting, but I suggest it improves mental health to
> >>> think of transpose in the form:
> >>>
> >>>    \transpose "to" "from" \musicExpression
> >
> > This is what I do, too: I usually think of transpose as `\transpose "to" "from"` when tranposing instrumental parts from concert pitch to transposed pitch, and as `\transpose "from" "to"` in all other cases.
 
Moments after writing this, I realized how ambiguous it "to" and "from" are. 
A more coherent way of thinking about using \transpose for transposing instruments might be 
 
    \transpose "sounding" "written" \musicExpression
 
The gotcha here is to keep in mind that \transpose does not use relative pitch.  Meaning, if you are used to using relative notiation, you might expect the following to produce the same transposition:
 
    \transpose c d \musicExpression
    \transpose bes c \musicExpression
 
But they don't--the first goes up a whole step, the second one goes up a minor seventh.  Personally, I find that the most confusing thing about \transpose.
 
Maybe that's because I haven't graduated to any other kind of music entry besides \relative?


 
> >> I used to think of the transposition in this way until I found a need to
> >> transpose the whole piece to a different key (to accommodate a singer?s
> >> range, for example), and I found the two ways of looking at
> >> transposition tied my brain in knots.
> >
> > Indeed looking at the same command in two ways might be a bit confusing, but I got used to it rather easily.
 
A corresponding way to think about transposing a piece would be 

     \transpose "current key" "new key" \musicExpression
 
(With the same gotcha about not using relative pitch)


> >> Ideally, I?d like to define the whole-piece transposition at the top of
> >> the file, rather than editing the per-instrument transposition at the
> >> point of book production.
> >
> > You certainly do not need to change the individual transpositions in order to transpose an entire piece: nothing stops you from transposing music that has already been transposed, instead of editing each `\transpose` command.
 
+1


> Here is the section of the template where various standard transpositions are defined?
> % Transpose the whole piece
> PieceTranspose =
> #(define-music-function (parser location m)
>    (ly:music?)
>    #{ \transpose c c $m #})

I'm not sure how this helps.  As written, this does nothing.  And if you need to modify your function for each file (to enter the correct transposition), how is it better than just using \transpose directly?  That is what you end up having to do anyway--understand how \transpose works in order to make the modification.

I could see it being helpful if it were able to take more expected input (like "up fourth", "down minor 3rd" or some other unambiguous input, and then translate that to \transpose notation.

Generally, I agree that it is useful to have a function if you are going to do the same thing multiple times.  (However, in this case I don't see the purpose--in conjunction with my other comments, below, since I don't think you should use this function more than twice per file.)



 
> % Adjust for various transposing instruments
> GuitarTranspose =
> #(define-music-function (parser location m)
>    (ly:music?)
>    #{ \transpose e e' $m #})
> AltoTranspose =
> #(define-music-function (parser location m)
>    (ly:music?)
>    #{ \transpose ees c'  $m #})
> TrumpetTranspose =
> #(define-music-function (parser location m)
>    (ly:music?)
>    #{ \transpose bes c' $m #})

Seems very helpful!

BTW, I also tend to prepare lead sheets in F and A.  Of course, you may not need this.  But if you are preparing a template, it might be helpful to include other common transpositions.

But below, instead of using \PiceTranspose everywhere (which kind of defeats the purpose of doing something globally) I would suggest transposing \TheChords and \TheHead and then using \TransposedChords and \TransposedHead in the template:

 
TransposedChords = \PieceTranspose \TheChords
TransposedHead = \PieceTranspose \TheHead

#(define output-suffix "Concert")
\book {
  \score {
    <<
      \TransposedChords
      \TransposedHead
    >>
    \header {
      piece = \markup { \fontsize #-1 "Concert" }
    }
  }
}

% Guitar version - transposed up an octave

#(define output-suffix "guitar")
\book {
  \score {
    <<
      \GuitarTranspose { \TransposedChords }
      \GuitarTranspose { \TransposedHead }
    >>
    \header {
      piece = \markup { \fontsize #-1 "Guitar" }
    }
  }
}

% Trumpet version - transposed  up a tone

#(define output-suffix "trumpet-Bb")
\book {
  \score {
    <<
      \TrumpetTranspose { \TransposedChords }
      \TrumpetTranspose { \TransposedHead }
    >>
    \header {
      piece = \markup { \fontsize #-1 "Trumpet in B" \smallFlat }
    }
  }
}

% Alto Sax version - transposed up a major sixth

#(define output-suffix "alto-Eb")
\book {
  \score {
    <<
      \AltoTranspose { \TransposedChords }
      \AltoTranspose { \TransposedHead }
    >>
    \header {
      piece = \markup { \fontsize #-1 "Alto Sax in E" \smallFlat }
    }
  }
}


HTH, 

David Elaine Alt
415 . 341 .4954                                           "Confusion is highly underrated"
address@hidden
self-immolation.info
skype: flaming_hakama
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

reply via email to

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