Re: [abcusers] AlphabetSoup output data structures

2004-05-14 Thread Phil Taylor
On 15 May 2004, at 01:21, Jack Campin wrote:
A cautionary note here - how _would_ your parser behave on discovering
it was asked to parse one of these 'illegal' constructs?
I'm in agreement with the point you're making but not with any of your
examples...

there is a significant number of existing tune files (with hundreds
of tunes) that have things like:
{a}(Gab)
gracenote outside a slur - (oh, but I thought a gracenote was a
decoration and so should be applied to the directly following note...)
This has a clear meaning if it's being played on a fiddle - change bow
direction after the gracenote and keep it going the same way through
the slurred notes.  And it's found in a lot of the 18th century sources
I've used (sometimes just to squeeze stuff into limited space, 
sometimes
with deliberate intention).
Yes, this is fairly commonplace in abc, and perfectly acceptable.

a > :: b
broken rhythm across a barline or repeat (oh, but I thought a broken
rhythm couldn't have intervening barlines...)
Nothing in any standard to prevent that that I know of, and it can make
the source more readable.  (No reason why the construct shouldn't cross
part boundaries, either, or have non-local meaning in the presence of
alternate repeat sections; it can get complicated but it's always well
defined).
We discussed that one here some time ago and decided that it ought to be
illegal.  Personally I don't think it does make the source more 
readable,
and it sure as hell does pose problems for the parser writer.


a > (bdc)
broken rhythm outside a slur. (oh, but... you get the idea...)
This is obviously legal and omitting it would make some kinds of
hornpipe bowing an unreadable mess.  See Honeyman's "Strathspey,
Reel and Hornpipe Tutor" for examples: he systematically slurs the
short note of a dotted pair to the following long one.  (However,
I have never put a space between a broken-rhythm marker and its
preceding note, as you did there; am I obeying a nonexistent rule?
I'd been thinking that "a 2" and "a > b" would cause equal problems
to parsers).
You have a choice as to whether the two notes are to be beamed together
or not (assuming they're less than a crotchet in length) so the space 
has
to be OK.  The slur is certainly legal.  Gracenotes would also be legal:
e.g. a{gc}>b as would a broken rhythm construct contained within a 
tuplet:
(3a>bc.  Broken rhythms are illegal between notes of different lengths:
a2>b (because the meaning of that is ambiguous) and therefore also 
illegal
where they cross a tuplet boundary: (3abc>d.


Doesn't really matter if _I_ think the abc standard doesn't allow
that, people have done it and have invested time and effort in
notating tunes that way.
We can say something stronger: usually they knew what they meant
by it and had consistent, understandable expectations of how ABC
software should interpret it.  Implementations need to go beyond
simply accepting such syntax, they need to handle its semantics.

|| I quote Gardner Read "Music Notation" page 69 "Intervals 
(involving
|| two note heads) or chords (three or more note heads) may use a 
single
|| stem to join all the notes as a unit provided they are of equal
|| value".
| 18th century music printers and 20th century editors of guitar 
music
| followed no such rule.
Just because some people don't follow a rule correctly doesn't mean
that it doesn't apply.
Rubbish.  The consequence of that attitude is that your software
doesn't apply to my music.  If Read's dogmas get in the way of
such a straightforward task as creating a type-facsimile of an
old-fashioned but instantly readable and unambiguous piece of staff
notation, they're roadkill.
I think the point to bear in mind here is that abc is not staff 
notation,
nor is it simply source code for programs which generate staff notation.
While in general it follows the rules of staff notation it is a separate
and distinct musical notation in its own right;  arguments based on what
is legal in staff notation are irrelevant when applied to abc.

abc can represent some musical constructs (e.g. chords with different 
length
notes) which staff notation cannot.  Another example is note-lengths;  
in
abc you can write A7/13;  it's legal and most abc players will play a 
note
of that length without demur, but it can't be represented (at least not
exactly) in staff notation.  It's a feature which makes abc capable of
representing un-quantised midi data, and is therefore potentially 
useful,
although it will cause problems for programs which produce staff 
notation.

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


Re: [abcusers] AlphabetSoup output data structures

2004-05-14 Thread Jack Campin
> A cautionary note here - how _would_ your parser behave on discovering 
> it was asked to parse one of these 'illegal' constructs?

I'm in agreement with the point you're making but not with any of your
examples...


> there is a significant number of existing tune files (with hundreds
> of tunes) that have things like:
> {a}(Gab)  
> gracenote outside a slur - (oh, but I thought a gracenote was a 
> decoration and so should be applied to the directly following note...)

This has a clear meaning if it's being played on a fiddle - change bow
direction after the gracenote and keep it going the same way through
the slurred notes.  And it's found in a lot of the 18th century sources
I've used (sometimes just to squeeze stuff into limited space, sometimes
with deliberate intention).


> a > :: b
> broken rhythm across a barline or repeat (oh, but I thought a broken 
> rhythm couldn't have intervening barlines...)

Nothing in any standard to prevent that that I know of, and it can make
the source more readable.  (No reason why the construct shouldn't cross
part boundaries, either, or have non-local meaning in the presence of
alternate repeat sections; it can get complicated but it's always well
defined).


> a > (bdc)
> broken rhythm outside a slur. (oh, but... you get the idea...)

This is obviously legal and omitting it would make some kinds of
hornpipe bowing an unreadable mess.  See Honeyman's "Strathspey,
Reel and Hornpipe Tutor" for examples: he systematically slurs the
short note of a dotted pair to the following long one.  (However,
I have never put a space between a broken-rhythm marker and its
preceding note, as you did there; am I obeying a nonexistent rule?
I'd been thinking that "a 2" and "a > b" would cause equal problems
to parsers).


> Doesn't really matter if _I_ think the abc standard doesn't allow
> that, people have done it and have invested time and effort in
> notating tunes that way.

We can say something stronger: usually they knew what they meant
by it and had consistent, understandable expectations of how ABC
software should interpret it.  Implementations need to go beyond
simply accepting such syntax, they need to handle its semantics.



>>|| I quote Gardner Read "Music Notation" page 69 "Intervals (involving
>>|| two note heads) or chords (three or more note heads) may use a single
>>|| stem to join all the notes as a unit provided they are of equal
>>|| value".
>>| 18th century music printers and 20th century editors of guitar music
>>| followed no such rule.
>> Just because some people don't follow a rule correctly doesn't mean
>> that it doesn't apply.

Rubbish.  The consequence of that attitude is that your software
doesn't apply to my music.  If Read's dogmas get in the way of
such a straightforward task as creating a type-facsimile of an
old-fashioned but instantly readable and unambiguous piece of staff
notation, they're roadkill.

-
Jack Campin: 11 Third Street, Newtongrange, Midlothian EH22 4PU; 0131 6604760
 * food intolerance data & recipes,
Mac logic fonts, Scots traditional music files, and my CD-ROM "Embro, Embro".
--> off-list mail to "j-c" rather than "abc" at this site, please <--


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


Re: [abcusers] AlphabetSoup output data structures

2004-05-14 Thread Wil Macaulay
been lurking for a while, but following this with interest.
A cautionary note here - how _would_ your parser behave on discovering 
it was asked to parse
one of these 'illegal' constructs?  I've been very busy lately loosening 
up Skink's parser based
on discovering that there is a significant number of existing tune files 
(with hundreds of tunes) that
have things like:

{a}(Gab)  

gracenote outside a slur - (oh, but I thought a gracenote was a 
decoration and so should be
applied to the directly following note...)

a > :: b
broken rhythm across a barline or repeat (oh, but I thought a broken 
rhythm couldn't have
intervening barlines...)

a > (bdc)
broken rhythm outside a slur. (oh, but... you get the idea...)
Doesn't really matter if _I_ think the abc standard doesn't allow that, 
people have done
it and have invested time and effort in notating tunes that way.

A software package that uses a palette of notes or menu selections to 
create tunes
can be specific about the output format that it uses to export abc, 
whereas a
package that expects people to use a text editor to write tunes will 
have to be
looser about its expectations.   The important thing is to have 
deterministic
behaviour, and to at least _allow_ the creation of music that 'follows 
the rules'

FWIW, Skink's parser is written in javacc, and has evolved over 4 years 
or so,
as I have learned more about how to write parsers - still needs loads of 
work.

wil
Kevin Lawton wrote:
Jack Campin <[EMAIL PROTECTED]> wrote:
 That's a standard rule of music. You can't put black and white
 notes
 on the same stem for instance.
||| Actually, this isn't a rule at all.   Music  printers  routinely
||| put
||| white and black note heads on the same stem.
|| I quote Gardner Read "Music Notation" page 69 "Intervals (involving
|| two note heads) or chords (three or more note heads) may use a single
|| stem to join all the notes as a unit provided they are of equal
|| value".
|
| 18th century music printers and 20th century editors of guitar music
| followed no such rule.
Just because some people don't follow a rule correctly doesn't mean that it
doesn't apply.
Whether that rule be in the rudiments of music or in the English language, a
rule is a rule and still should be applied.
Judging by the quality of some printed music, not all music publishers
follow the rules correctly. The result, of course, is confusion.
It is perfectly correct to write any number of notes on a stave, at any
intervals, which begin at the same time and have the same duration to share
the same stem. If a music software program fails in this respect, then that
is a deficiency in the music software and not in the rules of music.
|| Just how would you indicate a crotchet (quarter) note starting at the
|| same time as a quaver (8th) on the same stem?
|
| Usually you don't.  That wasn't what the original suggestion was.
| With
| minims and quavers there's no ambiguity.
The easiest and most common way to represent this, though not the only way,
while keeping within the rules is to show the interval or chord as a quaver
with the crotchet represented by a 'hanging' note - ie: by using a second
quaver for that note tied to the first, so that the note involved is written
as two tied quavers but is played and sounds as a crotchet. This can often
be seen in music written for instruments which are normally played
polyphonically - Piano, Organ, Harpsichord, Guitar or Lute.
Kevin.
  
To subscribe/unsubscribe, point your browser to: 
http://www.tullochgorm.com/lists.html
 

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


Re: [abcusers] AlphabetSoup output data structures

2004-05-14 Thread Kevin Lawton
Jack Campin <[EMAIL PROTECTED]> wrote:
 That's a standard rule of music. You can't put black and white
 notes
 on the same stem for instance.
||| Actually, this isn't a rule at all.   Music  printers  routinely
||| put
||| white and black note heads on the same stem.
|| I quote Gardner Read "Music Notation" page 69 "Intervals (involving
|| two note heads) or chords (three or more note heads) may use a single
|| stem to join all the notes as a unit provided they are of equal
|| value".
|
| 18th century music printers and 20th century editors of guitar music
| followed no such rule.

