[tablatures] Fwd: Take 1

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


For archival purposes, I am forwarding to the tablatures list some
previous discussions that may have taken place privately or on the
LilyPond-user mailing list.

- Valentin


Forwarded conversation
Subject: Take 1
------------------------

From: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Date: 2009/6/24
To: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>, Andrew Wilson
<andrew@xxxxxxxxxxxxx>, Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>,
"David B. Stocker (dstocker@xxxxxxxxxxxxxxxxx)"
<dstocker@xxxxxxxxxxxx>, Tony Willoughby <tonyw@xxxxxxxxx>, Valentin
Villenave <v.villenave@xxxxxxxxx>, Marc Hohl <marc@xxxxxxxxxx>, "Carl
D. Sorensen" <c_sorensen@xxxxxxx>, Julian Casadesus
<julian@xxxxxxxxxxxxxxxx>


Hello all,

At long last, here is the first set of 'requests' for advance Guitar
Tab implementation in LilyPond. See the attached *.pdf.

First, I must apologize for taking so long to get around to this. Like
many of you, I struggle to find balance between my family and civic
responsibilities on the one hand and my work and passions on the
other.

The focus of this first set is bends. I've tried to be as detailed as
possible in the notes. If anyone has any questions, please feel free.

Also, these suggestions are all open for discussion. I can offer
guidance since I spend my professional life doing this, but I'm sure
many will have good questions regarding these suggestions.

At this point, questions of syntax are completely open (although, I
feel this will probably be the easiest parameter to adjust).

Any and all feedback is welcome. I'll try to respond to
questions/discussion in a timely manner.

David

----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/6/24
To: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Cc: Andrew Wilson <andrew@xxxxxxxxxxxxx>, Viktor Mastoridis
<viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Marc
Hohl <marc@xxxxxxxxxx>, "Carl D. Sorensen" <c_sorensen@xxxxxxx>,
Julian Casadesus <julian@xxxxxxxxxxxxxxxx>


Thanks David. Looks decent! :)

I hope it can be implemented in Lilypond soon.

Regards,

\r



----------
From: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Date: 2009/6/24
To: Marc Hohl <marc@xxxxxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Andrew Wilson <andrew@xxxxxxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, "Carl
D. Sorensen" <c_sorensen@xxxxxxx>


Hi Marc,

Marc Hohl wrote:
>
> David Stocker schrieb: Hello David,
>
> great job! Very detailed, so this is a good starting point.
> Just one question: in example j, you use slurs arching under - why not over?

The reason the pointed slurs arch under in example j is the
conventional grace note (with the stem). In regular notation,
acciacaturas are alway upstem and the slur connecting them to the
regular note arches under.


....which leads to an important point: these should be the default
values (\stemNeutral, \oneVoice, etc.) and should automatically
self-adjust under the \voiceOne or \stemUp or similar commands. For
voiceOne/stemUp, the pointed slurs arch over and for
voiceTwo/stemDown, they arch under.

At some point, I'll do some examples of bends in /divisi/ notation, so
you can see the way the pointed slurs and grace notes behave.
>
> Greetings
>
> Marc

Best,

David

----------
From: Carl D. Sorensen <c_sorensen@xxxxxxx>
Date: 2009/6/24
To: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Andrew Wilson <andrew@xxxxxxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Marc
Hohl <marc@xxxxxxxxxx>, Julian Casadesus <julian@xxxxxxxxxxxxxxxx>


Thanks for the input, David.

I hope it will be helpful for those who are implementing tablature
(primarily Marc Hohl, right now).
I have a couple of questions/comments.

First, we are currently working on a parentheses grob that will use a
vertical slur to draw parentheses.  The application creating this is a chord
name, where it will surround stacked modifiers.  It should be readily
applicable to tablature.

Second, I wanted to ask about using slurs for bends.  In your sample sheet,
you use curved lines, which are uniform thickness.  Slurs, on the other
hand, are variable thickness (thin at the ends, thick in the middle).  Do
you want the bends to have uniform thickness or variable thickness?
In general, syntax should not be requested by users, but created by
developers.  Features should be requested by users, which is what you're
currently doing.  I just wanted to make this clear to others.

Thanks,

Carl


