If you are still working on a project and the language is not a problem, you can try the cross-platform Python music21 , which can analyze MIDI files in Notes, Chord, Instrument, etc., objects, allows you to manipulate the results, and then R / T back to MIDI or output to Lilypond, etc. (full disclosure, I am the author of a toolbox; but I do not know many others in any language that will accept MIDI files and put Lilypond out, giving you the ability to treat MIDI elements as objects for manipulating in the meantime.).
Sample code to screw all instrument sounds into a MIDI file, and then play it and make lilypond.pdf from it:
import music21 mf = music21.converter.parse('pathToMidiFile.mid') for x in mf.recurse(): if 'Instrument' in x.classes: x.midiProgram = (x.midiProgram * 2) % 128 mf.show('midi') mf.show('lily.pdf')
Hope this helps.
source share