MidiPlayer normalizes midis by analyzing the midi volume events by channel and coming up with an average for the channel and an average for the midi as a whole. It then scales each of the midi volume events by the ratio necessary to bring the song average down to a level typically used by Yamaha factory files (but you can set your own level to match other file sets).

This technique assumes that the original author achieved the right balance between tracks taking into account the strength of the sounds as changed by velocity, number of notes etc. I.e he adjusted for the variation in perceived loudness created by the playing method. By scaling the volumes in the way that it does, MidiPlayer preserves the author's mix and avoids the technique variations altogether.

MidiPlayer is not perfect and there are cases where tweaking might be necessary. But for the majority of cases, the improvement is such that it is more than sufficient for casual listening.

Regards,

Michael