Provided by: abcmidi_20241010+ds-1_amd64 bug

NAME

       midicopy - Copy selected track, channel, time interval of a MIDI file to another MIDI file

SYNOPSIS

       midicopy  [-ver]  [-trks  n1,n2,..]     [-xtrks  n1,n2,..]    [-xchns n1,n2,..]    [-chans
       n1,n2,...]    [-from n (in midi ticks)] [-to n (in midi  ticks)]     [-fromsec  %f  n  (in
       seconds)]  [-tosec  n  (in seconds)]    [-frombeat %f n (in beats)] [-tobeat n (in beats)]
       [-replace trk,loc,val] [-tempo %n] [-speed %f]     [-drumfocus  n  m]  [-mutenodrum  [%d]]
       [-setdrumloudness n m]    [-focusontrack n1,n2,... (from 1)]    [-focusonchannel n1,n2,...
       (from 1)]    [-attenuation n]    [-nobends]    [-indrums n1,n2,...]    [-xdrums n1,n2,...]
       [-onlydrums]    [-nodrums]    [-transpose n (semitones)] input.mid output.mid

DESCRIPTION

       midicopy  is  used  to  copy  part  of  a MIDI file to another MIDI file. You can select a
       particular time interval, particular channels, and particular tracks or any  combinations.
       If  one  or both of the run time parameters -from or -to are included, the program returns
       the playing time in seconds of the output file.  Midicopy was developed by Seymour  Shlien
       from     the     midifilelib     distribution     available    from    http://www.harmony-
       central.com/MIDI/midifilelib.tar.gz.

OPTIONS

       -ver   prints version number and then exits

       -trks n1,n2, etc
              Selects the tracks to be copied where the track numbers start from 1.  If more than
              one  track is specified, they should be separated by commas. You should always copy
              track 1 since by convention it contains information  pertinent  to  all  the  other
              tracks. By default all tracks are copied unless you specify particular tracks using
              this run time parameter.

       -xtrks n1,n2, etc
              Lists the tracks to exclude from copying. All other tracks are copied.  This option
              does not work in combination with -trks.

       -xchns n1,n2, etc
              Lists  the  channels  to exclude from copying. All other channels are copied.  This
              option does not work in combination with -chns.

       -chns n
              Like above, it specifies the MIDI channels to be copied. By  default  all  channels
              are copied. Channel numbers also start from 1.

       -from n
              The  program  will  copy  all  MIDI  commands starting from midi pulse number n. By
              default it will start from time zero or the beginning of the MIDI file.

       -to n  Stops copying all events after midi pulse number n. By default the file  is  copied
              to the end.

       -frombeat n
              The  program  will  copy  all MIDI commands starting from quarter beat number n. By
              default it will start from time zero or the beginning of the MIDI file.

       -tobeat n
              Stops copying all events after quarter beat number n. By default the file is copied
              to the end.

       -fromsec n
              The program will copy all MIDI commands starting from time n in seconds.

       -tosec n
              Stops  copying  all events after time n in seconds. These two options (-fromsec and
              -tosec) do not work accurately if the MIDI file has more than  one  tempo  command.
              Only  the  first  one  is used for converting seconds into MIDI pulse units.  It is
              therefore preferable to use the -from and -to options.

       -replace trk,loc,val
              This option should be used alone. Midicopy  will  copy  the  entire  file  verbatim
              except  it  will  replace a byte by val, where the byte is located in the specified
              track (trk) and specified position  (loc).  Commonly  this  function  is  used  for
              changing  a  particular MIDI program number (instrument) associated with a channel.
              You need to know the byte count in the track of that parameter in order to use this
              function,

       -tempo quarter notes/minute
              All tempo indications in the midi file will be replaced with the above value.

       -speed factor
              All  tempo indications in the midi file will be multiplied with this factor. Values
              greater than 1.0 will speed up the music while lower values  slow  the  music.  The
              factor is a floating point value.

       -drumfocus drum-code excluded_drum_velocities
              The  selected  drum line (specified by the drum-code pitch value) is highlighted by
              reducing the loudness of all  other  drum  lines  to  the  excluded_drum_velocities
              value. The drum-code value must be in the range of 35 to 81 inclusive.

       -mutenodrum [level]
              All  channels  which are not 9 (drum channel) are attenuated to the given level. If
              level is not specified, it is assumed to be zero.

       -setdrumloudness n m
              where n is between 35 to 81 inclusive and m is the loudness between 0 and 127.  The
              loudness of all instances of drum n are changed to m.

       -focusontrack n1,n2,...
              The velocities of notes in all tracks except n are attenuated.

       -focusonchannel n1,n2,...
              The velocities of notes in all channels except n are attenuated.

       -attenuation n
              Specifies  the  amount  the note velocities are reduced by either -focusontracks or
              -focusonchannels. Current default is 70.

       -nobends
              Suppresses all channel pitchbend commands.

       -indrums n1,n2,...
              Only allow percussions with codes n1,n2,...

       -xdrums n1,n2,...
              Exclude the percussions with codes n1,n2,...

       -onlydrums
              Only copy the percussion channel.

       -nodrums
              Copy all channels except the percussion channel.

       -transpose n (semitones)
              Transpose pitch for all channels except the percussion by n semitones.

EXAMPLE

       midicopy.exe -trks 1,5 -from 2669 -to 8634  uzicko.mid  fragment.mid  Midicopy  will  copy
       tracks  1  and  5 starting from midi pulse position 2669 and ending at MIDI pulse position
       8634.

SEE ALSO

       abcmtex(1), abc2abc(1), abc2midi(1), midi2abc(1) ,yaps(1)

AUTHOR

       This manual page was written by Seymour Shlien.

VERSION

       This man page describes midicopy version 1.40 from August 11 2024.

                                                                                      MIDICOPY(1)