abc2midiu package
Usage : abc2midiu <abc file> [reference number] [-c] [-v] [-o filename]
[-od directory] [-os filestem]
see below for additional options.
The first argument XXX.abc or XXX.ABC is taken to be the
source abc file.
[reference number] selects a tune
-c selects checking only
-v [n] selects verbosity level 0-5
-ver prints version number and exits
-o <filename> selects output filename for first tune
-od <directory> selects output directory
-os <filestem> selects stem for output files
-O= filename derived from input filename (default)
-seq ignore value in X: field and number files sequentially
-t selects filenames derived from tune titles
-n <limit> set limit for length of filename stem
-CS use 2:1 instead of 3:1 for broken rhythms
-quiet suppress some common warnings
-silent suppresses most messages
-Q default tempo (quarter notes/minute)
-A2MDECS use decoration shorthand characters from previous abcmidi
-NFNP don't process !p! or !f!-like fields
-NCOM suppress comments in output MIDI file
-NFER ignore all fermata markings
-NGRA ignore grace notes
-NGUI ignore guitar chord indications
-STFW separate tracks for words (lyrics)
-HARP ornaments=roll for harpist (same pitch)
-BF Barfly mode: invokes a stress model if possible
-EA EasyABC mode
-OCC interpret +<notes>+ as chords (eg. +CE+)
-u interpret +<text>+ as a decoration !<text>!
-TT tune to A = <frequency>
-CSM <filename> load custom stress models from file
The default action is to write a MIDI file for each abc tune with the filename <stem>N.mid, where <stem> is the filestem of the abc file and N is the tune reference number of if -seq is used, the number of the tune in the file. If the -o option is used, only one file is written. This is the tune specified by the reference number or, if no reference number is given, the first tune in the file.
abc2midiu is an update to the abc2midi program. The abc2midi program was originally part of abcMIDI, a package of programs written in C for handling abc music notation files. The software was created by James Allwright in the 1990s and Seymour Shlien took over maintaining it in 2002.
This update makes improvements to the code and also implements some of the new features of the latest abc standard. It is intended to be largely compatible with the previous abc2midi. Many of the changes have been backported to the previous abc2midi. As compilers have improved since the software was written, it uses ANSI-style function declarations everywhere instead of K&R. It also removes some #defines which were there to work around problems with older versions of various compilers.
The programs included here are:
- abc2midiu for converting an abc file to a midi file,
- mftext for creating a text representation of a midi file.
This project is just about improving abc2midi, so I have not included the various other programs in the abcMIDI project.
The mftext program was part of the original midifile package which abc2midiu uses. It can be useful if you need to examine MIDI files to see what abc2midiu is doing.
The abcMIDI package maintained by Seymour can be found on sourceforge and on the runabc web page.