Re: [abcusers] AlphabetSoup output data structures
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
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 http://www.purr.demon.co.uk/jack * 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
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. snip To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] AlphabetSoup output data structures
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. snip 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
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: (3abc. Broken rhythms are illegal between notes of different lengths: a2b (because the meaning of that is ambiguous) and therefore also illegal where they cross a tuplet boundary: (3abcd. 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
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
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
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 using '-' rather than parens to get a
Re: [abcusers] AlphabetSoup output data structures
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 looks more cluttered, but it's probably
Re: [abcusers] AlphabetSoup output data structures
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
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
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
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