abcMIDI
Maintainer: Seymour Shlien
Download the latest abcMIDI
Go to James Allwright's original abcMIDI page.
abcMIDI is a package of programs developed by James Allwright for
          processing ABC music notation files. It consists of several programs:
          abc2midi, abc2abc, yaps, and
          midi2abc.
abc2midi is probably the most advanced program for
          creating MIDI files
          from ABC files. It contains special features, such as handling
          multivoiced files, expanding guitar chords into bass chordal
          accompaniment, transposing individual voices, and adding percussion
          accompaniment. All the MIDI files on Aubrey Jaffer's web
          site were created from ABC files using this program.
abc2abc is a useful utility for reformating ABC files,
          checking the syntax, transposing to another key, extracting particular
          voice lines, updating the chords or slur notation and for other
          functions.
yaps converts an ABC music file into a PostScript file
          containing the common music notation. The source code in this program
          is not a clone of abc2ps (the original ABC to PostScript
          conversion application) and takes an independent approach.
All three of these programs share a single parser
          (parseabc.c) so that they interpret the ABC file in a
          uniform way. This is useful in tracking problems. If you cannot tell
          what is going wrong by listening to the MIDI file, you may have more
          success looking at the PostScript file produced by
          yaps.
Midi2abc is another useful program included with this
          package. It produces an ABC file from a MIDI file. In some
          circumstances the resulting ABC file is not particularly easy to read,
          but it is a fairly accurate representation of the MIDI file. This
          program is also useful for debugging abc2midi when the
          output file does not sound quite right (which may happen with
          multivoiced ABC files).
All of these programs run with a command line interface, however there are a few packages which act as a front end to these programs and provide a graphical user interface (eg. runabc.tcl found at this website).
James Allwright has stopped development and maintenance of this
          software and has tranferred this task to me (seymour dot shlien
          at crc dot ca). My main goals are to fix any bugs, improve the
          documentation, make the code as compatible as possible with the
          existing database of ABC files and finally track the evolving ABC
          standard. (The last two items may sometimes be in conflict.) Since
          abc2mps is becoming the main standard for creating
          PostScript files from ABC files, less effort will be devoted to
          supporting the yaps software. (I will fix problems where
          yaps crashes with a segmentation error, but I will not
          try to bring it to the same level as abcm2ps.)
I am rather cautious about introducing new features that address a
          select community of users. Though it may be easy to implement the new
          feature in one program, a lot more work may be involved to make these
          features work with all the other functions (e.g. transposing software
          in abc2abc, multivoiced files, bass chordal
          accompaniment, etc.). The software is already complex enough for my
          taste.