Re: [tablatures] transposing tablature

[ Thread Index | Date Index | More lilynet.net/tablatures Archives ]


-------- 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. By default there's a discrepancy between the transposed traditional notation and tablature because the playing position is not transposed. 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. 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.

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



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/