What does this do?

I wrote this software because I wanted to be able to examine and modify the contents of MIDI files in a convenient text based format. In addition, such a format should allow for higher level structure of the type that is found in typical sequencer file formats. For example, you should be able to say ``this part is a copy of that part, transposed up a third''.

Rather than inventing another file format, the standard XML (Extensible markup language) format which is based on SGML is being used. The document type is called mdml. There is not much structure in a midi file as it is essentially just a set of tracks. However the mdml format is capable of extra stucture such as dividing the track up into parts, providing alternative takes of the same piece of music etc.

Version plan

Mdml is being used in the Melys sequencer. Extra elements will be added as needed to support the usual sequencer type application. Features that may be included are trasformations such as
  • Transpose


  • Tempo shifting


  • Velocity modification


  • Markers and labels.


Download an old Java version of the software

This is the old Java release of the software. It is too slow on current java interpreters and this version is not being actively maintained by me and it will now be partially out of step with the latest DTD. For a C version see Melys.

You are free to take this software and use it under the terms of the GPL.



Copyright © Steve Ratcliffe 2008-2017.