Ubuntu Feisty 7.04 manual page repository

Ubuntu is a free computer operating system based on the Linux kernel. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

Provided by: abcmidi_20060422-1_i386



        abc2midi - converts abc file to MIDI file(s)


        abc2midi  infile [refnum] [-c] [-v] [-ver] [-t] [-n limit] [-RS] [-NAR]
        [-Q tempo] [-NFNP] [-OCC] [-o outfile]


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


        refnum process the tune with reference number refnum
        -c     selects checking only
        -v     selects verbose option
        -ver   prints version number and exits
        -t     selects filenames derived from tune titles
        -RS    use 3:1 instead of 2:1 for broken rhythms
        -NAR   Suppresses the warning ’Assuming repeat’
        -n  X  limits the length of the file name stem to X characters
        -Q  tempo
               sets the default tempo in quarter notes per minute if it was not
               specified in the abc header.
        -NFNP  Ignore any dynamic indications !f! !ff! etc.
        -OCC   Accept old chord convention (eg +D2G2+ instead of [DG]2).
        -o outfile
               write output to outfile


        *  Broken  rythms  (>,  <), chords, n-tuples, slurring, ties, staccatto
        notes, repeats, in-tune tempo/length/time  signature  changes  are  all
        *  R:hornpipe or r:hornpipe is recognized and note timings are adjusted
        to give a broken rhythm (ab is converted to a>b).
        * Most errors in the abc input will generate a suitable  error  message
        in the output and the converter keeps going.
        *  Comments  and  text  fields  in the abc source are converted to text
        events in the MIDI output
        * If guitar chords are present, they are used to generate an accompani‐
        ment in the MIDI output.
        *  If  there  are  mis-matched  repeat  signs  in  the abc, the program
        attempts to fix them. However, it will not attempt this if a multi-part
        tune description has been used or if multiple voices are in use.
        *  Karaoke MIDI files can be generated by using the w: field to include
        * Nonnumeric voice id’s, eg. V: soprano, as proposed for  the  new  abc
        standard is accepted.
        *  Invisible  rests  specified  by x are treated the same way as normal
        rests (z).
        * Decorations may be indicated using  either  the  deprecated  notation
        (eg. !fermata!) or the standard version 2.0 notation (eg. +fermata+).


        * No field is inherited from above the X: field of the tune.
        * There are some extensions to the abc syntax of the form
        %%MIDI channel n
        These  control  channel  and program selection, transposing and various
        other features of abc2midi.
        Each of these should appear on a  line  by  itself.  All  of  them  are
        allowed  within  the  abc tune body. By using these in combination with
        the part notation, one can, for example, play a part transposed or in a
        different key.
        The  idea  behind this syntax is that other programs will treat it as a
        comment and ignore it.
        %%MIDI channel n
        selects melody channel n (in the range 1-16).
        %%MIDI program [c] n
        selects program n (in the range 1-128) on channel c. If c is not given,
        the program is selected on the current melody channel. Most modern tone
        generators follow the General MIDI standard which defines  the  instru‐
        ment type for each program number.
        %%MIDI beat a b c n
        controls  the way note velocities are selected. The first note in a bar
        has velocity a. Other "strong" notes have velocity b and all  the  rest
        have velocity c. a, b and c must be in the range 0-128. The parameter n
        determines which notes are "strong". If the time signature is x/y, then
        each  note  is  given  a position number k = 0, 1, 2 .. x-1 within each
        bar. Note that the units for n are not the unit note length. If k is  a
        multiple  of  n, then the note is "strong". The volume specifiers !ppp!
        to !fff! are equivalent to the following :
        !ppp! = %%MIDI beat 30 20 10 1
        !pp!  = %%MIDI beat 45 35 20 1
        !p!   = %%MIDI beat 60 50 35 1
        !mp!  = %%MIDI beat 75 65 50 1
        !mf!  = %%MIDI beat 90 80 65 1
        !f!   = %%MIDI beat 105 95 80 1
        !ff!  = %%MIDI beat 120 110 95 1
        !fff! = %%MIDI beat 127 125 110 1
        %%MIDI beatmod n
        Increments by n (or decrements if n is negative) the  velocities  a,  b
        and  c  described above. The instructions !crescendo(! and !crescendo)!
        are equivalent to inserting a %%MIDI beatmod 15 whereever  they  occur.
        (Alternatively  you  can use !<(! and !<)!.) Similarly the instructions
        !diminuendo(! and !diminuendo)! are equivalent to %%MIDI beatmod -15.
        %%MIDI deltaloudness n
        where n is a small positive  number.   By  default  the  crescendo  and
        diminuendo  instructions  modify  the  beat variables a, b, and c by 15
        velocity units. This instruction allows you  to  set  this  default  to
        value n.
        %%MIDI nobeataccents
        For  instruments  such  as church organ that have no greatly emphasized
        beat notes, using this will force use of the ’b’ velocity  (see  %%MIDI
        beat)  for every note irrespective of position in the bar.  This allows
        dynamics (ff, f, etc) to be used in the normal way.
        %%MIDI beataccents
        Revert to emphasizing notes the the usual way. (default)
        %%MIDI beatstring <string of f, m and p>
        This provides an alternative way of specifying  where  the  strong  and
        weak  stresses  fall  within  a  bar.  ’f’  means  velocity a (normally
        strong), ’m’ means velocity b (medium velocity) and ’p’ means  velocity
        c  (soft  velocity).   For  example,  if the time signature is 7/8 with
        stresses on the first, fourth and sixth notes in the bar, we could  use
        the following
        %%MIDI beatstring fppmpmp
        %%MIDI transpose n
        transposes  the  output  by the specified number of semitones. n may be
        positive or negative.
        %%MIDI rtranspose n
        Relative transpose by the specified number of semitones.  i.e.   %%MIDI
        transpose  a followed by %%MIDI rtranspose b results in a transposition
        of a+b. %%MIDI transpose b will result in a transposition  of  b  semi‐
        tones, regardless of any previous transposition.
        %%MIDI c n
        specifies  the  MIDI  pitch  which corresponds to c. The default is 60.
        This number should normally be a multiple of 12.
        %%MIDI grace a/b
        sets the fraction of the next note that grace notes  will  take  up.  a
        must  be  between  1  and b-1. The grace notes may not sound natural in
        this approach, since the length of the individual grace notes vary with
        the  complexity  of  the  grace and the length of the following note. A
        different approach (which is now the default) assumes  that  the  grace
        notes  always  have  a  fixed  duration.  To use the other approach you
        would specify,
        %%MIDI gracedivider b
        where b specifies how many parts to divide the unit length specified by
        the  L:  field  command.  For example if b = 4 and L: = 1/8, then every
        grace note would be 1/(8*4) or a 32nd note. Time would be  stolen  from
        the note to which the grace notes are applied. If that note is not long
        enough to handle the grace then the grace notes  would  be  assigned  0
        %%MIDI chordname name n1 n2 n3 n4 n5 n6
        Defines  how  to play a guitar chord called "name". n1 is usually 0 and
        n2, n3 to n6 give the pitches of the other notes in semitones  relative
        to the root note. There may be fewer than 6 notes in the chord, but not
        more.If "name" is already defined, this command re-defines  it.  Unlike
        most  other  commands,  chordname definitions stay in effect from where
        they are defined to the end of the abc file. The following  illustrates
        how m, 7, m7 and maj7 could be set up if they were not already defined.
        %%MIDI chordname m 0 3 7
        %%MIDI chordname 7 0 4 7 10
        %%MIDI chordname m7 0 3 7 10
        %%MIDI chordname maj7 0 4 7 11
        %%MIDI gchord string
        sets up how guitar chords are generated. The string is a sequence  made
        of  of  z’s, c’s  f’s and b’s for rests, chords, fundamental and funda‐
        mental plus chord notes respectively.  This specifies how each  bar  is
        to be played.  An optional length is allowed to follow the z’s, c’s f’s
        and b’s  e.g.  czf2zf3.   If  the  abc  contains  guitar  chords,  then
        abc2midi  automatically adds chords and fundamentals after encountering
        the first guitar chord. It keeps using that chord until a new chord  is
        specified  in the abc. Whenever the M: field is encountered in the abc,
        an appropriate default string is set :
        For 2/4 or 4/4 time default is equivalent to : %%MIDI gchord fzczfzcz
        For 3/4 time default is equivalent to : %%MIDI gchord fzczcz
        For 6/8 time default is equivalent to : %%MIDI gchord fzcfzc
        For 9/8 time default is equivalent to : %%MIDI gchord fzcfzcfzc
        The gchord command has been extended to allow you to play the  individ‐
        ual  notes  comprising the guitar chord. This allows you to play broken
        chords or arpeggios. The new codes g,h,i,j, G,H,I,J reference the indi‐
        vidual  notes starting from the lowest note of the chord (not necessar‐
        ily the root in the case of inversions). For example for  the  C  major
        chord,  g  refers  to  C, h refers to E and i refers to G. For a gchord
        command such as,
        %%MIDI gchord ghih
        Abc2midi will arpeggiate the C major guitar chord to  CEGE.  The  upper
        case  letters  G,H,I,  and  J  refer  to the same notes except they are
        transposed down one octave. Note for the first inversion of the C major
        chord  (indicated by "C/E"), E would be the lowest note so g would ref‐
        erence the note E.
        Like other gchord codes, you may append a numeral indicating the  dura‐
        tion of the note. The same rules apply as before.  You can use any com‐
        bination of the gchord codes, (fcbghijGHIJz).
        %%MIDI chordprog n
        Sets the MIDI instrument for the chords to be n.
        %%MIDI bassprog n
        Sets the MIDI instrument for the bass notes to be n.
        %%MIDI chordvol n
        Sets the volume (velocity) of the chord notes at n.
        %%MIDI bassvol n
        Sets the volume (velocity) of the bass notes at n. There is  no  corre‐
        sponding  melodyvol  command  since  there  are  3  velocity values for
        melody, set using the beat command.
        %%MIDI gchordon
        Turns on guitar chords (they are turned on by default at the start of a
        %%MIDI gchordoff
        Turns off guitar chords.
        %%MIDI droneon
        Turns  on  a continuous drone (used in bagpipe music) consisting of two
        notes. By default the notes are A, and A,, played on  a  bassoon  at  a
        velocity  of  80.  This  can  be configured by the %%MIDI drone command
        described below.
        %%MIDI droneoff
        Turns off the continous drone.
        %%MIDI drone n1 n2 n3 n4 n5
        Sets the drone parameters where n1 is the MIDI program, n2 and n3 spec‐
        ify the MIDI pitches of the two notes in the chord, and n4 and n5 spec‐
        ify the MIDI velocities of the two notes.  If  you  do  not  set  these
        parameters  they are by default 70 45 33 80 80. A value of zero or less
        indicates that the setting of this parameter should be left as it is.
        %%MIDI drum string [drum programs] [drum velocities]
        This sets up a drum pattern. The string determines when there is a drum
        beat and the drum program values determine what each drum strike sounds
        e.g. %%MIDI drum d2zdd 35 38 38  100 50 50
        The string may contain ’d’ for a drum strike or  ’z’  for  a  rest.  By
        default  a  voice  starts  with  no drum pattern and ’%%MIDI drumon’ is
        needed to enable the drumming. The drum pattern is repeated during each
        bar  until ’%%MIDI drumoff’ is encountered. The %%MIDI drum command may
        be used within a tune to change the drum pattern.  This command  places
        the  drum sounds on channel 10 and assumes your tone generator complies
        with the General Midi standard - if it does  not,  then  you  may  hear
        tones instead of drum sounds.
        In  both  the  gchord  and drum commands, the standard note length of a
        single note f,c,z or d is not set by the  L:  command.  Instead  it  is
        adjusted  so  that the entire gchord string or drum string fits exactly
        into one bar. In other words the duration of each note  is  divided  by
        the  total  duration  of  the string. This means that, for example, the
        drum string "dd" is equivalent to drum string "d4d4".  You cannot  cur‐
        rently specify fractions directly (eg. C3/2) as done in the body of the
        music, but it is still possible to express complex rhythms.  For  exam‐
        ple,  to  indicate  a rhythm such as (3ddd d/d/d/d, you would write the
        string "d4d4d4d3d3d3d3".
        With version 1.54 Dec 4 2004 of abc2midi, notes in chords  (eg.  [FAc])
        are  not  played  in the same instant but offsetted and shortened by 10
        MIDI time units. Thus the first note in the chord (eg. F) is played for
        the  full  indicated time, the second note (eg. A) starts 10 MIDI units
        later and is shortened by the same amount and  the  third  note  starts
        another  10 MIDI units later and is shortened by another 10 units. This
        introduces an "expressivo" option and avoids the  heavy  attack.  (This
        does  not  apply  to  gchords or multivoiced chords.) The amount of the
        delay and shortening may be configured by the MIDI command
        %%MIDI chordattack n
        where n is a small number. If n is zero, then abc2midi should behave as
        in  earlier versions. The delay n is in MIDI time units where there are
        480 units in a quarter note beat. The program may not run correctly  if
        n is too large and there are short chords.
        %%MIDI randomchordattack n
        Like  above  except  that the delay is a random variable uniformly dis‐
        tributed between 0 and n-1.
        %%MIDI drummap note midipitch
        Please see abcguide.txt.
        The proposed standard introduces a new copyright field using the syntax
        %%abc-copyright (c) Copyright John Smith 2003
        Abc2midi  now  inserts  this in the MIDI file in the form of a metatext
        copyright tag. Changes were made  to  the  event_specific  function  in
        store.c  to  process  the copyright information. It is also copied into
        the Karaoke track (if it is created) as as @T field.


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


         by Seymour Shlien <seymour.shlien@crc.ca>


        This man page describes abc2midi version 1.73  August 13 2005.


        Copyright 1999 James Allwright
        abc2midi 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.
        More complete documentation may be found in  abcguide.txt  which  comes
        with the abcMIDI distribution.


What does Ubuntu mean?
Ubuntu is an African word meaning 'Humanity to others', or 'I am what I am because of who we all are'. The Ubuntu distribution brings the spirit of Ubuntu to the software world.