Just because some people don't follow a rule correctly doesn't mean that it
doesn't apply.
Whether that rule be in the rudiments of music or in the English language, a
rule is a rule and still should be applied.
Judging by the quality of some printed music, not all music publishers
follow the rules correctly. The result, of course, is confusion.
It is perfectly correct to write any number of notes on a stave, at any
intervals, which begin at the same time and have the same duration to share
the same stem. If a music software program fails in this respect, then that
is a deficiency in the music software and not in the rules of music.

|| Just how would you indicate a crotchet (quarter) note starting at the
|| same time as a quaver (8th) on the same stem?
|
| Usually you don't.  That wasn't what the original suggestion was.
| With
| minims and quavers there's no ambiguity.

The easiest and most common way to represent this, though not the only way,
while keeping within the rules is to show the interval or chord as a quaver
with the crotchet represented by a 'hanging' note - ie: by using a second
quaver for that note tied to the first, so that the note involved is written
as two tied quavers but is played and sounds as a crotchet. This can often
be seen in music written for instruments which are normally played
polyphonically - Piano, Organ, Harpsichord, Guitar or Lute.
Kevin.
   


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


Re: [abcusers] AlphabetSoup output data structures

2004-05-14 Thread Jack Campin
>>> That's a standard rule of music. You can't put black and white notes
>>> on the same stem for instance.
>> Actually, this isn't a rule at all.   Music  printers  routinely  put
>> white and black note heads on the same stem.
> I quote Gardner Read "Music Notation" page 69 "Intervals (involving
> two note heads) or chords (three or more note heads) may use a single
> stem to join all the notes as a unit provided they are of equal value".

