Music Macro Language (MML) is a method of transcribing musical notation as sequence data, which then gets processed into binary performance data, akin to MIDI, for a computer to playback. Most popularly, this syntax can be used to create chiptune music.
MML has many variations, but the majority of those languages share a similar syntax.
||Set octave for the rest of notes before the next |
The range is depending on platform.
||Play a note. Use |
A number should appear after the note; this number should denote the note's duration. 1 is a whole note, 2 is a half note, 4 a quarter note, 8 an eighth note, etc.
If no duration is specified, then the duration will be the value specified by the
||Play a rest. Similar to a normal note, the number after it defines its length.|
||Play a tie (extending pervious note, rest or tie). Similar to a normal note, the number after it defines its length.|
||Decrease or increase octave by 1. The direction is depending on platform, but both of them should be opposite each other.|
||Defining the default length of a note when the length is not specified.|
||Set instrument for a channel. The range is depending on platform.|
||Set channel volume. The range is depending on platform.|
Convert to MML
There are a handful of tools help you convert other sequence formats to MML:
MML usage in SNES ROM hacking
There are a handful of tools known to incorporate MML syntax into editing the music for existing SNES games:
- ZScream Magic, for The Legend of Zelda - A Link to the Past
- AddMusicY, for Yoshi's Island
- AddMusic, for Super Mario World
- LazyShell, for Super Mario RPG