|
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
[Prev in Thread] | Current Thread | [Next in Thread] |