GN MIDI solutions 
homepage: http://www.gnmidi.com
author: Guenter Nagler
email: info@gnmidi.com

MIDI command line tools

Commandline tools require knowledge in using DOS commandline (cmd.exe).
For easier use please try the GNMIDI tools for Windows application http://www.gnmidi.com/gnmidien.htm
which contains many of these operations.

Following DOS tools can be licensed for noncommercial or commercial uses:

midi2txt - converts midi to readable ascii text  
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses
                usage and examples of resulting files can be viewed at http://www.gnmidi.com/gnmiditoolsen.htm
              

txt2midi - converts an ascii text generated by midi2txt back to midi 
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                usage and examples of resulting files can be viewed at http://www.gnmidi.com/gnmiditoolsen.htm

midinote - converts midi to human and machine readable text including times and durations for each MIDI command
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                usage and examples of resulting files can be viewed at http://www.gnmidi.com/gnmiditoolsen.htm

note2mid - converts a text generated by midinote back to midi
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                usage and examples of resulting files can be viewed at http://www.gnmidi.com/gnmiditoolsen.htm

midi2csv - converts midi to spreadsheet table including times and durations for each MIDI command
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                usage and examples of resulting files can be viewed at http://www.gnmidi.com/gnmiditoolsen.htm

csv2midi - converts spreadsheet table generated by midi2csv back to a MIDI file
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                usage and examples of resulting files can be viewed at http://www.gnmidi.com/gnmiditoolsen.htm

mid2parson - converts midi file melody channel to parsons code
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                usage and examples of results can be viewed at http://www.gnmidi.com/gnmiditoolsen.htm
                parsons code definition can be found at https://en.wikipedia.org/wiki/Parsons_code

chkrange  - analyses if MIDI file notes are within the natural ranges of the instruments used
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product

kar2midi - converts different karaoke formats into an other karaoke format
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the supported destination formats can be found in http://www.gnmidi.com/handbook/english/kar2midi.htm

mapnotes - replaces MIDI notes according to a mapping table
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/replacenotes.htm

midi1to0 - converts MIDI format 1 to MIDI format 0 by merging all tracks to a single track
                the operation is available in GNMIDI 3 (also as batch operation)
                the operation is available in GNMIDFMT 2 (also as batch operation)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/changemidiformat.htm

midi0to1 - converts MIDI format 0 to MIDI format 1 by splitting all tracks by channels
                the operation is available in GNMIDI 3 (also as batch operation)
                the operation is available in GNMIDFMT 2 (also as batch operation)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/changemidiformat.htm

midi0to2 - combines some MIDI files into a format 2 MIDI file (archive)
                the operation is available in GNMIDFMT 2
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://gnmidi.com/gnmidfmten2.pdf
                
midi2to0 - splits a MIDI format 2 file into several MIDI format 0 files
                the operation is available in GNMIDFMT 2
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://gnmidi.com/gnmidfmten2.pdf

midi2hex - converts a MIDI file into hexadecimal text by grouping the bytes that have a certain meaning (command, pause)
                the operation can be licensed for noncommercial use or commercial uses in a project or product

midicat - combines some MIDI files to a medley
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/makemedley.htm
 
midicmp - compare a MIDI file against a similar MIDI file and display differences
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/comparemidifiles.htm

midicopy - view or set copyright of a MIDI file 
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/midicopyright.htm

midictrl - insert rhythmic controllers into MIDI song
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/rhytmiccontrollers.htm

midicut - cut part of song or copy part of song into a new song
                the operation is available in GNMIDI 3
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/cutpart.htm

miditran - transpose notes of a midi song by number of half tones
                the operation is available in GNMIDI 3
                the operation is available in GNMIXER 2
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                http://www.gnmidi.com/handbook/english/miditranspose.htm
                
midifix - checks validity of a midi song and repairs an invalid midi song
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3 (check and repair)
                http://www.gnmidi.com/handbook/english/checkrepair.htm