18th century music printers and 20th century editors of guitar music
followed no such rule.

> Just how would you indicate a crotchet (quarter) note starting at the 
> same time as a quaver (8th) on the same stem?

Usually you don't.  That wasn't what the original suggestion was.  With
minims and quavers there's no ambiguity.

>> ABC has a somewhat more general representation of a "chord" of notes,
>> since  each note can have an arbitrary length.  But it has some other
>> limitations that aren't present in staff notation.  For  example,  in
>> guitar  (and  some  keyboard) music, you'll see notes with "dangling"
>> ties that don't lead to another note. This means "let it ring", which
>> can be done on those instruments.

[G,-C-E-Gce] [xxxB]
[G,-C-E-Gce] [zzzB]

both ought to represent ringing the three lower notes across both beats.
In BarFly this doesn't yet work right either on display or playback.

-
Jack Campin: 11 Third Street, Newtongrange, Midlothian EH22 4PU; 0131 6604760
 * food intolerance data & recipes,
Mac logic fonts, Scots traditional music files, and my CD-ROM "Embro, Embro".
--> off-list mail to "j-c" rather than "abc" at this site, please <--


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


Re: [abcusers] AlphabetSoup output data structures

2004-05-14 Thread Phil Taylor
On 14 May 2004, at 07:56, Martin Tarenskeen wrote:


