The output of midi2abc with the -stats is used by the midiexplorer application which can by found on sourceforge.net. The output looks something like this seymour@corsair:~/abc$ midi2abc summer.mid -stats ntrks 10 ppqn 120 trk 1 timesig 4/4 0.00 keysig C 0 0 0.00 tempo 132.00 bpm trk 2 metatext 3 Synth Bass 1 program 1 38 trkinfo 1 38 156 774 41022 50468 trk 3 metatext 3 Brass 1 program 2 61 trkinfo 2 61 102 0 6618 2982 trk 4 ... trk 10 metatext 3 Drums program 10 17 trkinfo 10 17 1390 1158 108340 25777 npulses 58552 tempocmds 1 pitchbends 0 programcmd 0 progs 35 38 50 54 61 80 81 102 progsact 49460 50468 15426 3237 2982 22295 15938 4703 progcolor 0.00 0.00 0.00 0.00 0.00 1.71 0.00 0.26 0.06 0.05 0.00 0.00 0.00 0.65 0.00 0.08 0.00 drums 36 38 39 42 54 drumhits 548 287 128 1073 512 pitches 473 0 1267 216 20 344 36 717 0 321 364 0 pitchact 0.32 0.00 1.10 0.15 0.03 0.22 0.03 0.51 0.00 0.26 0.20 0.00 chnact 0.86 0.05 0.06 0.27 0.38 0.26 0.08 0.84 0.00 0.44 0.00 0.00 0.00 0.00 0.00 0.00 pitchentropy 2.567729 Here is a description of some of the values which are outputted. timesig 4/4 beat number is issued each time the time signature is redefined. The beat number is a decimal number in quarter beats. The same apples for keysig (key signature) and tempo redefinition. For each channel, midi2abc prints a trkinfo vector which contains the following information. the channel number the first program number assigned to the channel the number of notes not appearing inside a chord the number of notes appearing in a chord the sum of all the MIDI pitches of the notes the sum of all the note durations in pulses Finally, midi2abc outputs the following data. npulses -- the length of the longest track in pulses tempocmds - the number of tempo commands encountered pitchbends - the number of pitchbend commands encountered programcmd - the number of times the program assignment is reassigned progs vector - list of all the MIDI programs used progsact vector - the activity for each of the above MIDI programs. The activity is the sum of the note durations in pulses for each of the above programs. progcolor - described below drums - a list of all the MIDI percussion numbers used drumhits - the number of note on commands for each of the above percussion instruments. pitches - the number of note on commands for each of the 12 pitch classes (C, C#, D, D# ... B) pitchact - duration in pulses of all notes grouped by pitch classes chnact - duration in pulses of all notes grouped by channel pitchentropy - entropy of the pitchact probability density function progcolor: The 128 MIDI program numbers are mapped into 17 classes. These classes group keyboard instruments, brass instruments, guitar instruments etc into separate groups defined here. static int progmapper[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 2, 7, 10, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 2, 2, 2, 2, 2, 12, 6, 12, 1, 1, 10, 10, 10, 10, 10, 1, 16, 16, 16, 16, 16, 16, 16, 16 }; The activity in each of these programs is measured, normalized to a unit length vector and returned in the progcolor vector.