MIDICOPY(1)MIDICOPY(1)NAMEmidicopy - Copy selected track, channel, time interval of a MIDI file
to another MIDI file
SYNOPSISmidicopy [-ver] [-trks n1,n2,..] [-xtrks 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)] [-tosec n (in beats)] [-replace trk,loc,val] [-tempo %n]
[-speed %f] [-drumfocus n m] [-mutenodrum [%d]] [-setdrumloudness
n m] input.mid output.mid
DESCRIPTIONmidicopy is used to copy part of a MIDI file to another MIDI file. You
can select a particular time interval, particular channels, and partic‐
ular tracks or any combinations. If one or both of the run time parame‐
ters -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 par‐
ticular 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.
-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 begin‐
ning 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 posi‐
tion (loc). Commonly this function is used for changing a par‐
ticular MIDI program number (instrument) associated with a chan‐
nel. 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.
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 ALSOabcmtex(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.20 from October 28 2013.
MIDICOPY(1)