----------
From: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Date: 2009/6/24
To: "Carl D. Sorensen" <c_sorensen@xxxxxxx>
Cc: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>, Andrew Wilson
<andrew@xxxxxxxxxxxxx>, Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>,
"David B. Stocker (dstocker@xxxxxxxxxxxxxxxxx)"
<dstocker@xxxxxxxxxxxx>, Tony Willoughby <tonyw@xxxxxxxxx>, Valentin
Villenave <v.villenave@xxxxxxxxx>, Marc Hohl <marc@xxxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


And thanks to Marc for volunteering his time and efforts. As things
get implemented, I'll be happy to help with the documentation. That
would solve the problem. The TAB bend lines with arrowheads should be
of a uniform thickness, unlike the curves used for slurs. Thanks for
clarifying.
>
> Thanks,
>
> Carl
>

David
>
>
>

----------
From: Grammostola Rosea <rosea.grammostola@xxxxxxxxx>
Date: 2009/6/24
To: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Cc: "Carl D. Sorensen" <c_sorensen@xxxxxxx>, Andrew Wilson
<andrew@xxxxxxxxxxxxx>, Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>,
"David B. Stocker (dstocker@xxxxxxxxxxxxxxxxx)"
<dstocker@xxxxxxxxxxxx>, Tony Willoughby <tonyw@xxxxxxxxx>, Valentin
Villenave <v.villenave@xxxxxxxxx>, Marc Hohl <marc@xxxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


Are there people who like to help Marc if that's necessary?

Regards,

\r


----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/6/29
To: "Carl D. Sorensen" <c_sorensen@xxxxxxx>
Cc: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Andrew Wilson <andrew@xxxxxxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


Carl D. Sorensen schrieb:
>
> [...]

Concerning the syntax, I think bends should be called by
commands like

d4 \bendUp es \releaseBend d r % David's example (a)
d4 \bendUp e \bendUp fis2 % example (e)

lilypond should calculate the amount in whole steps and place
the right number accordingly.

For grace notes, I think it would be the best to use the \grace command,
e.g.

\grace d \bendUp e2 r2 % example (g)
\grace d \preBend e r2 % example (i)

(in the second case, the use of \preBend should force lilypond to put
the grace notes
in parentheses automatically).

I'm not sure about a clever way to code unison bends as in example (c).

Any suggestions/proposals?

Marc



----------
From: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Date: 2009/6/29
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: "Carl D. Sorensen" <c_sorensen@xxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Andrew Wilson <andrew@xxxxxxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


In the example I sent, all of the notes were down-stems. It probably
goes without saying, but for upstem notes, the pointed slurs arch
under in \oneVoice situations.

In \voiceOne through \voiceFour scenarios, the pointed slurs arch in
the direction of the stems.

When I work up the next example, I'll include all the details for that
as well as divisi situations and double stop bends.

Let us know when you have something to test. This is going to be neat.

David
----------
From: Carl D. Sorensen <c_sorensen@xxxxxxx>
Date: 2009/6/29
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Andrew Wilson <andrew@xxxxxxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


Remember, syntax comes last.

The first step is to develop a music function that will create the output
you want.

Then, if desired, you create the syntax that you want.

If the syntax you want doesn't work with music functions or markup
functions, then you will need to modify the parser.  I've never modified the
parser, so I don't know how big a job that is.

If you're going to modify the parser, then you may wish to create a
bend_engraver (you may be able to do that by copying the slur_engraver and
modifying it).

I will be of limited help if you want to take the bend_engraver route.  But
the bend_engraver route may be the best way to go, long term.

If I were working this project I'd probably start with a music function
something like

\bendNotes{d4 ees d}

\bendNotes{d4 e fis2}

Example c could be coded in music functions as

\bendNotes{<d e>2 e}

Similarly, the grace notes can just be included as part of the argument to
\bendNotes, and so no special syntax is required to handle grace notes.

HTH,

Carl


----------
From: Andrew Wilson <andrew@xxxxxxxxxxxxx>
Date: 2009/6/29
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: "Carl D. Sorensen" <c_sorensen@xxxxxxx>, David Stocker
<dstocker@xxxxxxxxxxxxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Viktor Mastoridis
<viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


2009/6/29 Marc Hohl <marc@xxxxxxxxxx>:
> Carl D. Sorensen schrieb:
What about quarter tone bends? I don't think these sytnaxes handles those.

