lilypond-user
[Top][All Lists]
Advanced

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

Re: score transposition problem


From: Marc Hohl
Subject: Re: score transposition problem
Date: Wed, 13 Apr 2011 11:14:37 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110223 Thunderbird/3.1.8

Am 13.04.2011 09:56, schrieb Janek Warchoł:
Hi,

2011/4/13 Marc Hohl<address@hidden>:
Am 13.04.2011 06:15, schrieb Tom Cloyd:
I have a simple problem which I've never before faced, and I'm hoping
there exists a simple solution about which someone can tell me.

I play and write music for classic guitar, so I use "\clef "treble_8"" in
my scores (classic guitar sounds an octave lower than the music notation).

I want to arrange a Bach chorale for guitar. My score for the chorale is a
nightmare. I can barely read bass clef, and can do that in my mind, but the
scores for soprano, alto, and tenor all use C-clefs, and in a way that each
score must be read in a unique way. I've never before seen a score like
this. The notes fit nicely on the staff, but I cannot read them without a
lot of mental gymnastics.

Is there a way simply to input the notes to a lilypond file as if they
were in my normal G-clef, such that, for example, the F-clef for the bass
part, where the note is placed on the top line of the staff (an A), I would
record it as an F, then magically move the notes up or down enough
semi-tones to get to a correct placement on the treble_8 clef, at which
point I add key signature to my *.ly file and I'm ready to begin my
transposition, using the PDF output to play from...?
Well, you describe how to proceed: just input the notes as if they were
written on G clef.

Your "f" is actually written f'' and should sound like an "a", so just add

\transpose f'' a { \myMusic }

and it should work out of the box. The same holds for the C clefs, of
course.
Actually, it doesn't. It's because \transpose is chromatic, and the
staff itself isn't. Compile the following:
Ah, I see :-(
Well, it looked so simple ...
realMusic = { a b c' d' e' f' g' a' }
\staff { \clef "bass" \realMusic }
writtenDownAsIfItWasInTrebleClef = { f'' g'' a'' b'' c''' d''' e''' f''' }
\staff { \clef "G" s1*0^"this should print a minor scale, but it
doesn't" \transpose f'' a \writtenDownAsIfItWasInTrebleClef }

Interestingly,
\staff { \clef "G^13"\writtenDownAsIfItWasInTrebleClef }
outputs something like you want. However, even if one would hide the
"13" above clef, it is structurally wrong (it only displays notes
correctly, their internal pitches are f'' g'' a'' b'' c''' d''' e'''
f''') and will produce wrong midi and cues.
Nevertheless, it must be possible to modify the function which handles
this special clef to convert notes properly.
Perhaps diatonic transposition would do - there was some discussion
about it and if i remember correctly a working prototype exists.
Search mailing archives.

Here are some starting points:

http://lists.gnu.org/archive/html/lilypond-user/2008-12/msg00805.html


http://lists.gnu.org/archive/html/lilypond-user/2008-12/msg00815.html

Marc


Hope this helps,
Janek





reply via email to

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