lilypond-user
[Top][All Lists]
Advanced

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

Re: Entering (lute) tablature


From: David Kastrup
Subject: Re: Entering (lute) tablature
Date: Sun, 19 Mar 2017 22:41:32 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> I didn't proofread.
> Though some observations.
>
> (1)
> Why not
>
> "|" = \bar "|"
>
> instead of
>
> content = #(map-some-music
>         (lambda (m)
>          (and (music-is-of-type? m 'bar-check)
>           #{ \bar "|" #}))
>         content)

Beat you to it: it already looked like that before you observed this.
Probably the original thought was that I was proposing an entry method
and should not go about redefining existing functionality, but the
haphazard metrum is really specific for that piece anyway, so there is
no point in that transformation.

> (2)
> A seven string tablature is hard to read, imho.
> Why not use 'additionalBassStrings'. I would print "0" below sixth string 
> here.

Uh, I wasn't really talking about that specific piece.  I was more
interested in opinions about the input rather than the output.

> (3)
> I tried to boil down the programming error. Minimal:
>
> \new Score \with { defaultBarType = "" } { c'1. }

Oh.  Interesting.

> It's already present in 2.14.2.
> 2.12.3 doesn't print an error. No clue if the error isn't there for
> this version or if it's not recognized and printed to the terminal.
>
>
> I'd need to have a far closer look at the 'tabtranslate', before I
> could say anything relevant about this function.

Oh, I wasn't asking for a critique of how the function is implemented.
It can be made more robust, and its performance is sort of a non-issue
since it transforms the input in a single pass doing rather little.

I was more interested in the opinion of people about _what_ the function
does, not how it does it.

The whole point was being able to enter tablature coded by string and
fret number (well, actually name) rather than by note.

One could write a notename language with note names O I II III IV V VI
... instead of a b c d e f g but of course for this particular French
style score, the a...g approach was more convenient.

So instead of

  <e\4 d\3 c\2>4
  q8 d\2 |
  <c\4 c\3 d\2>16
  c\2 c8\2
  <a\4 a\3 c\2>16
  a32\2 d\3 a8\2 |

one could write this as

  <IV\4 III\3 II\2>4
  q8 III\2 |
  <II\4 II\3 III\2>16
  II\2 II8\2
  <O\4 O\3 II\2>16
  O32\2 III\3 O8\2 |

Or the same in lowercase?

  <iv\4 iii\3 ii\2>4
  q8 iii\2 |
  <ii\4 ii\3 iii\2>16
  ii\2 ii8\2
  <o\4 o\3 ii\2>16
  o32\2 iii\3 o8\2 |

At any rate, the point I was trying to make is that this kind of input
is pretty quick to enter, is supported by the current parser, and can be
transformed reasonably straightforwardly into notes.  One shortcoming is
that there should be a way to override the enharmonic notename choice on
a case-by-case basis.  Maybe just not descend into
\relative/\fixed/\absolute ?

I remember several requests about being able to enter tablature in its
raw form.  And after transcribing a few bars manually I decided that I
wasn't going to do the brunt of a tedious task that was reasonably
suited for a computer to do.

Given how annoying I found the process of figuring out the notes from a
tablature source, I am somewhat surprised that nobody considers this
aspect of the example I posted worth commenting on.

Maybe my inability to focus on any tedious task for more than half an
hour is coloring my own impression of usefulness here.

Of course, getting good notes out requires _more_ than this since the
tablature only shows note starts, not note ends.  That makes it easy to
enter everything as one voice, but in a proper note rendition one would
want to let a number of notes have longer note values and use multiple
voices.

But for reproducing the information content of the tablature, this is a
good first approximation.

-- 
David Kastrup



reply via email to

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