ConvFMML
MIDI to MML Converter
Copyright (C) 2017-2019 Rerrah
Overview
ConvFMML is an application that converts standard MIDI file (SMF/MIDI) into Music Macro Language (MML).
- Detect notes and rests from MIDI (polyphonic support)
- Export to MML in the specified format from FMP7, FMP, PMD, MXDRV, NRTDRV, MUCOM88, mml2vgm, and custom
- Line breaks and block division of notes and rests in each measure
- Support MIDI volume, pan, program change and tempo settings
- Exported MML part settings
You can select more detailed conversion settings can be specified in "conversion settings".
Load MIDI
Please drag and drop the MIDI file to ConvFMML, or click "Select” button in the "MIDI file” field to select it.
Convert and export to MML
When the "Convert" button in "Target MML" is pressed, the export dialog is opened.
In this dialog, you can specify MML file name and file extension.
Clicked "Save" button, it starts conversion and MML exportation.
Conversion settings
In "Conversion settings", you can edit optimization of MML command, print format of notes and rests, division into blocks by measure, and selection of output MML part.
Selecting an item in the tree view switches the settings to edit.
MML expression
You can set MML style, MML clock count, the block division for each measure, and line feeds by changing beat.
ConvFMML sets MML commands such as tie, volume, pan and tempo automatically by specified MML style.
You can specify each of these command notations in the custom format specification.
MML style limits conversion settings that can be specified.
Note/Rest
You can make settings for notes and rests.
There are settings for octave command, printing styles of note length.
Control commands
There are five settings parts: "General", "Volume", "Pan", "Program Change" and "Tempo".
"General" allows you to make common optimization and conversion settings for volume, pan, program change, and tempo.
In "Volume", you can edit volume command settings for MML output.
In "Pan", you can edit pan command settings for MML output.
In "Program change", you can edit program change command settings for MML output.
In "Tempo", you can edit volume command settings for MML output.
Part
Of the loaded MIDI tracks, You can set parts to be output, names of parts, and sound types.
In export part, part name, sound type settings table, you can check the part to output to MML.
Parts that are not output are grayed out, and that can not be output due to the number of parts are displayed in red.
Although the red parts be able to be exported, commands may not be output correctly.
When there is a polyphonic MIDI track, some parts are displayed that have the same MIDI track number and MIDI track name.
These parts are generated by splitting polyphony.
Tips
- The number of MML parts increases by the number of polyphonic notes in MIDI.
- It is possible to change MML note names according to the scale by MIDI key signature events.
- If no beat, tempo and key signature events are set in the MIDI file, ConvFMML uses the default settings about them: 4/4 beat, bpm 120 and C major.
- Notes and rests are removed automatically if they cannot be expressed its length in MML clock count.
- The higher MML resolution, the better conversion accuracy but the shorter notes appear.
- Optimization processing for control commands is performed in the following order. In some cases, some commands may not be processed properly.
- Remove commands not affected notes
- Optimize the same place and type commands
- Optimize the same type and value commands
Requirements
- Windows (tested on Windows 10)
- .NET Framework 4.6 or later
License
ConvFMML is licensed under the MIT license.
See LICENSE.