I'm a user of MUP. There was a similar discussion some time ago about 
this
subject in the mup-users mailing list. Just like in abc in mup the 
notes
in a chord have to be of the same length, or else be in different 
voice.
Notes in a chord don't have to be all the same length in abc.  We've had
this discussion many times before.  The musical length of a chord (i.e. 
the
time interval until the next note starts) is determined by the length of
the first note in the chord.  Whether there is any software that 
implements
this is another matter, but the option is certainly there.
If a user wants to break such a rule a notation software could 
implement
the manual placement of noteheads, stems and other objects. In a
graphically orientated package like Score Perfect Pro (great program 
and
cheaper than Finale or Sibelius) this is easily done. It's also easy 
to do
other illegal things like putting 5 quarter notes in 4/4 bar.

In music notation languages like mup and abc this is much more 
difficult,
or close to impossible.
Where's your problem?  It's perfectly easy to put 5 crotchets in a 4/4 
bar
in abc.  To do so creates a sense of unease in the reader (is that a 
mistake
or did you really intend it?), but is perfectly playable.  Definately 
wrong,
though.

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


Re: [abcusers] AlphabetSoup output data structures

2004-05-14 Thread Martin Tarenskeen
On Fri, 14 May 2004, David Webber wrote:

> From: "John Chambers" <[EMAIL PROTECTED]>
> 
> > Actually, Gardner Read is the one who's mistaken here.  ;-)
> Musicians
> > can and do play chords on several instruments with notes
> terminating

> Gardner and Bernard are quite correct, and with good reason.
> 
> If one has, for example, a minim and a crotchet attached to the same
> stem, who is to say where the following note should be played - a
> crotchet later or a minim later?
> 

I agree. I guess a program like abc2midi would have serious problems 
interpreting such a situation. I think both musicians and software 
developers should learn how to notate music properly. There seems to be 
much misunderstanding about the difference between chords and polyphony.

I'm a user of MUP. There was a similar discussion some time ago about this 
subject in the mup-users mailing list. Just like in abc in mup the notes 
in a chord have to be of the same length, or else be in different voice.

If a user wants to break such a rule a notation software could implement 
the manual placement of noteheads, stems and other objects. In a 
graphically orientated package like Score Perfect Pro (great program and 
cheaper than Finale or Sibelius) this is easily done. It's also easy to do 
other illegal things like putting 5 quarter notes in 4/4 bar.

In music notation languages like mup and abc this is much more difficult, 
or close to impossible.
   
 -- 

Martin Tarenskeen


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


Re: [abcusers] AlphabetSoup output data structures

2004-05-13 Thread David Webber
From: "John Chambers" <[EMAIL PROTECTED]>

> Actually, Gardner Read is the one who's mistaken here.  ;-)
Musicians
> can  and do play chords on several instruments with notes
terminating
> at different times. Publishers can and do print music with note
heads
> of different lengths on the same stem.  Mr. Read can't prevent
either
> of these practices.

I can't stop someone spelling "infinite" as "infinate" and
apparently lots of people do.   This is not a reason to copy them,
encourage the practice, or have it added to dictionaries.

Gardner and Bernard are quite correct, and with good reason.

If one has, for example, a minim and a crotchet attached to the same
stem, who is to say where the following note should be played - a
crotchet later or a minim later?

>.It  makes
little  sense  to  tell  authors  or  customers  that you won't
print
representations of some music because you think that  such  music
is
illegal.  They'll just give you a funny look.<

If you were to copy a passage in which the (non) word "infinate" had
been written and did not change it to "infinite", I suspect you'd
get funnier looks than if you wrote it out correctly.

If you just want to copy the graphic image of music, then a
photocopier is a better tool than abc.

Dave
David Webber
Author MOZART the music processor for Windows -
http://www.mozart-music-software.com
For discussion/support see
http://www.mozart-music-software.com/mzusers/mailinglist.htm






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


Re: [abcusers] AlphabetSoup output data structures

