Re: [abcusers] possible abctab2ps extensions
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
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
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
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
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
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
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
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
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
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