Skip to content

MML

The mml plugin adds basic support for the Music Macro Language (MML).

Graphical Interface

Quantization unit: Specifies into how many steps a quarter note will be divided.

Enter an MML string into the unlabelled text box. See Supported MML Syntax below for more information.

The graphical plugin interface is available in the Generate menu.

Keybinding Actions

mml: Opens the graphical interface.

API

[procedure] (mml::read STR #!optional QUANTIZE-TO)

Read the MML string STR and transform it into a list of MDAL field node values, suitable for copy/pasting or using with the edit method. QUANTIZE-TO may be an integer between 1 and 127, that denotes into how many steps a quarter note is divided. The MML output will be requantized accordingly. QUANTIZE-TO defaults to 8. It may be desirable to use larger values if you want to retain articulation.

Examples

Read an MML string and copy to clipboard

(copy (mml::read "d4.<b8>g8r8"))

Read an MML and edit it into the current pattern directly

(edit (current 'blockview) 'current 'set (mml::read "d4.<b8>g8r8"))

Supported MML Syntax

a|b|c|d|e|f|g[+|-|#][DURATION][DOTS]

Notes with optional DURATION and up to 3 DOTS.

lDURATION

Set the default note length to DURATION.

oNUM

Set the base octave to NUM.

p|r[DURATION][DOTS]

Pause/Rest with optional duration and up to 3 DOTS.

m[n|l|s]

Set articulation to normal/legato/staccato.

<|>

Decrease/Increase base octave.