MIDICOPY(1)
π MIDICOPY(1) π
okay bestie, welcome to the midicopy page, part of the General Commands Manual π
β¨ NAME β¨
midicopy β copy a selected track, channel, or time interval of a MIDI file into 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 π¦
So midicopy is the girl who takes part of a MIDI file and copies it into another MIDI file. That's it, that's the job. π
You get to pick a particular time interval, particular channels, particular tracks, or literally any combination of those. Mix and match, it's giving custom playlist energy.
And here's a fun one: 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 the version number and then exits. bye bestie π-trks n1,n2, etcβ Selects the tracks to be copied, and the track numbers start from1. If more than one track is specified, they should be separated by commas. You should always copy track1, because 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 from1.-from nβ The program will copy all MIDI commands starting from midi pulse numbern. By default it will start from time zero, aka the beginning of the MIDI file.-to nβ Stops copying all events after midi pulse numbern. By default the file is copied to the end.-frombeat nβ The program will copy all MIDI commands starting from quarter beat numbern. By default it will start from time zero, aka the beginning of the MIDI file.-tobeat nβ Stops copying all events after quarter beat numbern. By default the file is copied to the end.-fromsec nβ The program will copy all MIDI commands starting from timenin seconds.-tosec nβ Stops copying all events after timenin seconds.
π¨ okay listen: these two options (-fromsecand-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-fromand-tooptions. fr fr.
-replace trk,loc,valβ This option should be used alone. Midicopy will copy the entire file verbatim, except it will replace a byte byval, 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 than1.0will 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 theexcluded_drum_velocitiesvalue. The drum-code value must be in the range of35to81inclusive.-mutenodrum [level]β All channels which are not9(drum channel) are attenuated to the given level. If level is not specified, it is assumed to be zero.-setdrumloudness n mβ wherenis between35to81inclusive andmis the loudness between0and127. The loudness of all instances of drumnare changed tom.-focusontrack n1,n2,...β The velocities of notes in all tracks exceptnare attenuated.-focusonchannel n1,n2,...β The velocities of notes in all channels exceptnare attenuated.-attenuation nβ Specifies the amount the note velocities are reduced by either-focusontracksor-focusonchannels. Current default is70.-nobendsβ Suppresses all channel pitchbend commands.-indrums n1,n2,...β Only allow percussions with codesn1,n2,...-xdrums n1,n2,...β Exclude the percussions with codesn1,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 bynsemitones.
π 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. slay. β¨
π«Ά 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.
and that's the whole page bestie!! π this was MIDICOPY(1), and no cap, it ate. go copy some tracks, you've got this πβ¨π¦
π¦ where this page comes from
- arch rolling: abcmidi 2026_10_09-1 Β· GPL-2.0-or-later
- debian trixie: abcmidi 20250216+ds-1 Β· GPL-2.0-or-later
- fedora 43: abcMIDI 2025.02.16-3.fc43 Β· GPL-2.0-or-later
- fedora 43: abcMIDI 2026.06.16-1.fc43 Β· GPL-2.0-or-later
- fedora 44: abcMIDI 2025.02.16-5.fc44 Β· GPL-2.0-or-later
- fedora 44: abcMIDI 2026.06.16-1.fc44 Β· GPL-2.0-or-later
- nixos 26.05: abcmidi 2026.04.26
- nixpkgs unstable: abcmidi 2026.10.09
- ubuntu questing: abcmidi 20250627+ds-1.1
- ubuntu resolute: abcmidi 20250627+ds-1.1build1 Β· GPL-2.0-or-later
- ubuntu stonking: abcmidi 20260609+ds-2 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms