Meico is a Java-based converter framework for MEI files. It parses MEI files into an intermediate format, called MSM (Musical Sequence Markup), and MIDI. There are several possibilities to use meico:
Meico is a Java library that can be imported and applied to other programming projects. It implements additional useful tools such as validation against MEI schema, id generation for all note, rest, mRest, multiRest, chord, tuplet, mdiv, and reh elements, resolution of elements with a copyof attribute to automatically generate an extensive version of your MEI file, variable timing resolution (pulses per quarternote) of the MIDI rendering, an instruments dictionary that implements several string matching algorithms to map staff names to MIDI program change numbers, and if meico detects problems in the MEI encoding (e.g., ambiguity that cannot be resolved) it generates corresponding messages on the command line or in a log file that might provide useful hints for the editors. Meico doesn’t cover the full MEI specification. It is also focused on mei-CMN (common music notation). In addition, content that is related to expressive performance (tempo, dynamics, articulation, ornamentation) is currently ignored, but may be addressed by later project. The MEI file should not contain any variants (app, rdg, choice and the like). It is, of course, not meico’s purpose to guess which variants to choose when creating MIDI. A dedicated serialization tool (Sequence Editor) will be published separately. We have tested meico under Windows, Mac OS and Linux. The only prerequisite is that you have a Java 1.6 (or higher) Runtime Environment installed on your computer. We continuously develop meico. An up-to-date version can be downloaded on GitHub (find the runnable Jar file under “release”). There you can also find further documentation and license information. If new features would be helpful for your project, please send us a message and we will raise it on our to-do list. Also, visit our official project page at www.zemfi.de.