Re: [abcusers] possible abctab2ps extensions

2001-11-14 Thread Jack Campin

 I defintely don't want to have to write a Highland 
 pipe jig (typical grace = 1/32) like:
 L:1/8
 K:HP
 {g//}A{d//}A{e//}A {g//e//f//}e2 f | {g//}ec{G//}c {g//e//f//}e2

 How about
  L:1/8 grace=1/32
  K:HP
  {g}A{d}A{e}A {gef}e2 f | {g}ec{G}c {gef}e2

Why the quotes?

I'd prefer

  L:1/8 {1/32}

and for the functionality Ewan wants, setting this once and for all for
a bunch of tunes, have a line near the start of the file just saying

  L:{1/32}

with the default length for melody notes unspecified and maybe varying
throughout the file.


: The format param=value is preferable because it is more flexible
: and allows future extensions.

In this case there aren't likely to be any future extensions, so
readability becomes a more important consideration.  Even when there
are likely to be extensions, this syntax can be too ugly to consider;
e.g. for non-Western key signatures, would you really rather have
K:D Major second=_E sixth=_B than K:D Major _E _B ?

I think of the header fields in ABC as being typed, and *not* all of
type string.  For such information alternative lexical syntaxes
are usually appropriate.  The type of this field is presently that
of rational fractions and the proposal makes it a variant, rational
fraction or pair of rational fractions (or perhaps ordered pair of
[rational|NULL]).  I can think of only one piece in all music where
you'd want anything different, Nancarrow's player piano piece where
the basic note lengths of the two parts are in the ratio 1:sqrt(2).


: And most important, it solves most compatibility problems: programs
: only interpret the param clauses which they know and ignore the other.

It's no harder for a program to ignore {1/32} than grace=1/32, is
it?


BTW, there is a seriously hairy problem with the semantics of variable-
length gracenotes in Highland pipe music.  There are bunch of pibroch
transcriptions on the web which encode them in full gory detail using
the Piob Mhor notation; I don't have a machine which can process that,
but I think the effect is that it plays right while also generating the
usual sort of score, which has the timing oversimplified.  I don't think
it's reasonable to ask the implementors of player programs to understand
details of interpretation that are normally passed on by oral tradition,
but if their software can accept gracenote groups like {ge4d} without
gagging and maybe play them as {ged} that'll do for a start.

But let's get tempo fixed first.


=== http://www.purr.demon.co.uk/jack/ ===


To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] possible abctab2ps extensions

2001-11-13 Thread Christoph Dalitz

Ewan A. Macpherson wrote:
 
  How about
 
L:1/8 grace=1/32
K:HP
{g}A{d}A{e}A {gef}e2 f | {g}ec{G}c {gef}e2
 
 Seems reasonable.  Or maybe just
 
 L:1/8 {1/32}
 
