We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Music Macro Language

From SnesLab
Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.

Syntax

MML has many variations, but the majority of those languages share a similar syntax.

Syntax Description
oX Set octave for the rest of notes before the next <, > and oX.
For example, o6 will set the octave to 6.
The range is depending on platform.
c, d, e, f, g, a, b Play a note. Use + or - after the letter to specify a sharp or flat, respectively.
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 l command.
r 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.
lXX Defining the default length of a note when the length is not specified.
For example, l4 will set the default length to a quarter note.
@ Set instrument for a channel. The range is depending on platform.
v 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:

  • PetiteMM, MIDI to MML command-line converter. Java is required to use this tool.

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:

See Also