2004-05-13 Thread Bernard Hill
In message <[EMAIL PROTECTED]>, John Chambers 
<[EMAIL PROTECTED]> writes
Bernard Hill writes:
| In message <[EMAIL PROTECTED]>, John Chambers
| <[EMAIL PROTECTED]> writes
| >Bernard Hill writes:
| >| That's a standard rule of music. You can't put black and white notes on
| >| the same stem for instance.
| >
| >Actually, this isn't a rule at all.   Music  printers  routinely  put
| >white and black note heads on the same stem. They also put dots after
| >some of the note heads and not others.  You see this all the time  in
| >keyboard  and guitar music, where damping individual notes in a chord
| >is fairly easy.  You also see it in choral music, where one voice can
| >continue after others stop.
|
| You are mistaken. I quote Gardner Read "Music Notation" page 69
| "Intervals (involving two note heads) or chords (three or more note
| heads) may use a single stem to join all the notes as a unit provided
| they are of equal value".
Actually, Gardner Read is the one who's mistaken here.  ;-) Musicians
can  and do play chords on several instruments with notes terminating
at different times.
Of course! But they are not notated on the same stem! They have stems up 
and stems down when they are different lengths.

Publishers can and do print music with note heads
of different lengths on the same stem.  Mr. Read can't prevent either
of these practices.  It's not contrary to law in any country  that  I
know  of, and there's no way to prosecute a musician or publisher who
commits such acts of musical disobedience.
We are talking "rules", not "laws".
| Just how would you indicate a crotchet (quarter) note starting at the
| same time as a quaver (8th) on the same stem?
You can't.  That's why I said that there were "defect in the physical
representation"  in  traditional  staff  notation.  But you can put a
white and black note head on the same stem,  and  you  can  put  dots
after  some  but  not  all of the note heads.  In keyboard and guitar
music, this isn't at all unusual.  I'd agree that there is usually  a
better  way  to  write  it,  but this doesn't have much effect on the
publisher of the page in front of me.
All I can say is that I have only ever seen one example of that. 
(Beethoven 5th symphony, last movt, violins have a 4-note chord in which 
the top is a half note. It is notated that way because to make the black 
notes stem down would imply a divisi for that note)

| If you require different note lengths to be started simultaneously then
| you cannot use one stem, and normal practice is to have one with stems
| up and one with stems down. If there are 3 such then 3 stems are
| required, the 3rd being offset a small distance from the other two.
This is another solution to the notational  problems.   Sometimes  it
works  well,  though it's easy to construct cases where the result is
quite unreadable.  Many guitarists could demo such cases with  a  few
seconds  thought.   I'd say that this is usually the better solution,
but again that isn't going to convince  a  publisher  who  has  never
heard of me.
| I have a number of books which indicate that it's a rule. I merely chose
| the most popular to quote from.
Yeah, well, you can print anything in a book.  What that really  says
is what the author(s) though was acceptable musical practice. But I'd
bet that few music publishers would enforce such "rules".   It  makes
little  sense  to  tell  authors  or  customers  that you won't print
representations of some music because you think that  such  music  is
illegal.  They'll just give you a funny look.
The best book is Kurt Stone, Music Notation in the 20th century because 
(he claims) it's been compiled with the help of the main publishers and 
writers of music.

| >It's also fairly  common  to  have  a  (dotted)  whole  note  aligned
| >vertically  with  notes  on  a  stem,  though  there are some obvious
| >limitations on where you can do this.
|
| Since it doesn't have a stem the question doesn't arise. But if it were
| in the middle of a chord of say quarter notes then it would be offset
| slightly to give a gap between the whole note and the others.
Indeed.  Then you run into the problems of getting the printing  done
accurately  enough  that what was intended is clear.  The guys who do
the engraving have a way of "correcting" such obvious "errors" as not
attaching  a note head to the stem.  Printing artifacts can also have
interesting effects on what comes out on the page.
| >Also, it's fairly common to have some (but not  necessarily  all)  of
| >the notes on a stem have ties to a continuation note.
|
| True. I have no problem with that.
Indeed, that's  often  a  better  solution  than  attempting  to  put
different  note  heads  on  the  same  stem.
Yes, that's a technique I would use if I had a piano chord which was to 
be released gradually a note at a time from the bottom end, say.

Successive chords, each
missing one of the notes in the previous chords, and ties  connecting
the  held  notes.  It lo

Re: [abcusers] AlphabetSoup output data structures