andrew

----------
From: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Date: 2009/6/29
To: Andrew Wilson <andrew@xxxxxxxxxxxxx>
Cc: Marc Hohl <marc@xxxxxxxxxx>, "Carl D. Sorensen"
<c_sorensen@xxxxxxx>, Grammostola Rosea <rosea.grammostola@xxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


There are 2 different notations in modern usage for quarter-tone bends
and which one you used depends on the musical context. I'll try to
include examples of quarter-tone bends with explanations in the next
batch of visuals.

David
>
>

----------
From: Marc Hohl <marc@xxxxxxxxxx>
Date: 2009/6/29
To: "Carl D. Sorensen" <c_sorensen@xxxxxxx>
Cc: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Andrew Wilson <andrew@xxxxxxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


Carl D. Sorensen schrieb: Hm, I think the syntax is somehow necessary
in the developing
process. As far as I can see, we will need a new engraver,
(a task which is beyond my knowledge, but as far as I remember,
there are some c++ experts among the tablature group).

Thinking about the syntax, we can figure out how many new
commands are needed and how they should behave in
different situations. All the bend functions or commands should fit into the
standard lilypond syntax, so my aim was to emphasize that the
bend command should be placed between the concerning notes. Ok, the
number of different music functions is equal to the number
of new lilypond commands, so probably it will be the best way to
concentrate at those functions and build a new engraver later, but
in my opinion, this step is important.

Marc
----------
From: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>
Date: 2009/6/29
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: "Carl D. Sorensen" <c_sorensen@xxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Andrew Wilson <andrew@xxxxxxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


Just some forward-thinking, I know we don't want to get too into these
questions right now, but:

In LilyPond, other ways of connecting notes to each other are (mostly)
done without commands that are worded like \bendUp and so forth. I'm
thinking of ties and slurs here. Since slurs are probably the most
analogous to bends here, might the syntax look something like:

d ^ e

or even:

d < e > d

I know that in the second example, the <> construct is already in use
for chords. Might we instead use:

d \< e \> d

or even

d \^ e \^ d

Just something to file away for later, perhaps. I'm sure that with the
thoughtful and intelligent folks on the list working on these issues,
whatever they settle on will be more than satisfactory.

David
----------
From: Carl D. Sorensen <c_sorensen@xxxxxxx>
Date: 2009/6/29
To: Marc Hohl <marc@xxxxxxxxxx>
Cc: David Stocker <dstocker@xxxxxxxxxxxxxxxxx>, Grammostola Rosea
<rosea.grammostola@xxxxxxxxx>, Andrew Wilson <andrew@xxxxxxxxxxxxx>,
Viktor Mastoridis <viktor@xxxxxxxxxxxxxxxx>, "David B. Stocker
(dstocker@xxxxxxxxxxxxxxxxx)" <dstocker@xxxxxxxxxxxx>, Tony Willoughby
<tonyw@xxxxxxxxx>, Valentin Villenave <v.villenave@xxxxxxxxx>, Julian
Casadesus <julian@xxxxxxxxxxxxxxxx>


Yes, syntax will be necessary when you want to move to native LilyPond
syntax from LilyPond extensions available through the use of music
functions.

But if you can first figure out how to get the output you want within the
existing syntax, then we know that we have the capability in LilyPond and we
can extend the syntax as needed.
Behavior in different situations can be developed without ever thinking
about syntax.
Actually, I think that the bend command has more in common with slurs and
beams, so if I were doing a real parser rewrite, I'd want to have some kind
of enclosing element -- it would come after the first note of the bend and
after the last note of the bend.

I don't know what the exact syntax would be; there are no unused enclosing
elements.  David has proposed \< and \> as possibilities.   I suspect
they're not right yet.  Once the functionality is created, we can hash out
syntax proposals on -devel.

But I would expect (again, drawing from similarity with slurs) that \bendUp
would be used not to create a bend, but to specify the direction of a bend.
I agree that the syntax will eventually be important.  And if it's decided
to do the engraver and create the new syntax, it'll need to be thought
through carefully.

But it's seldom the best way to get *started*.

Thanks again for all your work.

Carl





--
Regards,
Valentin

Attachment: guitar-tab_1.pdf
Description: Adobe PDF document



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