midipoly - calculates the polyphony of a midi song (how many notes play at same time maximum)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/midipoly.htm

mididmp  - convert midi to dmp text format (text commands in each measure are displayed as text, notes that are longer than single measure are splitted)
                the operation can be licensed for noncommercial use or commercial uses in a project or product

dmp2midi - convert dmp text format into midi
                the operation can be licensed for noncommercial use or commercial uses in a project or product

findmidi - find a sequence of notes in all midi files
                the operation can be licensed for noncommercial use or commercial uses in a project or product

midchord - analyse chords for a midi song and insert the chords into the midi file in a given chord format
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/guesschords.htm          

midcntin - insert count in drum notes into a midi song
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/countin.htm

midcompr - compress or uncompress midi file (running status method)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the compress operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/midicompress.htm

midcopyr - insert copyright into one or more midi files, delete copyright, modify copyright
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the insert copyright operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/midicopyright.htm

midi2gm - convert a midi song to General MIDI 
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/gm_initialize.htm

midicr - repair a midi song that was stored as a text file (newlines are modified)
                the operation can be licensed for noncommercial use or commercial uses in a project or product

mididir - list information about midi files in a directory (duration, title, filename, size)
                the operation can be licensed for noncommercial use or commercial uses in a project or product

syx2midi - convert sysex data to a midi file
                the operation can be licensed for noncommercial use or commercial uses in a project or product

midifade - fade in or fade out a midi song (change volume dynamically)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/midifade.htm

midifind - find text in all midi files (titles, markers, lyrics)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/midifind.htm

midifmt - shows the midi format of one or many midi files (type 0, 1, 2)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDFMT 2

midigrab - finds midi files in music archive files (e.g. *.rmi) and extracts the midi files
                the operation can be licensed for noncommercial use or commercial uses in a project or product

midimono - sets the midi song balance to center
                the operation can be licensed for noncommercial use or commercial uses in a project or product

midipat - maps sound patches of a midi file according to rules in a .pat  file
                the operation can be licensed for noncommercial use or commercial uses in a project or product

midirepl - replace notes of a midi song according to rules in a .rpl file
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/replacenotes.htm

midires - show resolution of each midi song, modify resolution of midi song
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/midiresolution.htm

midistat - show statistics about one or more midi files 
                the operation can be licensed for noncommercial use or commercial uses in a project or product

miditime - show song duration of one or more files
                the operation can be licensed for noncommercial use or commercial uses in a project or product

miditrem - modify longer notes in given channel of a midi song to tremolo pieces
                the operation can be licensed for noncommercial use or commercial uses in a project or product

miditrim - trim pauses at end of a midi song
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/miditrim.htm
        
miditrk - show information about tracks of a midi song (titles, channels)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/miditrim.htm

midivol - change volume of a midi song to an average volume level
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/commonvolumeoption.htm
                http://www.gnmidi.com/handbook/english/batch_commonvolume.htm

midsplit - split a midi song channel into lower and higher part (left and right piano hand)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/splithands.htm

midtempo - set a constant tempo in a midi song (beats/min)
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/settempo.htm
                
midiundup - delete duplicate notes in a midi song
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/deleteduplicatenotes.htm

mididrum - split drum instruments into individual tracks
                the operation can be licensed for noncommercial use or commercial uses in a project or product
                the operation is available in GNMIDI 3
                http://www.gnmidi.com/handbook/english/splitdrums.htm

new MIDI utilities could be specially programmed on demand (costs more depending on the work)
The command line utilities are working in Windows systems only (32 or 64 bit, e.g. Windows 7, Windows 8, Windows 10).

Please contact info@gnmidi.com if you have interests in one or more of our tools.

Prices for noncommercial uses, single user, up to 5 own computers is listed at http://www.gnmidi.com/gnorderen.htm
Ordering more utilities at same order reduces price per item.