2004-05-13 Thread John Chambers
Bernard Hill writes:
| In message <[EMAIL PROTECTED]>, John Chambers
| <[EMAIL PROTECTED]> writes
| >Bernard Hill writes:
| >| That's a standard rule of music. You can't put black and white notes on
| >| the same stem for instance.
| >
| >Actually, this isn't a rule at all.   Music  printers  routinely  put
| >white and black note heads on the same stem. They also put dots after
| >some of the note heads and not others.  You see this all the time  in
| >keyboard  and guitar music, where damping individual notes in a chord
| >is fairly easy.  You also see it in choral music, where one voice can
| >continue after others stop.
|
| You are mistaken. I quote Gardner Read "Music Notation" page 69
| "Intervals (involving two note heads) or chords (three or more note
| heads) may use a single stem to join all the notes as a unit provided
| they are of equal value".

Actually, Gardner Read is the one who's mistaken here.  ;-) Musicians
can  and do play chords on several instruments with notes terminating
at different times. Publishers can and do print music with note heads
of different lengths on the same stem.  Mr. Read can't prevent either
of these practices.  It's not contrary to law in any country  that  I
know  of, and there's no way to prosecute a musician or publisher who
commits such acts of musical disobedience.

| Just how would you indicate a crotchet (quarter) note starting at the
| same time as a quaver (8th) on the same stem?

You can't.  That's why I said that there were "defect in the physical
representation"  in  traditional  staff  notation.  But you can put a
white and black note head on the same stem,  and  you  can  put  dots
after  some  but  not  all of the note heads.  In keyboard and guitar
music, this isn't at all unusual.  I'd agree that there is usually  a
better  way  to  write  it,  but this doesn't have much effect on the
publisher of the page in front of me.

| If you require different note lengths to be started simultaneously then
| you cannot use one stem, and normal practice is to have one with stems
| up and one with stems down. If there are 3 such then 3 stems are
| required, the 3rd being offset a small distance from the other two.

This is another solution to the notational  problems.   Sometimes  it
works  well,  though it's easy to construct cases where the result is
quite unreadable.  Many guitarists could demo such cases with  a  few
seconds  thought.   I'd say that this is usually the better solution,
but again that isn't going to convince  a  publisher  who  has  never
heard of me.

| I have a number of books which indicate that it's a rule. I merely chose
| the most popular to quote from.

Yeah, well, you can print anything in a book.  What that really  says
is what the author(s) though was acceptable musical practice. But I'd
bet that few music publishers would enforce such "rules".   It  makes
little  sense  to  tell  authors  or  customers  that you won't print
representations of some music because you think that  such  music  is
illegal.  They'll just give you a funny look.

| >It's also fairly  common  to  have  a  (dotted)  whole  note  aligned
| >vertically  with  notes  on  a  stem,  though  there are some obvious
| >limitations on where you can do this.
|
| Since it doesn't have a stem the question doesn't arise. But if it were
| in the middle of a chord of say quarter notes then it would be offset
| slightly to give a gap between the whole note and the others.

Indeed.  Then you run into the problems of getting the printing  done
accurately  enough  that what was intended is clear.  The guys who do
the engraving have a way of "correcting" such obvious "errors" as not
attaching  a note head to the stem.  Printing artifacts can also have
interesting effects on what comes out on the page.

| >Also, it's fairly common to have some (but not  necessarily  all)  of
| >the notes on a stem have ties to a continuation note.
|
| True. I have no problem with that.

Indeed, that's  often  a  better  solution  than  attempting  to  put
different  note  heads  on  the  same  stem.  Successive chords, each
missing one of the notes in the previous chords, and ties  connecting
the  held  notes.  It looks more cluttered, but it's probably clearer
and more readable.

| >ABC has a somewhat more general representation of a "chord" of notes,
| >since  each note can have an arbitrary length.  But it has some other
| >limitations that aren't present in staff notation.  For  example,  in
| >guitar  (and  some  keyboard) music, you'll see notes with "dangling"
| >ties that don't lead to another note. This means "let it ring", which
| >can be done on those instruments.
|
| Again, I've no problems with that.

But how do you represent it in ABC? I wonder if it might be useful to
introduce  a rule to the effect that if a note is followed by '-' but
there's no matching note  in  the  next  "chord",  then  the  tie  is
dangling.   Of course, this would clash with the not-unusual practice
of u

Re: [abcusers] AlphabetSoup output data structures