The format param=value is preferable because it is more flexible
and allows future extensions. And most important, it solves most
compatibility problems: programs only interpret the param clauses
which they know and ignore the other.

  ? (In the case that `grace' is not specified we could fall back to,
  e.g., a standardized default of `grace=1/8'.
 
 Except for K:Hp or K:HP, where the default should be 1/32 .
 
Was this the default in the old standard?

  Within a tune, the
  `grace' attribute should probably persist across `L:' changes that don't
  introduce a new `grace' setting, for convenience.)
 
AFAIK the scope of a L: field is the current tune (or is it the 
current voice?). Making part of it global is a bad idea.

Christoph Dalitz
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] possible abctab2ps extensions

2001-11-13 Thread James Allwright

On Mon 12 Nov 2001 at 07:21PM +0100, Christoph Dalitz wrote:
 James Allwright wrote:
  
 
 I wrote line break because I do not understand the abc guitar chords
 only as guitar chords, but more general as arbitrary text printed above
 a note. This includes guitar chords, basso continuo figures and dynamic
 marks.
 

The problem of abritrary text has come up before and _   is the agreed
syntax for arbitrary text - hopefully you support this in a similar way.

James Allwright

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] possible abctab2ps extensions

2001-11-13 Thread Ewan A. Macpherson

Christoph Dalitz [EMAIL PROTECTED] wrote:
 Ewan A. Macpherson wrote:

   ? (In the case that `grace' is not specified we could fall back to,
   e.g., a standardized default of `grace=1/8'.
  
  Except for K:Hp or K:HP, where the default should be 1/32 .
  
 Was this the default in the old standard?

It is in Eric Mrozek's Highland-pipe-friendly version of abc2ps:
http://www.eecs.umich.edu/~mrozek/abc/abc2ps.html#bagpipe
which AFAIK is the only tadpole-producing abc software which implements 
all the desired special behaviours which should invoked by K:Hp and 
K:HP. The standard unfortunately doesn't mention the gracenote length 
issue associated with K:HP, only the key sig and stem directions, but I 
think this would be a reasonable default. K:HP is for Highland pipe 
music specifically, and we like our gracenotes short (and slash-free)!

The standard itself doesn't say anything about how gracenotes should be 
displayed. In the V1.6 standard, it says Grace notes have no time 
value and so expressions such as {a2} or {ab} are not legal.

In the draft standard we have, Although nominally grace notes
have no melodic time value, expressions such as {a2} and {ab} can be
useful and are legal although some packages may ignore them.

cheers,
Ewan Macpherson
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



[abcusers] possible abctab2ps extensions

2001-11-12 Thread Christoph Dalitz

Dear abc users and devellopers,

meanwhile all originally planned tablature features are
realised in abctab2ps and I plan to do other music extensions,
mostly in the realm of early music.

Before I introduce some other incompatible set of abc extensions,
I would like to ask the other devellopers whether and how
they already have addressed some of the following issues.

1) figured bass

Both abctab2p2 and abcm2ps support line breaks (\n) and accidentals
(\# \b \=) in guitar chords; I have adopted the syntax of abcm2ps
in order to be compatible. Although I think that natural signs
should be avoided in figured bass (most historic sources only use
b for diminished intervals and # for augmented intervals) because
they break transposibility, it was an oft requested feature.

There is still a problem: more than one different chord/figure on
a single note (eg. a 5\n4 3# cadenza). Most historic sources place
the two figures centered above the bass note; most modern editions
however place them like an individual voice on the time axis. 

As the second solution is more desirable for readability reasons,
I am looking for a solution to emulate it. A possible solution
could be a voice parameter to print only the guitar chords of this
voice as guitar chords above a different voice. Example:

V:Flute clef=treble space=+10 bracket=2
V:Bass clef=bass
V:figures figuresof=Bass

Any better ideas?

2) rhythm of grace notes

abc supports grace notes, which are printed by abc2ps as eigth notes
in reduced size. A single grace note is printed as an eigth note
with an oblique stroke (ie. a short appogiatura in 19th century
context).

While doing some transcriptions of viol sonatas, I need grace notes
which are not eigth notes. The straightforward implementation 
(allowing rhythm factors in braces: {a//g//f//a//}) has a compatibility
issue: according to the old abc standard (or its interpretation that
was implemented in abc2ps), grace notes without a rhythm factor are 
of the length 1/8 rather than that of the L: field.

Any suggestions?

3) meter ambiguity

In early music, M:C| can mean M:4/2, M:4/1 or M:4/4.
And triple time M:3 can mean M:3/2, M:3/1 or M:3/4.
In other words, the mathematical meter differs from the meter symbol.

Thus I would suggest that the M: filed always means the
mathematical meter (which is importand for automatic barnumbering),
and that a diverging meter symbol can be specified via a pseudocomment
like
%%metersymbol 4/1=C|
%%metersymbol 3/2=3
This could mean: print C| whenever the meter is 4/1 and 3 whenever
it is 3/2.

Unfortunately I had introduced the syntax M:3 which was quickly
adopted by J.F.Moine for abcm2ps and even extended to stuff like M:2.

Maybe we could withdraw this extension and replace it with the
pseudocomment solution?

4) more clef types

There are 3 different clefs (G, C and F) which can appear on different
staff lines. Which names are currently used for the various clefs
in the different abc-programs? What identifiers are used for the
french violin clef (G1) for instance?


I stop at this point, because if this mail becomes even longer
noone will read it ;)

Christoph Dalitz
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] possible abctab2ps extensions

2001-11-12 Thread James Allwright

On Mon 12 Nov 2001 at 04:18PM +0100, Christoph Dalitz wrote:
 
 Before I introduce some other incompatible set of abc extensions,
 I would like to ask the other devellopers whether and how
 they already have addressed some of the following issues.
 
 1) figured bass
 
 Both abctab2p2 and abcm2ps support line breaks (\n) and accidentals
 (\# \b \=) in guitar chords; I have adopted the syntax of abcm2ps
 in order to be compatible. 

I am not sure what a line break character would mean in the context
of a guitar chord. I allow ; as a shorthand for two guitar chords
together e.g.

A Db  could be written as A;Db

These are printed out one above the other by yaps.

Is this what you mean ?

 
 4) more clef types
 
 There are 3 different clefs (G, C and F) which can appear on different
 staff lines. Which names are currently used for the various clefs
 in the different abc-programs? What identifiers are used for the
 french violin clef (G1) for instance?
 

From memory, yaps supports clef=bass, treble, soprano, mezzosoprano,
and alto. These are all names that came out of one of my music 
textbooks.

James Allwright
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] possible abctab2ps extensions

2001-11-12 Thread Ewan A. Macpherson

Christoph Dalitz [EMAIL PROTECTED] wrote:

 2) rhythm of grace notes
 
 abc supports grace notes, which are printed by abc2ps as eigth notes in
 reduced size. A single grace note is printed as an eigth note with an
 oblique stroke (ie. a short appogiatura in 19th century context).
 
 While doing some transcriptions of viol sonatas, I need grace notes
 which are not eigth notes. The straightforward implementation (allowing
 rhythm factors in braces: {a//g//f//a//}) has a compatibility issue:
 according to the old abc standard (or its interpretation that was
 implemented in abc2ps), grace notes without a rhythm factor are of the
 length 1/8 rather than that of the L: field.
 
 Any suggestions?

The draft standard includes the idea that grace notes should have 
modifiable lengths just like regular notes, and suggests that the 
software package should set the default length, although it might be 
more prudent to add this info to an extended L: field or create a new 
field so that all the info is in the tune.  This length should 
definitely *not* be derived from the standard L: field itself.  One 
shouldn't have to change the way grace notes are indicated based on 
changes in L:, and I defintely don't want to have to write a Highland 
pipe jig (typical grace = 1/32) like:

L:1/8
K:HP
{g//}A{d//}A{e//}A {g//e//f//}e2 f | {g//}ec{G//}c {g//e//f//}e2

instead of the much more legible

L:1/8
K:HP
{g}A{d}A{e}A {gef}e2 f | {g}ec{G}c {gef}e2

cheers,
Ewan Macpherson
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] possible abctab2ps extensions

2001-11-12 Thread Christoph Dalitz

James Allwright wrote:
 
  1) figured bass
 
  Both abctab2p2 and abcm2ps support line breaks (\n) and accidentals
  (\# \b \=) in guitar chords; I have adopted the syntax of abcm2ps
  in order to be compatible.
 
 I am not sure what a line break character would mean in the context
 of a guitar chord. I allow ; as a shorthand for two guitar chords
 together e.g.
 
 A Db  could be written as A;Db
 
 These are printed out one above the other by yaps.
 
 Is this what you mean ?
 
Yes. 

I wrote line break because I do not understand the abc guitar chords
only as guitar chords, but more general as arbitrary text printed above
a note. This includes guitar chords, basso continuo figures and dynamic
marks.

Admittedly \n is not very consistent, because abc mostly uses the TeXish
\\ for line breaks.

Christoph Dalitz
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] possible abctab2ps extensions

2001-11-12 Thread Laurie Griffiths

Tablature
1. Muse supports ABC to fretted instrument tab generation by giving string
information after the duration, using a semicolon to delimit it.  e.g. E2;4
Play E for 2 time units on string number 4.  On the whole it's only
necessary to give this information for a few notes, the rest can be
interpolated.  I have no idea how abctab2ps represents this information and
you didn't say, but I'd guess this is fundamental.  Where there is no
explicit string information, Muse just tries to do something sensible (it
enumerates all possible fingerings for the whole piece and selects the one
with the lowest difficulty score).

Clefs
Muse supports treble (G glef, G above middle C on 2nd line up), alto (C
middle C on middle line), tenor (middle C on 2nd line down) and bass (F
below middle C on 2nd line down).  Muse also supports what I think might be
a soprano clef (looks like treble clef but 8ve written above the staff and
plays an octave above treble clef) and can likewise play transposed an
octave down (8ve written below staff).  In fact Muse can play transposed by
just about any amount.  Muse also supports independently transposing of
guitar chords (so you can have music written for clarinet accompanied by
guitar with capo on 2nd fret. The chords will play a tone up and the
tadpoles a tone down!  This is currently indicated by ABC with the K:
command, but it would be easy to move it to V: or to come new command so
long as the syntax didn't change.
The syntax is based on comma separated sets of keyword=value e.g.
K: clef=bass, transpose=12

Laurie

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html



Re: [abcusers] possible abctab2ps extensions

2001-11-12 Thread Ewan A. Macpherson

Anselm Lingnau [EMAIL PROTECTED] wrote:

 How about
 
   L:1/8 grace=1/32
   K:HP
   {g}A{d}A{e}A {gef}e2 f | {g}ec{G}c {gef}e2

Seems reasonable.  Or maybe just

L:1/8 {1/32}

 ? (In the case that `grace' is not specified we could fall back to,
 e.g., a standardized default of `grace=1/8'. 

Except for K:Hp or K:HP, where the default should be 1/32 .

 Within a tune, the
 `grace' attribute should probably persist across `L:' changes that don't
 introduce a new `grace' setting, for convenience.)

Indeed!

cheers,
Ewan Macpherson
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html