MAN page from Mandrake 10.X abcMIDI-2004_06_12-2.mdk10.1.thac.i586.rpm


Section: User Commands (1)
Updated: 20 March 2004


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] [-sum] [-nt]  


midi2abc takes a MIDI format file and converts it to something as closeas possible to abc text format. The user then has to add text fields notpresent 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, usethe redirection operator, (e.g. midi2abc -f file.mid > orspecify the output file using the -o option.

Use only one or none of the options -u -gu, -b and -Q. If none of these is present, the program will use the PPQN information in the MIDI header to compute the suitable note length.For most MIDI files on the web, it is recommended to rely on the MIDIheader information and not use any of the options other thanthe formatting options.

The program will extract the time signature infromation from the MIDI fileif 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 -aoption. The anacrusis is specified in half unit lengths, where the unitlength is defined by the L: field. For example if L: 1/8, then aquarter note would be indicated by the value 4, (4 1/16 units).  


-a acbeats
where acbeats specifies the anacrusis in half unit lengths.
extract the anacrusis from file by finding the first strong note
guess the anacrusis by minimizing the number of ties across bars
-m time signature
time signature
-b bars
number of bars wanted in output
-Q tempo
tempo in quarter-notes per minute
-u pulses
Allows you to specify directly the number of midi pulses perabc time unit.
-ppu parts per abc unit length
Normally, the smallest note unit that midi2abc can extractis half the L: unit length. Thus for L: 1/8, midi2abc canextract 1/16 notes but not 1/32 notes. You can change thisby specifying -ppu 4 for example. The number of partsshould be a power of 2.
-aul denominator of abc unit length
Normally midi2abc chooses a unit length of 1/8 or 1/16depending upon the time signature. For time signaturessmaller than 3/4 the L: 1/16 is used and for larger timesignatures L: 1/8 is used. You can specify the unit lengthto be used using this parameter. Thus -aul 32 will causemidi2abc to use a unit length of 1/32 nd note.
Tells midi2abc to estimate the number of midi pulses per abctime unit from the note duration or spacing in the MIDI file.
Tells midi2abc to guess the key signature by minimizingthe number of accidentals even if the key signature isalready specified in the MIDI file. By default the keysignature is the one specified in the MIDI file.If it is not specified, then the program guesses thekey signature by minimizing accidentals.
-k key
key signature: -6 to 6 sharps.
-c channel
select only this midi channel.
-f infile
input file in midi format
-o output file
specifies the output abc file name.
do not discard very short notes.
do not notate a short rest after a note.
print a short summary of the input midi file.
do not look for triplets or broken rhythm
Print only one bar per line instead of 4. For complex music thisimproves the readability and avoids some problems with some abcto postscript converters. This option is deprecated.
-bpl nbars
Print nbars of music on every line followed by a backslash.
-bps nbars
When nbars have been printed (including those lines joined bya backslash continuation) go to a new line (with no backslash).


* The key is chosen so as to minimize the number of accidentals. Alternatively, the user can specify the key numerically (a positive numberis the number of sharps, a negative number is minus the number of flats).

* Note length can be set by specifiying 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 ofmeasures 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 ofnotes 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 pitcherrors 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 beenincluded 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 todo this, "midi2abc -xa -f file.mid" comes close. 


abc2ps(1), abc2midi(1), abc2abc(1) 


James Allwright <> 


Seymour Shlien <> 


This man page describes midi2abc version 2.72 from May 10 2004. 


Copyright 1999 James Allwright

midi2abc is supplied "as is" without any warranty. Itis free software and can be used, copied, modified anddistributed without fee under the terms of the GNU General Public License.




This document was created byman2html,using the manual pages.