Midi import proposal
I've been thinking about ways to improve Musescore's midi import. One of the big problems is that the parameter “time division” in the midi header usually doesn't have much (if any) relation to where beats and measure bars need to be located.
Here is a Musescore import of a midi of Fats Waller's tune “Ain't Misbehavin.” As you can see, the result is pretty much useless. However, here is the pianoroll of the midi import. It was satisfactory, but the measure bars and beat locations are not correct.
I wrote a demonstration of a method that could be used to identify measures and beats, and assign notes to their (approximate) correct locations within measures.
Here is the opening screen of the example after a midi name of a file for import has been given. Clicking on the “Create” button results in this display , similar to Musescore's pianoroll image of the midi import. A button to assign the location of the opening measure is shown. Clicking on that button, then on a note at the beginning of the opening measure assigns the first measure to that location . In the example, two options are presented for assigning the start of a succeeding measure, either the beginning of the second measure or the beginning of the fourth measure. In the example the latter option was chosen and a bar created in the display to show that result . A new button appeared, “Do Measures.” Pressing this button generates the definitions of the measures and beats.
The next step, which I haven't shown by example, is to quantize (round) the beginnings and endings of the notes and assign them values.
I wrote this demonstration in Lazarus, but much of the “machinery” for implementing this proposal already exists in Musescore. I leave it to others to pick up on the idea if it warrants merit.