Re: [abcusers] (Attention please) - starting the new ABC draft
On Fri, 9 Nov 2001, Jack Campin wrote: This is what I thought I'd do: 1) study other notation languages carefully to see their approach and priorities; 2) if a feature is implemented by other notation languages (M-Tx, MUP, Lilypond, CMN, etc) and is desirable, then steal that feature using an ABC-compatible syntax; No. ABC is a *notation* not a notation language. You can't just add features because they do fun things with machines that generate pixels on paper, regardless of what they mean in terms of sound. Any new feature must take implementability on a player program into account. ab-so-lu-te-ly! While I don't see the big difference between the terms notation and notation language, don't worry: I'm thinking very high level, and I'm not going to specify anything in terms of printed vs. played. 3) if a feature has already been implemented by one or more applications, then give precedence to that particular implementation rather than reinventing a nicer but theoretical wheel; Only if that feature isn't so specific to that implementation's rationale or architecture that it would cause major headaches for fundamentally different implementations. sure. 4) if a feature is desirable but unimplemented by any ABC application, tough: insert it in the draft anyway. I think these need to be fenced off into a separate part of the document. good suggestion, I will. I would add: 5) Every proposed feature must be given a clear semantics directly in terms of audible phenomena or the mechanics of performance. That is, *no* new features of the let's add this cute squiggle variety. I'll need your help here. I'll state clearly what my musical background is, and what the fields are where I need other people's contributions. Later, Guido =8-) -- Guido Gonzato, Ph.D. gonzato at sci . univr . it - Linux system manager Universita' di Verona (Italy), Facolta' di Scienze MM. FF. NN. Ca' Vignal II, Strada Le Grazie 15, 37134 Verona (Italy) Tel. +39 045 8027990; Fax +39 045 8027958 --- Timeas hominem unius libri To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
[abcusers] blasphemy! A separate project...?
On Fri, 9 Nov 2001, Richard Robinson wrote: Another approach is to ignore all existing implementations and create an altogether new syntax. No, please no ! ! ! ! ! Well ... maybe this might be worth someone's while ? Being an altogether new syntax, it wouldn't be ABC; but we could migrate to it, if it works better ;-) But, it would be a separate, different, project. ha - caught you red-handed! ;-) Blasphemy! Another project...? Let me tell you the dark side of my ABC point of view: ABC is _very_ nice, but is _way_ too limited. It was designed with too little goals in mind. As a real-world musician, I want to tweak current ABC so that it can do my choral scores reasonably well. As a computer guy, I already have a new syntax ready that just waits to be put down on paper... I let you guess the reasons why I didn't put it down on paper. But if you're interested, wave your hand at me. Later, Guido =8-) -- Guido Gonzato, Ph.D. gonzato at sci . univr . it - Linux system manager Universita' di Verona (Italy), Facolta' di Scienze MM. FF. NN. Ca' Vignal II, Strada Le Grazie 15, 37134 Verona (Italy) Tel. +39 045 8027990; Fax +39 045 8027958 --- Timeas hominem unius libri To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] something really simple
Hello Anselm, Anselm Lingnau wrote: Q:Allegro Pretty quick Thus, a notation program could display something along the lines of Allegro (Pretty quick) the problem is that the tempo information may be a compilation of information for A) playback and display (that is the acctual standard) B) playback only (not possible in the acctual standard) C) display only (only possible as a really unsatifying hack in the actual standard) D) a chunk for display(only) and a chunk for playback(only) (not possible in the acctual standard) there are several reasons for this, most important to me is the transcribers request that information given in the source is passed on in the abc file. included in the topic is the separated proposal to allow program active textual tempo markers by the use of macros, maybe we can excluse this from the actual discussion since it seems to be quite common sense and does not directly touch the playback/display problem. the core problem is the impossibility of playback only (B) in the actual standard. the second the impossibility to have display only (C) in a way that the text in question is identified as tempo indication (relys on B) too !) the third the desire to have both in one (D), and this in a intuitive clear syntax. There is no way passing the fact that displayed and playback tempo indicaters are two totally different (but related) topics that both should be covered by abc. Leaving the display matters to the display programs alone as you sugest sounds intriguing and covers B) but failes to handle C) and D). The q: solution (extra field for displayed tempo indicaters) covers the identification of display only tempo indicaters (C) and with the support of an not display Q: option in the displaying programs that you sugested all possibilities could be handled. The SEPARATOR in this solution is a d: field plus an optional feature in the displaying programs. I do not like this solution much since it relies on program options which are not part of the standards syntax and its very likely that this causes misunderstandings by users, but for my purposes this would work if its covered by abc2ps. I would prefer a syntax that recognises whether Q: field info is for display and playback or just for playback. If so, I belive the just for display information *could* also be recongnised and be included here. If not it can be put into a q: field. Q:Allegro Pretty quick C:[Traditional] I would prefer not to use quotes as Separators as they are very common characters and cant see why they are better than square brackrets. under the stipulation that a tune would not have a `display speed' of 1/4=90 and a `playback speed' of 1/4=120, Its likely that exactly this is desired: One metronome number comes with the source and another is used for actuall playback. Simon Wascher - Vienna, Austria http://members.chello.at/simon.wascher/ To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] help
On Sat 10 Nov 2001 at 06:39PM +0100, Frank Nordberg wrote: Jack Campin wrote: The solution is to put everything inside a single pair of quotes with spaces between the individual chord symbols, such as: CCDEF|CE2 Dm7 G7D2|C F CC4|] How is a player program supposed to know how to time those chords? As far as I know, no playback program is able to interpret this at all. Multiple chord symbols on a single note is certainly yet another issue that could be adressed in a future version of the standard. You can do multiple chord symbols already in yaps with e.g. Dm7 G D2 The current standard implies that this is how it should be done. James Allwright To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] Special characters in PostScript
On Fri 09 Nov 2001 at 11:18AM -0600, Taral wrote: On Fri, Nov 09, 2001 at 09:47:25AM +, James Allwright wrote: Well, no-one has requested this, but I thought I'd post it all the same. This is my little bit of PostScript to insert sharp and flat symbols in a text string. It works, but the new symbols look out of place. I recommend using a font instead of this... the rendering engine is far better about making things look 'in place'. Also, overriding '#' and 'b' especially seems to be kind of over-the-top... better to create new symbols /sharp and /flat and let the user create appropriate encodings. If necessary, I'll code it up for anyone who wants. Yes please, I'd like to see how this approach works. There are no sharp and flat characters in the standard character sets for PostScript, so you need to get your own glyphs in there somehow. James Allwright To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] blasphemy! A separate project...?
Hello Guido, Guido Gonzato wrote: Let me tell you the dark side of my ABC point of view: ABC is _very_ nice, but is _way_ too limited. It was designed with too little goals in mind. As a real-world musician, I want to tweak current ABC so that it can do my choral scores reasonably well. As a computer guy, I already have a new syntax ready that just waits to be put down on paper... I let you guess the reasons why I didn't put it down on paper. But if you're interested, wave your hand at me. I also see the sometimes hurting limits of the abc standard as it is. the problem is that there is a real big pile of content that uses the actuall standard. I looked into my files, and found that the abc files I transcribed are a pile of about 3 MB (plain ASCII). Assuming that other peoples who are listed as large collections at the abc homepage also have big collections besides what is in the net right now we are talking of at least 60 MB of content (another approximation is to multiply the 14000 titles of the www abc index with an single tune size of about 20KB makes 280.000 KB ). So if an entirely new syntax appears how will this syntax interprete this pile ? what are your solutions? will you write an all plattform automatic conversion tool and is it sure that no part of thecontent gets lost in this process? I am honestly interested and my questions are not cynical. But there are serious problems that would be created by a new standard. Simon Wascher - Vienna, Austria PS: this big pile of content is why I belive that bachkwards compatability in files overrules backwards comatability in programs. http://members.chello.at/simon.wascher/ To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] developing the standard ......
Anselm Lingnau said - Nothing should go in the standard unless it has been proved that it is actually implementable with reasonable effort. This may mean that sooner or later one might hit a dead end with some feature or other, but it will be much harder to get the standard fixed if the feature in question is already part of it, than to get the feature fixed *before* it goes into the standard. Of course if implementors insist that once they have implemented something then it must absolutely stay the way it is, then this approach doesn't work. However I think there is merit in trying things on a strictly experimental basis without encouraging users to base their multimegabyte ABC archives on those particular features that are being tested. There is no "sooner or later" or about it. This is what is already happening. A notable example being the V: command. There is a sort of Catch 22 which says "Well I have to try it out to see if it works" followed by "I've put all that work into it and my users like it so I'm not taking it out now." I don't think we can stop developers innovating but can we get them to at least keep everybody else informed and modify what they are doing if there is a clash? Phil Taylor recently said - Before you start work, download BarFly, MUSE, Melody Assistant and all the other programs which you don't normally use. Read the documentation and use the programs until you know what they are capable of. The wrong way round I feel. Surely it is the responsibility of developers to keep the rest of the community informed of their innovations; not just just in their own documentation but in some central easily accessible place. Bryan Creer
Re: [abcusers] something really simple
I think that I am now in favour of syntax that allows this: Any lines containing % are meta-comments meaning that they are just me talking to you about the example and would not be part of the example - though I guess they'd be legal as comments anyway Q:1/4=120 Allegro % Outside any header. Defines Allegro. No display, just remember . Q:3/8=160 Running % Defines Running X:12 Q:Allegro %Display Allegro, play at 1/4=120 X:13 Q:3/8=100 % display either 3/8=100 or preferably dotted-crotchet symbol=100 Q:Allegro ma non troppo %Display that lot. Play at default rate since there is nothing recognisable for a player program to use Q:Alegro % Same again. Spelling errors are not tolerated! Q: Allegro % but the odd space is OK, play 1/4=120 Q: running % and so is change of case. Play 3/8=160 Q: 3/8=100 - % Special case. A single minus sign means no display Q:1/4=110Andante % Two points here. Firstly no SEPARATOR character is required. Secondly if this is between X: (or T: with a missing X: ???) and the next blank line then it does NOT define Andante for future use, it just prints it. Any command EITHER defines a symbol OR causes an action, not both. Outside a header/tune it defines, inside it causes action. In this case the action is to set the speed to 1/1=110 and print Andante. Q:60 Andante %SYNTAX ERROR! Only the preferred form of the tempo syntax may be used with the new extensions. Deprecated old versions must be complained about. Q: Allegro 1/4=120 % Display that lot, play at default rate. Numbers come first. That last one is probably the most objectionable but I don't see any easy line between that and Jack's pull the tempo string out from wherever you find it. It's an implementor's can of worms and worse - if some programmer did hack up something that sort of works for some cases it would be a blasted nightmare. Formal syntax can be cooked up easily, but i'm not sure it will aid discussion at this stage. PRO: Allows definition and later use (this has its pros and cons but it seems to be part of abc, even though I personally don't like it) PRO: Not too hard to implement PRO: Allows printable version only, allows display version only, allows both. CON: More restrictive that Jack's idea In order to make progress - I feel that we need an Approval voting scheme. English spelling has never been reformed because although many people agree that the current version is stupid they can't agree on which of many alternatives to go with, even though almost any of them would be a great improvement. So if you reckon that a particular scheme is ACCEPTABLE, even though you might PREFER a different scheme, (whether slightly different or very different), please ... SAY WHEN YOU FEEL A SCHEME IS ACCEPTABLE whether or not it is ideal. We have to start collecting YES votes if we are going to go forward. Unconstrained discussion tends to look like NO votes. For instance if you feel that it would be better with £ as a delimiter (that was an English pound sign) then if you merely say that, then it looks like you are arguing and not agreeing. If you actually feel that any delimiter or no delimiter is acceptable, but you have a preference for £ then make sure you say that. At the risk of repeating myself: We have to start getting YES votes to go forwards. Laurie To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] blasphemy! A separate project...?
Guido Gonzato said - As a computer guy, I already have a new syntax ready that just waits to be put down on paper... I let you guess the reasons why I didn't put it down on paper. But if you're interested, wave your hand at me. Might be a good idea Guido. It would take the pressure of a simple system that is already groaning at the seams trying to cope with everything everybody is throwing at it. I was toying with the idea of going the opposite way and coming up with a definition for abc lite or perhaps acbxp (exchange protocol) based solely on the principle of exchanging relatively simple musical and documentary information regardless of the use to which it would be put. Anybody interested? Bryan Creer
Re: [abcusers] developing the standard was:Re: [abcusers] (Attention please) - starting the new ABC draft
Anselm Lingnau wrote: [EMAIL PROTECTED] (Phil Taylor) writes: One thing I might suggest though. If we do get a new draft standard out of this, please developers DON'T WRITE A LINE OF CODE UNTIL A VOTE HAS BEEN TAKEN AND THE STANDARD BECOMES OFFICIAL. Writing code sets the mistakes in stone; we have to be sure that there are no serious mistakes in what is proposed, and if that requires very prolonged discussion so be it. Actually I think this is the wrong way round. Nothing should go in the standard unless it has been proved that it is actually implementable with reasonable effort. You must always begin with the idea of an ideal world, Anselm! I'd say the best way of working would be: first we find out exactly what we really want, then we see if it's actually possible and make the modifications required by reality (that is the limitations of programming languages), *then* we drag out the stone tablets and write it down for eternity. Frank Nordberg http://www.musicaviva.com To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] blasphemy! A separate project...?
Guido Gonzato wrote: As a computer guy, I already have a new syntax ready that just waits to be put down on paper... Does anybody have any idea how many ascii based music notation formats there are? I mean if we're talking about a brand new standard, we ought to have a look at the full picture, not just abc. Simon Wascher wrote: (another approximation is to multiply the 14000 titles of the www abc index with an single tune size of about 20KB makes 280.000 KB ). Actually the www abc index is too outdated to be of much value here. I know of individual sites with more than 14 000 tunes each. It's hard to estimate the total number of abc tunes out on the web, but it's certainly more than 50 000 and probably far more than 100 000. Frank Nordberg http://www.musicaviva.com To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] blasphemy! A separate project...?
Simon Wascher [EMAIL PROTECTED] writes: I looked into my files, and found that the abc files I transcribed are a pile of about 3 MB (plain ASCII). Assuming that other peoples who are listed as large collections at the abc homepage also have big collections besides what is in the net right now we are talking of at least 60 MB of content (another approximation is to multiply the 14000 titles of the www abc index with an single tune size of about 20KB makes 280.000 KB ). I would say that much of this material is such that it can use the current ABC definition till kingdom comes -- `Celtic' folk music and other one-melody-line-plus-chords stuff. At least this applies to the several megabytes of ABC-notated music on my machine. It seems that therefore a great portion of that corpus will never have to be translated into another representation. If people do come up with a new notation that is better for multivoice music, complicated classical scores etc. then by all means use that for those kinds of music. I for one am quite happy with ABC the way it is because it fits my requirements pretty much perfectly (with some tweaking which could be made unnecessary without throwing all of ABC out the window). Any completely-new notation had better be as simple as ABC for my uses before I personally am going to jump ship. Mind you, I'm all in favour of updating the ABC standard but not if new functionality is invented wholesale. Let's try and bring the various implementations together and build from there. So if an entirely new syntax appears how will this syntax interprete this pile ? what are your solutions? will you write an all plattform automatic conversion tool and is it sure that no part of thecontent gets lost in this process? I'm sure something could be worked out. A conversion tool doesn't necessarily have to work on all platforms -- there could be a Web-based conversion service for those who cannot or will not run, e.g., Perl locally to convert their files. Anyway, if a backwards-incompatible version of the ABC language (rather than something entirely new and separate) is agreed upon then there should be a way of tagging new-style files so that ABC processing software can still work with both flavours without having to guess. We could do it XML-style so that the first line of a file (or tune?) reads %%ABC version=2.0 (and this would also be the natural place to put `encoding=utf-8' and such-like if desired). Anselm To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] something really simple
On Mon 12 Nov 2001 at 12:58PM +0100, Frank Nordberg wrote: I know I sometimes expect too much from the programmers. Like so many non-programmers I tend to view them as some kind of magicians always ready to pull a handful of miracles out of their sleeve. If you tell me you can't do it this time, I guess I just have to accept that. But at least give it a serious try! Please! :-) What programmers cannot do is re-write applications retrospectively. Adding new syntax that is incompatible with the old syntax causes hassles for everyone who uses abc. That is why it important for new ideas to make use of existing syntax and be added in harmoniously if at all possible. Rather than propose specific syntax, maybe you need to be saying I'd like this new feature, what syntax do we need to support it? . James Allwright To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
what should be content of abc files, was: Re: [abcusers] something really simple
Hello, Anselm Lingnau wrote: This is purely a presentation issue and does not pertain to the actual ABC standard, which should describe the contents of ABC files. It is simply not true that the abc standard does not contain presentation issues. Even the question which clef to use is purely optical and does not change one bit of the music. It is not trivial to tell where music ends and side information beginns. And as a transcriber of historical sources it is often very important to cover some side information within the exchangeable file, not just in the printed output (for file exchange). This non musical information does influence the musicans output and therefore is in a way part of the music. Abc formatting would be worthless to transcribers if it is limited to pure audible phaenonenons. I understand that you are not interested in these aspects of music notation, and I can tell you that I am working hard that you will never come accross those features you do not need, simply do not use them and never read the readme file description on those features. I am very much concerned that simple abc remains simple but in the same time please accept that other people do expand features you never heard of and never will use. simon -- Simon Wascher - Vienna, Austria http://members.chello.at/simon.wascher/ 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] something really simple
In these examples it is easy to extract the tempo - but only because the non-tempo part has been restricted to a single word followed by a space. I can scan for a space in lots of simple ways (I gave two in an earlier mail). What can not be done so easily is to extract a tempo string from somewhere in a line of text that may or may not actually contain one. e.g. Q:Allegro ma non troppo 1/4 = 120 Q: Like movement 1 (1/4=110) but slightly slower Q:Like the first 1/2 1/2=120 Q: Like the first 1/21/2=120 Q:Like the 1/4=120 part but a but in 6/8 time 3/8=120 Q: Like the first 1/2 Q: Slow then getting quicker the first 1/2 about 80 but by the last 1/4 about 140 Q: Slow then quicker, 1st 1/2 = 80, last 1/4 = 140 Q: Parts A and B =120, C=140 and so on and so on. The reason I proposed having the formal bit first and the free format bit last was to eliminate the problem of having to parse inside the free format stuff. Instead we can just scan for line-end. Incidentally I do still do the odd magic trick. Making a pack of cards all (seem to) change colour is one of my favourites. :-) Laurie - Original Message - From: Frank Nordberg [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, November 12, 2001 11:58 AM Subject: Re: [abcusers] something really simple Simon Wascher wrote: my *exemplary* proposal for a separator was not % but %%display or %display (the second can be ruled out by reason of keeping the standards syntax stringent). OK, now have a look at this: Example 1 Displayed tempo: Allegro 1/4=120 Playback tempo: 1/4=120 Q:Allegro 1/4=120 or: Q:1/4=120 %%display Allegro 1/4=120 --- Example 2 Displayed tempo: Allegro Playback tempo: 1/4=120 Q:Allegro [1/4=120] or: Q:1/4=120 %%display Allegro Example 3 Displayed tempo: Allegro Playback tempo: determined by an external definition of Allegro Q:Allegro or: Q:Allegro %%display Allegro --- Now, tell me exactly ow much more difficult it would be for a playback program to interpret the first alternative (the one without the %%display). Remember that the first alternative has a few minor advantages: *It's more human-readable. *It's easier to understand for a non-programmer. *It'll require a shorter text string - sometimes far shorter. *It retains the connection between displayed and played tempo. *It is completely backwards compatible on file level, that is files that are written according to the old abc standard are played and displayed exactly the same way they as they were. I know I sometimes expect too much from the programmers. Like so many non-programmers I tend to view them as some kind of magicians always ready to pull a handful of miracles out of their sleeve. If you tell me you can't do it this time, I guess I just have to accept that. But at least give it a serious try! Please! :-) Frank Nordberg http://www.musicaviva.com 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] developing the standard ......
Actually the latest round of V: discussion that I remember reading contained an example which was acceptable to BarFly together with a conjecture that Muse probably wouldn't like it, but in fact it was quite acceptable to Muse. I believe that in fact there is a large common subset. (In this case I think Muse is a bit more generous because Muse digests the whole file and translates it into an internal format whereas BarFly formats the bars on the fly as it were and so has what is sort of equivalent to the usual sort of "one pass" syntax restrictions. Laurie - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, November 12, 2001 10:52 AM Subject: Re: [abcusers] developing the standard .. Anselm Lingnau said - Nothing should go in the standard unless it has been proved that it is actually implementable with reasonable effort. This may mean that sooner or later one might hit a dead end with some feature or other, but it will be much harder to get the standard fixed if the feature in question is already part of it, than to get the feature fixed *before* it goes into the standard. Of course if implementors insist that once they have implemented something then it must absolutely stay the way it is, then this approach doesn't work. However I think there is merit in trying things on a strictly experimental basis without encouraging users to base their multimegabyte ABC archives on those particular features that are being tested. There is no "sooner or later" or about it. This is what is already happening. A notable example being the V: command. There is a sort of Catch 22 which says "Well I have to try it out to see if it works" followed by "I've put all that work into it and my users like it so I'm not taking it out now." I don't think we can stop developers innovating but can we get them to at least keep everybody else informed and modify what they are doing if there is a clash? Phil Taylor recently said - Before you start work, download BarFly, MUSE, Melody Assistant and all the other programs which you don't normally use. Read the documentation and use the programs until you know what they are capable of. The wrong way round I feel. Surely it is the responsibility of developers to keep the rest of the community informed of their innovations; not just just in their own documentation but in some central easily accessible place. Bryan Creer
Re: [abcusers] something really simple
That would be acceptable. Actually I proposed that instead of having to write it twice it would be done the other way. If the text of the displayed tempo is a single minus sign then it has the special meaning display nothing Q:1/4=80 %display 1/4=80 and use it for the player program too Q:1/4=80 - %change the tempo on playback but display nothing here. Q:1/4=80 dreary % display dreary, use 1/4=80 for playback. I would also be quite happy with a SEPARATOR (I prefer the word delimiter) e.g. Q:1/4=80 %display that and use it for the player program too Q:1/4=80: %change the tempo on playback but display nothing here. Q:1/4=80: dreary % display dreary, use 1/4=80 for playback. and I'd be happy with pretty much any character as delimiter EXCEPT / (because it occurs in the tempo string and could cause confusion) = (same reason) [space] because it is likely to be found in the tempo string % (because it already has a legal meaning as start-of-comment) Jack, Frank (and other users) even if this isn't ideal, is it acceptable? Other programmers - is this as easy to implement as it seems to me? Laurie - Original Message - From: Simon Wascher [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, November 12, 2001 1:49 PM Subject: Re: [abcusers] something really simple Hello Laurie, I think maybe now we got it: The golden rule could be: If there is a n/n=n string right after the colon this will not be printed if it is followed by any other character. everething else is printed entirely. this restricts playback only fields to n/n=n what is acceptable, and implicates that in one certain case a part of the time string has to be writen twice: Q:n/n=n n/n=n (+ text ad libidum) %(important: the space after Q:n/n=n), displaying: n/n=n (+ text ad libidum) Simon :-) Laurie Griffiths wrote: I think that I am now in favour of syntax that allows this: Any lines containing % are meta-comments meaning that they are just me talking to you about the example and would not be part of the example - though I guess they'd be legal as comments anyway Q:1/4=120 Allegro % Outside any header. Defines Allegro. No display, just remember . Q:3/8=160 Running % Defines Running X:12 Q:Allegro %Display Allegro, play at 1/4=120 X:13 Q:3/8=100 % display either 3/8=100 or preferably dotted-crotchet symbol=100 Q:Allegro ma non troppo %Display that lot. Play at default rate since there is nothing recognisable for a player program to use Q:Alegro % Same again. Spelling errors are not tolerated! Q: Allegro % but the odd space is OK, play 1/4=120 Q: running % and so is change of case. Play 3/8=160 Q: 3/8=100 - % Special case. A single minus sign means no display Q:1/4=110Andante % Two points here. Firstly no SEPARATOR character is required. Secondly if this is between X: (or T: with a missing X: ???) and the next blank line then it does NOT define Andante for future use, it just prints it. Any command EITHER defines a symbol OR causes an action, not both. Outside a header/tune it defines, inside it causes action. In this case the action is to set the speed to 1/1=110 and print Andante. Q:60 Andante %SYNTAX ERROR! Only the preferred form of the tempo syntax may be used with the new extensions. Deprecated old versions must be complained about. Q: Allegro 1/4=120 % Display that lot, play at default rate. Numbers come first. That last one is probably the most objectionable but I don't see any easy line between that and Jack's pull the tempo string out from wherever you find it. It's an implementor's can of worms and worse - if some programmer did hack up something that sort of works for some cases it would be a blasted nightmare. Formal syntax can be cooked up easily, but i'm not sure it will aid discussion at this stage. PRO: Allows definition and later use (this has its pros and cons but it seems to be part of abc, even though I personally don't like it) PRO: Not too hard to implement PRO: Allows printable version only, allows display version only, allows both. CON: More restrictive that Jack's idea In order to make progress - I feel that we need an Approval voting scheme. English spelling has never been reformed because although many people agree that the current version is stupid they can't agree on which of many alternatives to go with, even though almost any of them would be a great improvement. So if you reckon that a particular scheme is ACCEPTABLE, even though you might PREFER a different scheme, (whether slightly different or very different), please ... SAY WHEN YOU FEEL A SCHEME IS ACCEPTABLE whether or not it is ideal. We have to start collecting YES votes if we are going to go forward. Unconstrained discussion tends to look like NO votes. For instance if you feel that it would be better with £ as a delimiter (that was an English pound sign) then if you merely say that, then it looks like you are arguing and not agreeing. If you
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] something really simple
Hello, Laurie Griffiths wrote: That would be acceptable. Actually I proposed that instead of having to write it twice it would be done the other way. If the text of the displayed tempo is a single minus sign then it has the special meaning display nothing Q:1/4=80 %display 1/4=80 and use it for the player program too Q:1/4=80 - %change the tempo on playback but display nothing here. Q:1/4=80 dreary % display dreary, use 1/4=80 for playback. Oh , we can have it the other way round, if the minus sign has the meaning: do not display whats before me. like Q:1/4=80 - dreary % display only dreary and use 1/4=80 for playback. If this is nearer to your idea of this I share it at once. Would make: (stated that the first identified active tempo indicator [numeral or textual] applies) Q:1/4=80 %display 1/4=80 and use it for the player program too Q:1/4=80 - %change the tempo on playback but display nothing here. Q:1/4=80 dreary % display 1/4=80 dreary, use 1/4=80 for playback. Q:1/4=80 - dreary % display only dreary and use 1/4=80 for playback. if textual tempo signs are defined (macros enabled): Q:adagio %display adagio and use it for the player program too Q:adagio - %change the tempo to adagio on playback but display nothing here. Q:adagio dreary % display adagio dreary, use adagio for playback. Q:adagio - dreary % display only dreary and use adagio for playback. if no textual tempo signs are defined (macros disabled), Q:adagio %display adagio and use default for the player program Q:adagio - %use default on playback and display nothing here. Q:adagio dreary % display adagio dreary, use default for playback. Q:adagio - dreary % display only dreary and use default for playback. makes for these examples: Q:Allegro ma non troppo 1/4 = 120 %works, either allegro or 1/4=120 Q: Like movement 1 (1/4=110) but slightly slower % will play 1/4=110 Q:Like the first 1/2 1/2=120 % works, will play 1/2=120 Q: Like the first 1/21/2=120 % will use default, is not clear in ascii too Q:Like the 1/4=120 part but a but in 6/8 time 3/8=120 %will play 1/4=120 Q: Like the first 1/2 % will use default Q: Slow then getting quicker the first 1/2 about 80 but by the last 1/4 about 140 %will use default Q: Slow then quicker, 1st 1/2 = 80, last 1/4 = 140 % will use 1/2=80 this is something new: a changing tempo. Wonder which player could handle this. Maybe we can start a new topic on this :o) . Q: Parts A and B =120, C=140 % will use default Simon Simon Wascher - Vienna, Austria http://members.chello.at/simon.wascher/ To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
[abcusers] ABC used as tablature
Another reason why BarFly's syntax for multiple voices can be useful. This may not be as readable as honest-to-god real tablature but it's still quite a bit easier than the original manuscript (which used letters for the frets rather than note names and a separate rhythm line). It was for the mandour, a sort of five-course ukelele. By using BarFly's text colouring capability you can make the x's less conspicuous (or colour them white and make them vanish entirely) which improves readability. The staff notation this generates isn't as good as if you'd written the ABC optimally for that, but it's usable. X:1 T:Adew Dundie S:Skene MS, early 17th century Scotland S:Dauney, Ancient Scotish Melodies (1843) V:1 program 1 46 down % a V:2 program 1 46 merge down % d V:3 program 1 46 merge down % A V:4 program 1 46 merge down % D V:5 program 1 46 merge down % A, M:3/4 L:1/4 Q:3/4=56 K:D Dorian V:1 x x x |x x x |x x x |x x x |a2c'|a2c'|a x x |x x x:| V:2 x d d |d2d |x x d |e g2 |x x x |x x x |x g e |d2x:| V:3 A x x |x x x |c2x |A2x |A2x |A2x |x x x |x x x:| V:4 x x x |D2x |x x x |x x x |x x x |x x x |x x x |D2D:| V:5 A, x x |x x x |C2x |x x x |x x x |x x x |x x x |x x x:| % V:1 a c' c'|c'2 c'|x x x |x x x |a d' d'|d'2 d'|d' c' b |a3 | V:2 x x x |x x x |x x d |e g2 |x x x |x x x |x x x |x x x | V:3 x x x |c2x |c2x |x x x |x x x |x x x |x x x |x x x | V:4 x x x |x x x |x x x |x x x |x x x |x x x |x x x |A3 | V:5 x x x |x x x |C2x |x x x |x x x |x x x |x x x |x x x | % V:1 a c' c'|c'2 c'|x x x |x x x |a2c'|a2c'|a x x |x x x|] V:2 x x x |x x x |x x d |e g2 |x x x |x x x |x g e |d3 |] V:3 x x x |c2x |c2x |x x x |A2x |A2x |A2x |x x x|] V:4 x x x |x x x |x x x |x x x |x x x |x x x |x x x |D3 |] V:5 x x x |x x x |C2x |x x x |x x x |x x x |x x x |x x x|] (Phil - your mode guessing utility gets this one badly wrong, and it seems fairly clear why). === http://www.purr.demon.co.uk/jack/ === To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: what should be content of abc files, was: Re: [abcusers] something really simple
Simon Wascher [EMAIL PROTECTED] writes: It is not trivial to tell where music ends and side information beginns. And as a transcriber of historical sources it is often very important to cover some side information within the exchangeable file, not just in the printed output (for file exchange). This non musical information does influence the musicans output and therefore is in a way part of the music. Abc formatting would be worthless to transcribers if it is limited to pure audible phaenonenons. Nobody says that ABC should be limited to `pure audible phenomena'. We do have repeat signs and so on which are not audible (at least not in a direct sense). However we should not try to define the meaning of the ABC notation in terms of playback and notation programs, but in terms of the musical ideas which are being transported. Saying in the standard that various bits of such-and-such a field must be displayed in such-and-such a way is a bad idea -- it is much better to say that the field *means* this-and-so in musical terms and leave it to the software authors to figure out what to do with that piece of information. This means that the information is all there in the file for anybody to look at it, but that the authors of ABC processing software have maximum flexibility to make use of it (or not). There is absolutely no need to clutter up an ABC tune with special notation that says whether `1/4=120' must be printed with a little quarter note or `1/4' or not at all, or to the top left or bottom right of the music or whatever, when it is a lot easier to put options like `PrintMetronomeMarking: true' in an ABC notation program's format file, or `--print-metronome-marking' on the command line, or a check box in an interactive dialog or whatever. As far as your `side information' is concerned that should only show up in the exchangeable file, not in the printed output: The ABC does provide the notion of `comments', i.e., lines that start with a `%'. I understand that you are not interested in these aspects of music notation, and I can tell you that I am working hard that you will never come accross those features you do not need, simply do not use them and never read the readme file description on those features. I am very much concerned that simple abc remains simple but in the same time please accept that other people do expand features you never heard of and never will use. Please don't second-guess me. I'm quite interested in seeing the ABC standard develop and improve, thank you very much. However we should try and avoid the mistakes that others have made, such as deliberately mixing presentation and content, and we should try to keep the notation as simple as possible. This is why I am in favour of Jack's proposal for tempo macros, and also why I like Phil Taylor's macro mechanism for decorations much more than the idea of inventing two hundred little special symbols within the ABC language just so the urtext of Bach's inventions can be represented in ABC. I am not prepared to accept the idea that the ABC language needs to be cluttered up, say, with magical end-of-line comments that have special meanings in some header fields just so something can be expressed which nobody really actually needs to begin with. Anselm To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] something really simple
Hello, nearer to an optimum than before :o) ( I know I should wait a moment and do it at once) here, Separator ideas (the -) and order ideas are integrated. Syntax for Q field after a definition by Laurie Grifiths (with Lauries use of the minus!) (follows after the standard Q:field definition) for setting the tempo, also textual tempo indicaters like allegro can be defined for a whole or part of a file, outside the tune before the tune header, or in an external macro file. Q:1/4=120 Allegro % Outside any header, defines Allegro The first tempo indicator that is identified in a Q:line will be used for playback. Example X:1 Q:andante if andante is defined as textual tempo indicator it will be used for playback, if not the default value is used, andante is displayed. Example X:1 Q:andante n/n=n if andante is defined as textual tempo indicator it will be used for playback, if not n/n=n is used for playback, the whole string is displayed: andante n/n=n. Example X:1 Q:n/n=n will playback n/n=n and display n/n=n Example X:1 Q:n/n=n andante will playback n/n=n and display n/n=n andante Only numeral tempo indicators of the n/n=n format are supported in this extended mode. Old versions of setting the tempo like Q:60 cannot be expanded, so Example: X:1 Q:60 Andante will be displayed as: 60 Andante if Andante is predefined as textual tempo indicator playback will use this, if not the default tempo will be used. (Q:60 - Andante would work!) The content of the Q: field is usually displayed by programs entirely but may contain separated playback and display information. To allow playback only information or some additive text for display, the following expanded syntax can be used. In the following example parts of the Q: filed are not displayed: A - (minus symbol) can be used to indicate that the part of the text that comes before it is not displayed. Example X:1 Q:n/n=n - andante will playback n/n=n and display andante Example X:1 Q:andante - gehend if andante is defined as textual tempo indicator it will be used for playback, otherwise gehend if defined, if not the default tempo is used for playback. gehend is displayed If no tempo indicator should be displayed but a playback tempo set this can be done using just the - after the tempo indicator: Example: X:1 Q:n/n=n - X:1 Q:andante - regards, Simon Simon Wascher - Vienna, Austria http://members.chello.at/simon.wascher/ 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] something really simple
Laurie Griffiths wrote: Jack, Frank (and other users) even if this isn't ideal, is it acceptable? That's easy: Acceptable: Anything that lets me write abc to display any imaginable tempo indication and play it back at a sensible speed. Ideal: Anything that lets me just write the tempo indication into the Q: field and forget about it. Frank Nordberg http://www.musicaviva.com To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
[abcusers] what clefs are available?
Am I correct in my reading of the documentation of ABC (I use the http://www.gre.ac.uk/~c.walshaw/abc/ site) that a clef indication is a commonly available extension to the K keyword, but is not part of the real 1.6 standard? I was just wondering if there was any way to indicate that the treble clef was transposed an octave, using the 8 indication above or below the G-clef symbol. It's not mentioned at all in the extensions section of Steve Mansfield's ABC tutorial, so I was wondering if it was just not available. (I also see I've stumbled on to the list at a time when there's much discussion about moving on to a new standard. I wish you all the best of luck with the process.) Thanks, Katy To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] something really simple
Simon Wascher [EMAIL PROTECTED] writes: Example X:1 Q:n/n=n N/N=N andante will playback n/n=n and display N/N=N andante so if a numeral tempo indicator is on the very beginning of such a string it must be written a second time for the display. If no tempo indicator should be displayed but a playback tempo set this can be done using a - after the numeral tempo indicator. I think this is much too complicated. I'm still waiting for you (or anybody) to explain why an ABC tune should contain one prescribed explicit metronome speed for display and another, different, prescribed explicit metronome speed for playback, and why this would be preferable to letting users set their own playback speeds `ad hoc', external to the ABC representation, with the ABC-provided speed as a (reasonable) default. Anselm -- Anselm Lingnau .. [EMAIL PROTECTED] Python is a truly wonderful language. When somebody comes up with a good idea it takes about 1 minute and five lines to program something that almost does what you want. Then it takes only an hour to extend the script to 300 lines, after which it still does almost what you want. -- Jack Jansen (1992) 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
Re: [abcusers] something really simple
Laurie Griffiths [EMAIL PROTECTED] writes: No!! I am very much against this. Although it may be convenient for writers of ABC it's horrid for readers. It makles it even harder to extract a tune and the probability would be very high that we should find orphan bits of ABC floating round with macros used but not defined. It's not as bad as all that. In the case of tempo specifications, a player program could always fall back to a list of standard speeds (like the ones given on a honest-to-goodness wind-up metronome) while outputting a warning to its user that the tempo specification is undefined. Notation programs are likely to output just the macro `name', anyway (like `Allegro'), so it doesn't really matter whether there is a speed associated with it or not. The nice thing about Jack's original proposal (which the silly discussion on `display' vs. `playback' speeds has managed to obscure quite thoroughly) is that it abstracts musical information (like `Allegro') from presentation issues and/or matters of taste/convention (like `1/4=120'). If implemented, it would, among other things, make it possible to control the tempo of a bunch of tunes without having to change the `Q:' line for every single one, which I find quite appealing. Anselm -- Anselm Lingnau .. [EMAIL PROTECTED] I think there is a world market for about five computers. -- Thomas J. Watson, CEO, IBM Corporation, 1947 To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] something really simple
Anselm Lingnau wrote: Simon Wascher [EMAIL PROTECTED] writes: Example X:1 Q:n/n=n N/N=N andante I think this is much too complicated. I'm still waiting for you (or anybody) to explain why an ABC tune should contain one prescribed explicit metronome speed for display and another, different, prescribed explicit metronome speed for playback, and why this would be preferable to letting users set their own playback speeds `ad hoc', external to the ABC representation, with the ABC-provided speed as a (reasonable) default. Anselm you have to decide: you say you find this feature unneccessary. OK. Lets say you are right, its completely impossible that someone needs that. So why bother about its syntax if you cannot imagine someone may need it ? either want it to be easier to use OR say nobody needs it. _the truth about syntax_ It is neccesary to encounter the edges of a choosen syntax to be able if it is stringent, search deeply for the worst cases it produces. This is how a syntax is developed. Every syntax has its dark corners and all we can do is turn the pockets around till we find the least important corner in our proposal to contain the blackest hole of our syntax. So here it is: Q:n/n=n N/N=N andante, dark and sinister but without any meaning in real life. (by the way I wrote more than once that I know what I want to use it for. And discribed it. I can live with the syntax, but I think I found a better one which I posted) Simon Simon Wascher - Vienna, Austria http://members.chello.at/simon.wascher/ To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
how to define textual header indicators was: Re: [abcusers] something really simple
Hello, Laurie Griffiths wrote: Simon slipped in the words external macro file. No!! I am very much against this. Although it may be convenient for writers of ABC it's horrid for readers. It makles it even harder to extract a tune and the probability would be very high that we should find orphan bits of ABC floating round with macros used but not defined. definable textual tempo indicaters were the start of this topic: Jack Campin wrote on 03Nov01: Okay: tempi in words. It ought to be possible to write Q:allegro in a tune header or [Q:allegro] in a tune body, and optionally define outside the tune (earlier in the same file or maybe in a separate settings file) what allegro might mean in numerical terms, with a line like this: Q:allegro 1/4=120 and till now nobody objected as far as I remember. in a separate settings file very much sounds like external macro. About yesterday evening (lokal time :-) ) I sugested to separate the play/display and the textual tempo indicater topics into two separate subjects as they are not really related. _Ok lets talk about where to define textual tempo indicaters_ Jacks first proposal was only to allow textual tempo indicaters (no playback, only display or maybe a playback definition whitin the program-package) no playback, only display is what you also get from a tune that is cut of from its macro files. A playback definition within a program is package dependend. After export, same result: no definition, just display and default in action. earlier in the same file as Jack also sugested ends up with the same problem at any export from the file, for example by the tunefinder. same result: no definition, just display and default in action. or maybe in a separate settings file as I mentioned sounds very much like external macro file I personally use the R: fields playback functions whith BarFly and never found them a problem. The text in the R:field has a meaning of its own if the tune is cut of from its macro file and so it would be with tempo indicators. Its true its not standard. So it must undergo discussion anyway. Simon PS: how do you like my actual proposal for the Q:field ? (besides the macro topic) -- Simon Wascher - Vienna, Austria http://members.chello.at/simon.wascher/ To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] something really simple
Simon Wascher [EMAIL PROTECTED] writes: Lets say you are right, its completely impossible that someone needs that. I'm not claiming that it is impossible for anybody to need this. But if this is a sensible proposal then surely there must be an example of an application that requires it? Obviously if there isn't an actual requirement for this notation (other than `Simon says so') there is no need to clutter up the standard with it. So why bother about its syntax if you cannot imagine someone may need it? I do bother about the proposed syntax because I want the ABC standard to stay as simple and straightforward as possible (while still being as expressive as is reasonable). If this means we have to think more and harder instead of catering for every whim at a moment's notice then `tough'. The counter-proposal stands: Q:1/4=120% [1] explicit tempo specification Q:1/4=120 note=Pretty quickly % [2] explicit tempo with advisory note Q:Allegro% [3] symbolic tempo specification, metronome % speed (or range) defined elsewhere Q:Allegro note=Pretty quickly % [4] symbolic tempo with advisory note Q:Allegro 1/4=120% [5] definition of symbolic tempo Q:Allegro 1/4=120-128% [6] definition of range and it is up to individual notation programs how they will display these bits of information, while player programs should default to the metronome speeds that are specified either explicitly in the tune or, in the case of symbolic tempo specifications, elsewhere, while giving users the chance to override the speed if they want. Suggestions for tempo display by notation programs: [1] .|=120 [2] Pretty quickly - .|=120 [3] Allegro Allegro - .|=120 % if desired, and if `Allegro' is defined accordingly [4] Allegro (Pretty quickly) Allegro (Pretty quickly) - .|=120 [5] and [6] will not be displayed. Notation programs could also offer to display just metronome speeds or just advisory notes, or to suppress metronome speeds or advisory notes altogether. The `note=...' construction may seem wordy but in fact it is consistent with similar notation elsewhere in (de-facto) ABC such as the `V:' and `K:' fields. This is a lot better than inventing ad-hoc syntax for every single field, such as the `Q:n/n=n - Andante' proposal seen earlier on. In fact at some point in the future it could allow us to say something like ... some music ... Q:1/4=120 mode=accelerando ... more music ... Q:1/4=140 ... even more music ... to express a dynamic change of speed between two points in time. This falls naturally out of the `key=value' syntax, while in your proposal one would have to invent even more ad-hoc syntax on top of what is already there to allow this. It is neccesary to encounter the edges of a choosen syntax to be able if it is stringent, search deeply for the worst cases it produces. This is how a syntax is developed. Every syntax has its dark corners and all we can do is turn the pockets around till we find the least important corner in our proposal to contain the blackest hole of our syntax. So here it is: Q:n/n=n N/N=N andante, dark and sinister but without any meaning in real life. I disagree. To apply some wisdom that I think goes back to Antoine de St. Exupéry, a common fallacy in language design is to consider a language complete when there is nothing left to add. (This leads us to abominations like C++.) In fact, a design is usually much better when there is nothing left to take away (and it still does what it is supposed to do). We don't need special syntax for every single ABC header field when there is a general pattern that we can apply, like the `key=value' convention outlined above. Anselm -- Anselm Lingnau .. [EMAIL PROTECTED] When the gods wish to punish us they answer our prayers. -- Oscar Wilde, *An Ideal Husband* To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
Re: [abcusers] something really simple
Anselm == Anselm Lingnau [EMAIL PROTECTED] writes: Anselm I'm still waiting for you (or anybody) to explain why an Anselm ABC tune should contain one prescribed explicit metronome Anselm speed for display and another, different, prescribed Anselm explicit metronome speed for playback, Because you might want to tell a human player what speed you think the piece sounds good at, but you want to tell the computer what speed you want to proofread your transcription at? -- Laura (mailto:[EMAIL PROTECTED] , http://www.laymusic.org/ ) (617) 661-8097 fax: (801) 365-6574 233 Broadway, Cambridge, MA 02139 To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html