2004-05-13 Thread Bernard Hill
In message <[EMAIL PROTECTED]>, John Chambers 
<[EMAIL PROTECTED]> writes
Bernard Hill writes:
| In message <[EMAIL PROTECTED]>, Neil
| Jennings <[EMAIL PROTECTED]> writes
| >Or, perhaps, by having a note object contain a list of (zero or
| >more) pitch objects rather than just one pitch value. A noteobject
| >with a duration and no pitch objects would, of course, be a rest.
| >
| >The problem with this is that the duration would be the same for all
| >notes within the object
|
| That's a standard rule of music. You can't put black and white notes on
| the same stem for instance.
Actually, this isn't a rule at all.   Music  printers  routinely  put
white and black note heads on the same stem. They also put dots after
some of the note heads and not others.  You see this all the time  in
keyboard  and guitar music, where damping individual notes in a chord
is fairly easy.  You also see it in choral music, where one voice can
continue after others stop.
You are mistaken. I quote Gardner Read "Music Notation" page 69 
"Intervals (involving two note heads) or chords (three or more note 
heads) may use a single stem to join all the notes as a unit provided 
they are of equal value". There is much more on the placement of the 
stems in more complicated examples showing the fundamental avoidance of 
different notes length on the same stem.

Just how would you indicate a crotchet (quarter) note starting at the 
same time as a quaver (8th) on the same stem?

If you require different note lengths to be started simultaneously then 
you cannot use one stem, and normal practice is to have one with stems 
up and one with stems down. If there are 3 such then 3 stems are 
required, the 3rd being offset a small distance from the other two.

This is the practice in choral music or any music where two parts share 
one stave.
The  problem  is  that  standard  staff  notation  has  some  serious
limitations  on  what  note lengths can be combined on a single stem.
They all have to have the same number of flags,  for  instance.   But
this  isn't  really  a  "rule";  it's  just  a defect in the physical
representation.
I have a number of books which indicate that it's a rule. I merely chose 
the most popular to quote from.
It's also fairly  common  to  have  a  (dotted)  whole  note  aligned
vertically  with  notes  on  a  stem,  though  there are some obvious
limitations on where you can do this.
Since it doesn't have a stem the question doesn't arise. But if it were 
in the middle of a chord of say quarter notes then it would be offset 
slightly to give a gap between the whole note and the others.

Also, it's fairly common to have some (but not  necessarily  all)  of
the notes on a stem have ties to a continuation note.
True. I have no problem with that.
ABC has a somewhat more general representation of a "chord" of notes,
since  each note can have an arbitrary length.  But it has some other
limitations that aren't present in staff notation.  For  example,  in
guitar  (and  some  keyboard) music, you'll see notes with "dangling"
ties that don't lead to another note. This means "let it ring", which
can be done on those instruments.
Again, I've no problems with that.
--
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


Re: [abcusers] AlphabetSoup output data structures

2004-05-12 Thread Neil Jennings
All this is pretty much irrelevant. Within a polyphonic voice, notes are 
not necessarily related to other simultaneous notes by any of start time, 
end time or duration, therefore trying to put more than one pitch on a note 
object is not a solution.

At 02:08 AM 5/13/04, you wrote:
Bernard Hill writes:
| In message <[EMAIL PROTECTED]>, Neil
| Jennings <[EMAIL PROTECTED]> writes
| >Or, perhaps, by having a note object contain a list of (zero or
| >more) pitch objects rather than just one pitch value. A noteobject
| >with a duration and no pitch objects would, of course, be a rest.
| >
| >The problem with this is that the duration would be the same for all
| >notes within the object
|
| That's a standard rule of music. You can't put black and white notes on
| the same stem for instance.
Actually, this isn't a rule at all.   Music  printers  routinely  put
white and black note heads on the same stem. They also put dots after
some of the note heads and not others.  You see this all the time  in
keyboard  and guitar music, where damping individual notes in a chord
is fairly easy.  You also see it in choral music, where one voice can
continue after others stop.
The  problem  is  that  standard  staff  notation  has  some  serious
limitations  on  what  note lengths can be combined on a single stem.
They all have to have the same number of flags,  for  instance.   But
this  isn't  really  a  "rule";  it's  just  a defect in the physical
representation.
It's also fairly  common  to  have  a  (dotted)  whole  note  aligned
vertically  with  notes  on  a  stem,  though  there are some obvious
limitations on where you can do this.
Also, it's fairly common to have some (but not  necessarily  all)  of
the notes on a stem have ties to a continuation note.
ABC has a somewhat more general representation of a "chord" of notes,
since  each note can have an arbitrary length.  But it has some other
limitations that aren't present in staff notation.  For  example,  in
guitar  (and  some  keyboard) music, you'll see notes with "dangling"
ties that don't lead to another note. This means "let it ring", which
can be done on those instruments.
To subscribe/unsubscribe, point your browser to: 
http://www.tullochgorm.com/lists.html
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


Re: [abcusers] AlphabetSoup output data structures

