Re: [tablatures] transposing tablature |
[ Thread Index |
Date Index
| More lilynet.net/tablatures Archives
]
On 1/8/10 12:05 PM, "Patrick Schmidt" <p.l.schmidt@xxxxxx> wrote:
> -------- Original-Nachricht --------
>> Datum: Thu, 7 Jan 2010 15:30:16 -0700
>> Von: Carl Sorensen <c_sorensen@xxxxxxx>
>> An: Patrick Schmidt <p.l.schmidt@xxxxxx>, "tablatures@xxxxxxxxxxx"
>> <tablatures@xxxxxxxxxxx>
>> Betreff: Re: [tablatures] transposing tablature
>
>
>>
>> It seems to me like what you want is more than just a change in the
>> minimum
>> fret, since you want to switch from a 5-note chord to a 4-note chord in
>> this
>> particular instance.
> Well this was just a minor aspect of my idea. I'm sorry for the confusion.. I
> mixed up two separate ideas. I'll try to free them from entanglement (and
> restrict myself to one idea):
>
>> Instead, you want transposable chords.
> First of all I propose to have transposable tablature because in my opinion
> this function is helpful but does not exist, yet. Let me demonstrate the
> problem:
>
> What happens in tablature when you transpose a 5-note c major common chord in
> first position to D major?
>
> \version "2.13.10"
> music = { <c e g c e>1 }
> \score {
> <<
> \new Staff = "1" <<
> \transpose c d {\relative c' {\music }}
>>>
>
> \new TabStaff = "Tab 1" <<
> \transpose c d {\relative c {\music }}
>>>
>>>
> }
>
> You get an inverted 4-note d major (sixth) chord in first position. The root
> of the former c major chord got lost in transposition by default because the
> root of the resulting d major chord would be on the fifth fret of the fifth
> string. LilyPond tries to find the corresponding pitches in the first four
> frets of the guitar because the default value of minimumFret is zero. In my
> opinion this behaviour is wrong because not all the pitches of the new chord
> can be found in first position.
This is a bug. Minimum fret should not default to zero. It should default
to unset, and the code should be able to find the correct chord.
I had missed this problem before in your code. I apologize for not
understanding it.
I think I can fix this bug. I'll try to get to it in the next couple of
hours.
> By default there's a discrepancy between the
> transposed traditional notation and tablature because the playing position is
> not transposed.
It should be able to be transposed. I'll try to make it work properly, so
you don't need to adjust the minimum fret.
> In the example above it is easy to adjust the minimum fret
> *only* in TabStaff context (leaving the \music-variable untouched).
>
> \new TabStaff = "Tab 1"
> <<
> \transpose c d {
> \relative c {
> \set TabStaff.minimumFret = #2
> \music
> }
> }
>>>
>
> But what happens if somebody uses lots of \set TabStaff.minimumFret =#x
> in the \music-variable? Here is a fragment of a larger score:
>
> \version "2.13.10"
> global ={
> \clef "G_8"
> \time 2/4
> \key a \minor
> }
> music = {
> % 1
> \set TabStaff.minimumFret = #4
> <d d'>2\p~( |
> % 2
> <d d'>4\<~ <d d'>8
> <c c'>8 |
> % 3
> <b b'>2)~|
> % 4
> <b b'>4
> \set TabStaff.minimumFret = #2
> <a a'>4\!(
> % 5
> \set TabStaff.minimumFret = #7
> <d d'>2\mf~
> % 6
> \times 2/3 { <d d'>8\< <e e'> <d d'> }
> \set TabStaff.minimumFret = #4
> \times 2/3 { <c c'> <b b'> <c c'>\! } |
> % 7
> <b b'>2)~ |
> % 8
> <b b'>4\>
> \set TabStaff.minimumFret = #2
> <a a'>\!|
> }
>
> \score {
> <<
> \new Staff = "1" <<
> \relative c' {
> \global
> \music
> }
>>>
>
> \new TabStaff = "Tab 1" <<
> \relative c' {
> \global
> \music }
>>>
>>>
> }
>
> \score {
> <<
> \new Staff = "2" <<
> \transpose a g {
> \relative c' {
> \global
> \music
> }
> }
>>>
>
> \new TabStaff = "Tab 2" <<
> \transpose a g {
> \relative c' {
> \global
> \music
> }
> }
>>>
>>>
> }
>
> The octaves were meant to be played on the first and third string in both
> keys.
Here you say that the octaves are meant to be played on the first and third
string, so I still think that the proper thing to do here is to set the
first and third string (you're not really using the automatic fret position
finder here; you want to override it).
> In this case one would have to alter quite a few things in the original
> score even though everything was fine in the "untransposed" version and
> everything would be fine in the transposed version of this example in g minor
> if the playing positions were adjusted automatically. This is what I mean(t)
> with transposing tablature:
>
> "to implicitly raise or lower the value of minimumFret by default by the
> interval between the two pitches 'frompitch' and 'topitch' of the
> \transpose-command."
>
> Of course there should also be the possibility to *only* alter the transposed
> version in case one prefers a different playing position. (I want to produce
> different editions from one source so I would prefer not to alter the original
> version too much). That's why I suggested a new command (e.g.
> \shift(Playing)Position ±x) which is supposed to be included in the original
> source code but was only meant to work in combination with the
> \transpose-command. The "untransposed" version would not be effected.
In my opinion, \shiftPosition should be unnecessary, as if we want the
transpose to shift the position, we should just identify the strings.
>
> Does that make sense?
>
>>
>> We already have transposable chords, in the form of fret diagrams.
> I know and I use them quite a lot. They are a great help.
>> One of
>> the to-do's on my list for a while (that I haven't got around to since
>> I've
>> been futzing with auto-beaming) is to turn fret diagrams into notes. Then
>> you'd have a set of chords that you wanted to use in the music. You'd
>> write
>> the music as a set of chords, and you could get the notes for the regular
>> staff and the tabStaff from the fret diagrams.
>>
>> I envision it working this way:
>>
>> myChords = {c1 a g c g:7 c}
>>
>> transposedChords = \transpose c d {\myChords}
>>
>> <<
>> \new Staff {
>> \getNotes \transposedChords
>> }
>> \new TabStaff {
>> \getNotes \transposedChords
>> }
>>>>
>>
>> It would seem to me that that is a better approach to the problem that
>> you've identified.
>>
>> Does this make any sense?
> Yes of course this makes sense but the subject is slightly different. If I get
> it right the target group for your function are guitarists who know how to
> play chords but don't know exactly how to jot them down or they want a quick
> and effective way of transcribing them. Sounds promising.
>
> Thank you for "listening",
> patrick
>>
>> Thanks,
>>
>> Carl
>>
>>
>
> --
> GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01