Provided by: abcmidi_20200122-1_amd64 bug

NAME

       midi2abc - program to convert MIDI format files to abc notation

SYNOPSIS

       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]

DESCRIPTION

       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).

   OPTIONS
       -a acbeats
              where acbeats specifies the anacrusis in half unit lengths.

       -xa    extract the anacrusis from file by finding the first strong note

       -ga    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 per abc time unit.

       -ppu parts per abc unit length
              Normally,  the  smallest  note  unit  that midi2abc can extract is half the L: unit length.This is
              called the quantum unit.  Thus for L: 1/8, midi2abc can extract 1/16 notes  but  not  1/32  notes.
              You can change this by specifying -ppu 4 for example. The number of parts should be a power of 2.

       -aul denominator of abc unit length
              Normally midi2abc chooses a unit length of 1/8 or 1/16 depending upon the time signature. For time
              signatures smaller than 3/4 the L: 1/16 is used and for larger time signatures L: 1/8 is used. You
              can  specify  the unit length to be used using this parameter. Thus -aul 32 will cause midi2abc to
              use a unit length of 1/32 nd note.

       -gu    Tells midi2abc to estimate the number of midi pulses per abc time unit from the note  duration  or
              spacing in the MIDI file.

       -gk    Tells  midi2abc to guess the key signature by minimizing the number of accidentals even if the key
              signature is already specified in the MIDI file. By default the key signature is the one specified
              in  the  MIDI  file.   If  it  is  not  specified,  then  the program guesses the key 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.

       -s     do not discard very short notes.

       -sr quantum units
              do not notate a short rest smaller than the specified size after a note. If the size  (in  quantum
              units)  is zero, nothing is done. For larger values, the rest is absorbed into the preceding note.
              In other words, the preceding note is lengthened to include that rest.

       -sum   print a short summary of the input midi file.

       -nb    do not look for broken rhythms

       -nt    do not look for triplets

       -obpl  Print only one bar per line instead of 4. For complex music  this  improves  the  readability  and
              avoids some problems with some abc to postscript converters. This option is deprecated.

       -nogr  (No  note grouping.) Inserts a space between all notes. It makes a less pretty postscript file but
              it is easier to edit.

       -bpl nbars
              Print nbars of music on every line followed by a backslash.

       -bps nbars
              When nbars have been printed (including those lines joined by a backslash continuation)  go  to  a
              new line (with no backslash).

       -splitvoices
              This  parameter  handles  polyphonic  chords by splitting an entire voice into multiple voices. (A
              polyphonic chord is a chord composed of notes that  do  not  start  or  end  at  the  same  time.)
              Normally, midi2abc joins the longer notes to the notes in the following chord using ties.  Here is
              an example:  [Bd-]d [Bd-]d|. This should be separated into two voices ideally  Bz Bz  and  d2  d2.
              However, the separation is not unique. Bz d2 and d2 Bz are also ok.

       -midigram
              When  this  option  appears,  all other options are ignored and no abc file is produced. Instead a
              list of all notes in the MIDI file are printed in a fixed format. Each line represents a  pair  of
              MIDI  note  on/off event. The line contains the on/off time of the note, its track number, channel
              number, midi pitch and midi velocity. The last record indicates the duration of the MIDI  file  in
              MIDI  pulse units. The output is designed to go into a graphical user interface which will produce
              a graphical representation (piano roll).

       -mftext
              When this option appears, all other options are ignored and no abc file  is  produced.  Instead  a
              list  of  all  the  MIDI  commands are printed. The output is designed to go into a graphical user
              interface provided by runabc.tcl.

       -mftextpulses
              Same as -mftext except the time units is in midi pulses.

       -title string
              Replaces the default title field following T: with the given string.

       -origin string
              Adds an O: field with the given string.

       -stats Extracts the characteristics of the given midi file. They include ntrks - the  number  of  tracks,
              ppqn  -  pulses  per  quarter  note,  timesig  - time signature, keysig - key signature, program -
              mapping between channel number and midi program, npulses - length of  the  midi  file  in  pulses,
              tempocmd  -  number  of  times  the  tempo  has been specified, pitchbends - number of pitchbends,
              pitchbendin - number of pitchbends in each of the channels, programcmd - number of times the  midi
              program  has  been  revised, progs and progsact - the programs used and the number of pulses these
              programs used, drums - the drum numbers that were used, drumhits - the number  of  times  each  of
              those  drums  were  hit,  pitches  -  the  number of times the 11 pitch classes (C C# etc...) were
              activated and a few other complex variables. These characteristics are used in other  applications
              such  as  midiexplorer.  More details are available in the file midi2abc-stats.txt included in the
              doc/ folder of the abcmidi distribution package.

   FEATURES
       * 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.

   LIMITATIONS
       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.

SEE ALSO

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

AUTHOR

       James Allwright <J.R.Allwright@westminster.ac.uk>

SUPPORTED

       Seymour Shlien <fy733@ncf.ca>

VERSION

       This man page describes midi2abc version 2.91 from March 09 2008.

COPYRIGHT

       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                                      MIDI2ABC(1)