I'm writing an application to display sound files on Android tablet. I have made some researches and found Midi Sheet Music which is fast enough and quite easy. But it doesn't display ties at all. Instead it uses longer notes and dotted notes. Musescore on the other hand creates small ties but I find them meaningless.

Also I have found Seescore which can handle MusicXML. But I'm not quite sure of it's capabilities.

Please, tell me. Should my midi file have proper information about ties or it doesn't support this notation at all?

Also I wonder if MusicXML can handle ties.


This in in pricinple the same problem as creating a PDF from MIDI, as discussed e.g.here. You are starting from a very low level information and want a very high-level one. Since MIDI works perfectly well without knowing about keys and meters, this information has to be deduced in a tedious process with huge failure probabilities. This is the reason, why the typical display format of a musical workstation software is piano roll and not score.

My acquaintance with MusicXML format is somewhat superficial, but surely all ties, bars and other notation details are present there. But that does not address the kernel of the problem, to arrive at that deduced information.

So either you are prepared to live with the faults of a decent complexity "translation" algorithm, or you accept the necessity of substantial manual postprocessing.


There's not really a concept of notation in MIDI. It's a more abstract concept where the note length is determined by a number of "ticks per quarter note" aka "parts per quarter" which is the resolution that the beat can be divided into. So there's a PPQ resolution, a tempo, a time signature, and the number of ticks that occurred between the "note on" and "note off" messages. Given that info, any note length can be defined without even having to consider how you might notate it with sheet music.

MIDI kind of has to work this way because keep in mind that notation can't properly describe the way music is actually played. There's more nuance in a real performance like playing slightly ahead or behind for feel, etc. It would be pretty boring if people played exact quantized note lengths like a machine. So the MIDI format is optimized to be able to capture those nuances in performances in a way that storing the same data directly as sheet music couldn't.

But that's just how the underlying MIDI data works. Many user facing apps might use MIDI as an input mechanism and/or storage of the data but also add a traditional notation UI on top that underlying data for your convenience (kind of like syntactic sugar to use a programmer concept). So an app might let you choose whether you see ties vs dotted notes, but underneath the data is probably still MIDI.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.