Loading ...
Sorry, an error occurred while loading the content.

Re: [abcusers] Re: Standard: =a proposal for intonation

Expand Messages
  • David Webber
    From: Jean-Francois Moine ... Now I *am* confused. Are you saying that the midi file accompanying the example in the standard has *not* been generated from
    Message 1 of 99 , May 4, 2012
    View Source
    • 0 Attachment
      From: Jean-Francois Moine

      >> Again the example makes this clear: the music is printed for bass voice
      >> at
      >> exactly the right pitch, and the provided midi file plays it correctly.

      > The MIDI file has been generated with extra %%MIDI transpose commands
      > which are not in the example of the ABC 2.0 specification.

      Now I *am* confused. Are you saying that the midi file accompanying the
      example in the standard has *not* been generated from the abc file shown
      there?. If that is true it is not going to make interpreting the standard
      very easy. But in any event, according to your interpretation, it would
      leave the example with a bass part which sounds two octaves higher than
      written: I can't believe it is supposed to do that.

      >> I would want any MIDI play-back of the abc, to play the same notes as
      >> you'd
      >> get by printing the music as notation from the abc and giving it to the
      >> player/singer it is intended for. Otherwise ABC is a fairly pointless
      >> representation of the music.

      > For that, you must use the octave= command which is understood by both
      playing and typesetting programs.

      NO! "I would want any MIDI play-back of the abc, to play the same notes as
      you'd get by printing the music as notation from the abc and giving it to
      the player/singer it is intended for."

      Not abc written with some commands to work, and with others to be
      inconsistent: I want *all* abc files (which are written in compliance
      with the standard) to define the music so it plays the same notes on a
      synthesiser, as the intended player would play on receiving the printed
      music. Otherwise there is no point in having a standard.

      Why should one distinguish between playing and typesetting programs? Files
      with different standards for playing and typesetting are completely useless
      to me: my program does both. It shows the music in a WYSIWYG window,
      prints it, as shown, with the File/Print command and plays what is written
      if you press F2. It does not store one set of music for playing and
      another for printing.

      > Again, middle= is a typesetting
      command and transpose= .... is a playing
      command. All ABC users and programmers know that, but you!<

      I have essentially no problems with transpose= but it is used by my
      software BOTH for playing and for typesetting. For playing it defines the
      relationship between the pitch which is sounded, and that which is written
      on a score presented at 'written pitch'. However I can also show (and
      print) the score at 'concert pitch', in which case the transpose= is
      necessary to define the typesetting.

      I can't accept this division of the world's software into "playing programs"
      and "type-setting programs" and the idea that a given abc file is only for
      one or the other. I am surprised I'm the first, or only one, who can't.

      And again, the abc2.1 standard *does* indicate with the example that the
      same abc file will do both. But you say they've cheated and used different
      abc files to get the picture and the midi? I find that idea extremely
      disappointing.

      >> If you want to print/play 'generic' music then it should be both written
      >> and
      >> played by default at concert pitch.

      > There is no absolute concert pitch. ABC defines the music, then any
      software may play or print it the way the users want.

      Of course there's an absolute concert pitch. You can choose it within
      limits, according to when the composer lived, where he lived, and what he
      intended, but the A above middle C is at 440Hz or thereabouts: not 220,
      and not 880.

      Yes of course any software can do with the file what its user wants, but
      mine is attempting to start with what the music in the file actually
      represents. The user can then go to the menus and toolbars, transpose it,
      re-instrument it, change the time signature, rearrange it, but when he opens
      and abc file, he'll get what is written in the file, and that is defined by
      a standard, and that standard is currently abc2.1


      >> In the abc2.1
      >> sample middle=d on the bass clef clearly does this, both for the
      >> print-out
      >> and the sample midi.

      > Did you read the abcmidi documentation?

      Briefly.

      > abcmidi ignores middle=, as abcm2ps ignores transpose=.

      Then all I can conclude is that abc2pms cannot write a concert pitch score
      which includes transposing instruments, and abcmidi will play the bass
      parts on the abc2.1 sample two octaves higher than they're supposed to
      sound.

      > I am beginning to appreciate (you'll know better than I) that abc software
      > has come about with one program designed to play an abc file (or output a
      > MIDI file) and another designed to produce a graphic image of the music
      > (eg
      > via postscript).

      > At the beginning, there was only one typesetting program (abc2mtex),
      and, as the ABC notation was published, many programmers extended it.
      The same thing happened to HTTP/HTML which was firstly rendered by a
      simple Tcl/Tk script and which evolved up to the future HTML5 and many
      tens of HTML browsers. The price to pay is some incompatible syntaxes
      when concurrent developments occur at a same time. These problems are
      reduced later by a precise and common definition of the language. So,
      your erroneous understanding about the middle= command is just due to
      the lack of precision in the standard.<

      I am aware that many published abc files will not comply with the abc2.1
      standard, just as older web sites don't comply with modern HTML standards.
      Actually modern browsers are a lot less tolerant of what is (now) poor HTML
      than the older ones were.

      But again the Zocharti Loch example makes what might have been an ambiguous
      definition of the effect of "middle" absolutely precise - as long as one
      accepts that it is correct. And if, as you say, the accompanying MIDI file
      should be playing the bass parts two octaves higher, it would clearly not be
      what the composer intended. So it all looks completely consistent to me.

      > Eventually, and I will stop this thread, I wonder why you are fighting
      about middle=. This is a computer command. You may remove/ignore all
      such commands from any ABC tune without changing the music (FYI, in K:
      and V:, clef=, middle=, transpose= and stafflines= are computer
      commands, while, on the contrary, octave= is a description which cannot
      be ignored without altering the music). <

      I am writing a music notation program, which wants to import music notation
      from abc. I therefore need to know what the file means. I therefore need
      a documented standard, and that standard is abc2.1. I am generating both
      printed music and a sensible play-back of the music: not one or the other.
      The 'music' to me is the set of printed notes, AND the sound they make; not
      one or the other. I therefore (in principle) cannot ignore *anything* in
      the abc file.

      From the Zocharti Loch example in the standard, the only abc2.1
      documentation I have to go on, middle= (and therefore, when middle is
      present, also clef=) cannot be ignored for play-back or typesetting. And
      neither can transpose= (because I can view scores at written pitch and at
      concert pitch).

      If the abc2.1 standard *is* the standard then Zocharti Loch makes it very
      clear than middle= *has* to be the way I'm interpreting it. (If abcmidi
      plays it back differently, with bass parts 2 octaves high, then that cannot
      be my worry.) If the abc2.1 standard is *not* the standard, then I have
      nothing to work with.

      ( If the standard is amended when abc2.2 comes out, so that middle=d on the
      bass clef explicitly introduces a two octave transposition in the printed
      part, then I have no problem in Mozart, assigning the bass parts to a
      fictitious instrument which sounds 2 octaves higher than written, but I
      don't want to (a) because the standard does not tell me that I should, and
      (b) the gar klein recorder is the only instrument I can think of which does
      this, and the written bass clef notes would be out of its range anyway.)

      Dave

      David Webber
      Mozart Music Software
      http://www.mozart.co.uk
      For discussion and support see
      http://www.mozart.co.uk/mozartists/mailinglist.htm
    • Hudson Lacerda
      Also: * Display clef where wanted for instructional matters. ... -- Hudson Lacerda Visite: http://www.votoseguro.org/
      Message 99 of 99 , May 8, 2012
      View Source
      • 0 Attachment
        Also:

        * Display clef where wanted for instructional matters.

        Simon Wascher wrote:
        > Hello,
        >
        > Am 05.05.2012 um 18:05 schrieb scheutzow4cond:
        >> In my view, "clef=none" means: do not draw any clef here, but display the music as specified in the "middle=" clause, or by default as if a treble clef were present. A new directive "%%suppress..." would be handy for people who do not want to see a clef at the start of every score line, but only at the beginning and whenever clefs *change*. An analogous directive should be introduced for the time signature.
        >>
        >>> * how to make clear that any usage with the meaning "suppress clef" is an abuse of the standard.
        >>
        >> The only such "abuse" (or makeshift = Notlösung) I can think of is to try to achieve the effect of the future "%%suppress..." by starting a voice, say, with "clef=bass", and put "K:clef=none middle=D," after the first bar line. It usually works but requires care.
        >>
        >> A good keyword for that may be something like "%%suppress-repeated-clefs".
        >
        > it seems there are several cases of "suppress-clefs", as clefs get drawn automatically (not in the abc text) at several positions in the score:
        >
        > * at the beginning of the notation,
        > * repeated clefs at the beginning of any new line,
        > * a clef at key-changes
        > * extra clefs before linebreak if there is a key-change at newline.
        > * clefs at clef-changes.
        > * extra clef before linebreak if there is a clef-change at newline.
        >
        > a good "suppress-clefs" standard should be able suppress clefs in all possible (sensible?) combinations
        >
        > The following case I would think is the default behaviour:
        >
        > * DRAW clef at the beginning of the notation,
        > * DRAW repeated clefs at the beginning of any new line,
        > * DRAW clef at key-changes
        > * SUPPRESS extra clef before linebreak if there is a key-change at newline.
        > * DRAW clef at clef-change.
        > * SUPPRESS extra clef before linebreak if there is a clef-change at newline.
        >
        > this gives the need for keywords having the following meaning, which can be combined:
        >
        > * DRAW extra clefs before linebreak if there is a key-change at newline
        > * DRAW extra clefs before linebreak if there is a clef-change at newline (unusual)
        > * SUPPRESS clef at the beginning of the notation AND SUPPRESS all repeated clefs at the beginning of any new line
        > * SUPPRESS repeated clefs at the beginning of any new line
        > * SUPPRESS clef at key-changes (only show key-signature)
        > (suppress clef at clef-change seems not to be sensible)
        >
        > * the default behaviour is reestablished with the appearing of the next clef command notated in the abc-text.
        >
        > additionally a "SUPPRESS THIS clef" command could be handy, in cases where one is happy with the default behaviour but for whatever reason wants to suppress the display of one clef.
        >
        >
        > kind regards,
        > Simon
        >
        >
        >
        > ------------------------------------
        >
        > Yahoo! Groups Links
        >
        >
        >
        >


        --
        Hudson Lacerda
        Visite: http://www.votoseguro.org/
      Your message has been successfully submitted and would be delivered to recipients shortly.