A tutorial series that takes you from never having touched MML to using its full set of features. Each post focuses on a single feature and embeds the WebPlayer so you can hear examples directly in the page.
You can read in order, or jump to a feature you want to learn.
Note: the individual series posts are written in Japanese. The outline below is in English, but the post pages themselves are JP-only at this point.
Series index
Entry
- #0. MML basics — building a tune one note at a time in the browser (JP) Start from the smallest example and gradually add elements until you have something that sounds like a piece of music.
Notation basics
- #1. Pitch and note length (JP)
c–b, sharps / flats / naturals, octave (o/</>), note length (L/ dotted / arithmetic). - #2. Rests, gate length, ties, and slurs (JP)
R(rest),Q/q(gate / release ticks),X(re-trigger),&(tie),^(slur),$TieMode/$SameNoteSlur. - #3. Volume and accents (JP)
V/v,()nudges,lv,)24for a direct value,$Accentmode. - #4. Tempo, key signature, and key shift (JP)
Parameters that affect the whole piece —
T(tempo),{+f}{-eab}{=*}(key signature),K(key shift, absolute and relative), and how they interact with per-note accidentals.
Expression and ornamentation
- #5. Pitch bend and glissando (JP)
_(pitch bend),~(glissando),$BendRange/$PitchBendOrigin/$Glissando. - #6. Tuplets and repeats (JP)
{...}N(tuplets),[...]N(repeats),[a:b]N(loop exit), nesting.
Structure and operation
- #7. Macros and variables (JP)
% Name(macros),!X{...}(variables), reusing rhythm patterns. - #8. Pan, program change, and routing to a DAW (JP)
P/PL/PR/PC(panning),@n/@bank:slot(timbre),$ProgramChange=CC102, 16-channel omni MIDI, MIDI clip export.
Related pages
- Tutorial — overall product walkthrough
- MML Reference — every command (when you want to look something up)
- Learn from Sample Tunes — feature explanations with real pieces
- Web player — the in-browser version