2004-05-12 Thread John Chambers
Bernard Hill writes:
| In message <[EMAIL PROTECTED]>, Neil
| Jennings <[EMAIL PROTECTED]> writes
| >Or, perhaps, by having a note object contain a list of (zero or
| >more) pitch objects rather than just one pitch value. A noteobject
| >with a duration and no pitch objects would, of course, be a rest.
| >
| >The problem with this is that the duration would be the same for all
| >notes within the object
|
| That's a standard rule of music. You can't put black and white notes on
| the same stem for instance.

Actually, this isn't a rule at all.   Music  printers  routinely  put
white and black note heads on the same stem. They also put dots after
some of the note heads and not others.  You see this all the time  in
keyboard  and guitar music, where damping individual notes in a chord
is fairly easy.  You also see it in choral music, where one voice can
continue after others stop.

The  problem  is  that  standard  staff  notation  has  some  serious
limitations  on  what  note lengths can be combined on a single stem.
They all have to have the same number of flags,  for  instance.   But
this  isn't  really  a  "rule";  it's  just  a defect in the physical
representation.

It's also fairly  common  to  have  a  (dotted)  whole  note  aligned
vertically  with  notes  on  a  stem,  though  there are some obvious
limitations on where you can do this.

Also, it's fairly common to have some (but not  necessarily  all)  of
the notes on a stem have ties to a continuation note.

ABC has a somewhat more general representation of a "chord" of notes,
since  each note can have an arbitrary length.  But it has some other
limitations that aren't present in staff notation.  For  example,  in
guitar  (and  some  keyboard) music, you'll see notes with "dangling"
ties that don't lead to another note. This means "let it ring", which
can be done on those instruments.


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


Re: [abcusers] AlphabetSoup output data structures

2004-05-11 Thread Bernard Hill
In message <[EMAIL PROTECTED]>, Neil 
Jennings <[EMAIL PROTECTED]> writes
At 08:21 AM 5/9/04, you wrote:

   Or, perhaps, by having a note object contain a list of (zero or 
more) pitch objects rather than just one pitch value. A noteobject 
with a duration and no pitch objects would, of course, be a rest.

The problem with this is that the duration would be the same for all 
notes within the object
That's a standard rule of music. You can't put black and white notes on 
the same stem for instance.

However you can have stems up and down at the same point so a stem 
direction (or "part number") field would be appropriate for the chord 
object. [better term than "note object"]

--
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


Re: [abcusers] AlphabetSoup output data structures

2004-05-10 Thread Neil Jennings
At 08:21 AM 5/9/04, you wrote:

Or, perhaps, by having a note object contain a list of (zero or 
more) pitch objects rather than just one pitch value. A noteobject with 
a duration and no pitch objects would, of course, be a rest.

The problem with this is that the duration would be the same for all notes 
within the object

I'd like to reiterate what I'd suggested earlier, that an application 
processing a tune, whether converting it into sound or into sheet music, 
will want to obtain successive lists of the note objects that occur 
simultaneously across the voices.
Harmony does this by a free standing 'merge' function, which could, I 
suppose, be made into a method
Neil

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


Re: [abcusers] AlphabetSoup output data structures

2004-05-09 Thread Jerome Colburn
At 07:34 AM 5/5/04 +0100, Neil Jennings wrote:
Output format:
My program HARMONY has a set of classes which I would be prepared to offer 
as a starting point for discussion (but they are in VB at present).

It has a TUNE class, VOICE class and NOTE class
A TUNE can hold a number of VOICES
A Voice can hold a number of NOTEs, which are structured as a 
bidirectional linked list
(Notes include all musical items, including bars, time and key signatures, 
tempo, instrumentation etc)
NOTE methods include one to return the actual pitch of a note, as modified 
by the current key definition and any preceding accidentals in a bar.

The main restriction at present is that it cannot hold polyphonic voices, 
but this could be overcome by providing multiple threads within a voice.
Or, perhaps, by having a note object contain a list of (zero or more) pitch 
objects rather than just one pitch value. A note object with a duration and 
no pitch objects would, of course, be a rest.

I'd like to reiterate what I'd suggested earlier, that an application 
processing a tune, whether converting it into sound or into sheet music, 
will want to obtain successive lists of the note objects that occur 
simultaneously across the voices.

Such lists would, I suggest, be returned by a NoteIterator object that is 
constructed with a Tune object as parameter.

*
*  Jerome Colburn   (;-{=''',,,=*
*  [EMAIL PROTECTED]  *
*
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html