There seems to be a significant problem with midi file writing.
Read in a midi file, write it out again, then try playing the result. Each time I've tried doing this (playing the file using Timidity++), the result has been that each track gets played one after another.
I've spent a day trying to debug this and can't work out what the problem is. The event tick times that get read in seem reasonable, so I assume the problem is with the output, but I can't see what it is.
Furthermore, as you might expect from the above, if you then try reading in the file that you previously wrote, the timings exhibit some strange differences to the timings that were originally read in.
Before it was possible to run these tests at all, I had to fix a couple of bugs. Firstly the typo "contorl" -> "control" in midi.py. Secondly, the slightly bigger problem that the tracks all get duplicated as you write them out.
All in all, this seems to be the basis for a really good Python midi-handling package, but until these major problems are overcome it's unusable. I may return to trying to fix them myself, but for now I'm going to try investigating other packages available.
Log in to post a comment.