MIDI2ABC(1) | General Commands Manual | MIDI2ABC(1) |
midi2abc - program to convert MIDI format files to abc notation
midi2abc -f infile [-xa] [-ga] [-a acbeats] [-m time signature] [-ppu parts per unit] [-aul denominator of unit length] [-gu] [-b bars] [-Q tempo] [-u pulses] [-k key] [-c channel] [-obpl] [-bpl bars] [-bps bars] [-o filename] [-s] [-sr units] [-sum] [-nb] [-nt] [-splitvoices] [-midigram] [-mftext] [-mftextpulses] [-nogr] [-title string] [-origin string]
midi2abc takes a MIDI format file and converts it to something as close as possible to abc text format. The user then has to add text fields not present in the MIDI header and possibly tidy up the abc note output.
The output of midi2abc is printed to the screen. To save it to a file, use the redirection operator, (e.g. midi2abc -f file.mid > file.abc) or specify the output file using the -o option.
Use only one or none of the options -u -gu, -b and -Q. Midi2abc normally converts the MIDI time units into quantum units normally corresponding to the abc 1/16th note or 1/32nd note. If none of these is present, the program will use the PPQN information in the MIDI header to compute the suitable conversion factor. For most MIDI files on the web, it is recommended to rely on the MIDI header information and not use any of the options other than the formatting options.
The program will extract the time signature information from the MIDI file if it is present. Otherwise it will assume 4/4 or you could specify it with -m. option.
If the tune has an anacrusis, you can use either the -ga or -xa option to estimate the its length. Alternatively, you can specify its value using the -a option. The anacrusis is specified in half unit lengths, where the unit length is defined by the L: field. For example if L: 1/8, then a quarter note would be indicated by the value 4, (4 1/16 units).
* The key is chosen so as to minimize the number of accidentals. Alternatively, the user can specify the key numerically (a positive number is the number of sharps, a negative number is minus the number of flats).
* Note length can be set by specifying the total number of bars or the tempo of the piece. Alternatively the note length can be read from the file. However, by default it is deduced in a heuristic manner from the inter-note distances. This means that you do not have to use the MIDI clock as a metronome when playing in a tune from a keyboard.
* Barlines are automatically inserted. The user specifies the number of measures in the anacrusis before the first barline and the time signature.
* The program can guess how the length of the anacrusis, either by looking for the first strong note or minimizing the number of notes split by a tie across a barline.
* Where a note extends beyond a bar break, it is split into two tied notes.
* The output has 4 bars per line.
* Enough accidental signs are put in the music to ensure that no pitch errors occur if a barline is added or deleted.
* The program attempts to group notes sensibly in each bar.
* Triplets and broken rhythm (a>b) are supported.
* Chords are identified.
* Text information from the original MIDI file is included as comments.
* The -c option can be used to select only 1 MIDI channel. Events on other channels are ignored.
midi2abc does not ...
* Supply tune title, composer or any other field apart from X: , K:, Q:, M: and L: - these must be added by hand afterwards, though they may have been included in the text of the MIDI file.
* Support duplets, quadruplets, other esoteric features.
* Support mid-tune key or time signature changes.
* Deduce repeats. The output is just the notes in the input file.
* Recover an abc tune as supplied to abc2midi. However, if you want to do this, "midi2abc -xa -f file.mid" comes close.
abc2ps(1), abc2midi(1), abc2abc(1)
James Allwright <J.R.Allwright@westminster.ac.uk>
Seymour Shlien <fy733@ncf.ca>
This man page describes midi2abc version 2.91 from March 09 2008.
Copyright 1999 James Allwright
midi2abc does not work correctly if lyrics are embedded in the same track as the notes. If you are producing the MIDI file using abc2midi, use the -STFW option to ensure that the lyrics are put in a separate track.
midi2abc is supplied "as is" without any warranty. It is free software and can be used, copied, modified and distributed without fee under the terms of the GNU General Public License.
1 January 2017 |