In message <[EMAIL PROTECTED]>, Paul Rosen <[EMAIL PROTECTED]> writes

What about fermata over a barline?

I didn't know it was possible, but, OK.

For a little book giving a lot of information about Music notation I commend Gerou: Essential Dictionary of Music Notation. I don't think any writer of music software in any sense should be without it.



>The FORMATTING element is one of:
>End of line
>break beam

How do you handle principal beams? ie

-------------------
--------   --------
|   |  |   |   |  |
|   |  |   |   |  |
|   |  |   |   |  |

I didn't, but I didn't think ABC did either. For completeness, it would be nice to specify, in case ABC version 3.0 handles it, but that is starting to make my head hurt.

>The NOTE element contains:
>guitar chord unrecognized - arbitrary length string
>guitar chord recognized - root pitch (enum), type (enum), base note
(enum)
>gracings - enum
>bowing - enum
>staccato/legato - enum
>one or more stacked notes, containing:
>    grace notes - array of pitches

Distinction between acciaccatura and appoggiatura?

I'm afraid that question is beyond my musical depth.

See Gerou. It's the slash in the tail. The acciaccatura (with the slash) is a short crushed note (or more) inserted, the appoggiatura is a note which steals its complete length from the next note. Acciaccaturas are always 8th notes (or if there are many, 16th notes) whereas appoggiaturas can be any length. Quarter note ones are quite common.



How do you handle chords in grace notes?

I didn't think it was possible.

In piano music it's quite common. For instance a low octave (2 notes) in the left hand followed by a chord in both hands.


If there are multiple notes stacked, then
each one can have an independant set of grace notes.

>    start tie - bit field
>    end tie - bit field
>    start slur - bit field
>    end slur - bit field

What's a bit field? Is it just an array of 0..1? If so, I don't
understand how a "start tie" et al is a bit field.

Sorry about the terminology. I meant that those items can only have the value "true" or "false". They can be represented by a byte that only contains 0 or 1, or they can be represented by a particular bit that is packed with other short fields. It doesn't matter conceptually. It does matter if particular languages don't support bit fields.

OK


I was thinking that what is important in a tie or a slur is what note it starts on and what note it ends on.

And what position it's in. Head end, or stem end. Or even mid-stem. See Gerou.


The app would interpret a slur over
three notes like this:

Process note 1. Notice that the "start slur" bit is ON. Remember that.
Process note 2. Notice that the "end slur" bit is OFF. Keep looking.
Process note 3: Notice that the "end slur" bit is ON. Now we have the info
to draw the slur from note 1 to note 3.

And slurs within slurs? ie a slur within a long phrase mark?


This also allows a slur to start and stop on the same note.

What about the articulations: accent (>), tenuto, legato, staccato,
staccatissimo, martellato and don't forget these can be at the stem end
and the head end.

OK.

>I think the above is fairly complete.

What about 1st/2nd/3rd time endings for repeats. Coda sections and "DC
al fine" and such like.

1st/2nd endings are in the BAR object.

Coda and "DC al fine" and anything else you can think of like that should
probably also be in the bar object.

What about the type of binding between staves making systems? ie
brackets, simple line, brace, brace+bracket?

I didn't see anything in ABC that allowed multiple staves, so I didn't address that, although it bugged me. If we allow multiple staves we should allow a comment to appear before them, like having four staves marked "violin" "violin" "viola" "cello".

Multiple staves are fine in ABC2 and a lot of music has been written with then.



What about arpeggiando marks?

Caesura and commas.

Out of my depth, again, I'm afraid.

Arpeggiando: the twiddly vertical line before a chord indicating a spread chord. It can also have arrows on top or bottom.


Caesura is a // mark indicating a complete break in the flow of music. A comma (breath mark) is a brief pause. Again, Gerou is invaluable.


Note size (cue sized, grace notes, normal).

I guess that note shape, like using diamonds and x, also. I guess that should optionally be part of each note, and the default should be in the header.

Stave size (cue sized or normal)

Hmmm... I don't understand this one.

When you have (eg) a flute and piano work, then the flautist gets only his own part. The piano player typically gets his own part in normal size, and above it the flute staff in a smaller size. It's called "cue sized".



Fingerings.

I had suggested that under the note section. I don't think ABC supports it, but it would be nice to have.

>I suggest the following for indicating note length: Let's pick a small
value
>that is the shortest note length we support: perhaps a triplet of 1/64th
>notes. That would be indicated by 1. Then internally every length is a
>multiple of that.

That couldn't express a simple 64th note. It's 1.5 triplet 64ths.

iirc Midi uses 1/9600 of quarter note which is a fairly good idea since
it handles quintuplets perfectly. A better one is to use a multiple of
all the prime numbers up to about 29.

I like the MIDI solution. All reasonable lengths fit in 16 bits.

But sextuplets can't be handled except approximately.


But imo the best alternative is a pair of integers representing the
ratio from a given, such as a whole note. Eg 1,4 [=1/4] for a quarter or
triplets of 64th notes would be 2/192 (2/3 x 1/64) or of course 1/96 or
a triple-dotted quarter note would be 1/4*15/8 = 15/32.

This formulation might leave room for the distinction between a dotted
89th when in a triplet section and an actual 8th.

          3
  ===================
  |      ============
  |      |     |    |
  |      |     |    |
O.     O     O    O


... versus .....



              3
         ============
  |\     ============
  | \    |     |    |
  |      |     |    |
O      O     O    O


... versus ....


--- 3 ---- | | =================== | ============ | | | | | | | | O O O O

Or maybe it doesn't matter?

Now my head is really starting to hurt.

Whenever I see these obscure cases, I want to scream, "But this is for FOLK
music!" But I try to contain myself, because the more complete we make this,
the less likely the first person who tries to use this won't be frustrated.

If it's only folk music then ABC1 is absolutely fine and I wholeheartedly agree with you. But ABC2 seems to have the desire to go a lot further and I sincerely apologise for complicating matters, but I think it's important to have the limits defined.


(But even folk music is varied: Great Highland Bagpipe pipe music has grace notes in bunches all of 1/32nd notes [although I have recently been involved with older GHB music with dotted notes and other lengths in the bunches])

And of course the data structure is fundamental, which is why for a very long time I have been arguing for a string-based description with keywords I guess because that is extendable very easily. Once you set down a definition (say of note length) then you're stuck with it.


I wish I had more time to work on this. Thanks Remo for actually doing something! It will probably be done before I get a chance to roll up my sleeves.


--
Bernard Hill
Braeburn Software
Author of Music Publisher system
Music Software written by musicians for musicians
http://www.braeburn.co.uk
Selkirk, Scotland

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

Reply via email to