夜光 MML Workshop

Editor Reference

What every button does

  1. I want to do X — which section
  2. Title bar
  3. Playback row
  4. Roll toolbar
  5. Piano roll
  6. Right-click menus
  7. Score tabs and the editing area
  8. Status bar
  9. Settings drawer
  10. Mixdown MP3 export
  11. Make MP4 video
  12. Narrow screens and phones

This page is for looking things up. If this is your first time, walk through the editor quick start first — that one is a single route from nothing to pasting into the game. If you only want to know what a key does, see keyboard and mouse shortcuts.

I want to do X — which section

I want to…See
Get the character count down so it pastes into the gameOptimise (start with Lossless)
Hear only a section in the middlePartial playback
Control playback without the mousePlayback shortcuts (Space and the four arrow keys)
Change the volume or the key of a whole spanVelocity, Transpose
A bar is missing in the middle, or a whole span needs pushing backRight-click menus (insert / delete bars)
Turn a few notes into tripletsRight-click menus (on a note)
Fold two tracks into oneMerge tracks
Change the tempo of the piece, or change it part-wayTempo
Move a score in from the game, or back out to itClipboard
Save to a file, or import oneFile
Make an audio file for someone who does not play the gameMixdown MP3 export
Make a video you can post on social mediaMake MP4 video
Give a friend a linkShare
Find where a note in a long score sits in the textPiano roll (double-click the note)
Change instrument, rename a score, mute one of themScore tabs
Draw dotted notes, or dot notes you already drewDotted notes
Look up what a key or a mouse gesture doesKeyboard and mouse shortcuts (four tables)
Write music on a phone or tabletWriting music on a phone or tablet (gestures and the control panel)

The top line. The site name on the left returns to the editor home page; five feature entrances sit on the right.

The 夜光 MML Workshop wordmark in the top-left only returns to the editor home page; it does not clear anything. To reload the demo, use About → Load demo score; Ctrl+Z undoes it.

Clipboard

This is how scores move to and from the game. MML is plain text, so everything goes through the clipboard. The box has two halves:

ButtonWhat it does
PasteReads the MML in the clipboard. Two modes above it: Append fills from the first empty score and leaves the existing ones alone; Replace all clears everything and fills from score 1
Copy current scoreCopies the current score as one MML@…; block with all four segments inside, ready to paste into the game
Copy allCopies every score at once. The block as a whole cannot be pasted into the game (it is multi-line), but each line individually can; pasting it back into this site restores the score names and instruments too

Copying strips whitespace — that is what the game counts. A score with a track over its limit still copies, but you are told that this one will not paste into a Blank Score.

Some browsers will not let a page read or write the clipboard directly; when that happens a small box opens asking you to press Ctrl+V or Ctrl+C yourself — nothing is broken.

File

Four blocks, top to bottom:

BlockWhat it does
New / SaveCreate New: starts a brand new file — score count, names, instruments and the file name all go back to default. Save to…: stores the whole session under a name; two tabs pick the destination — local (in the browser, 20 MB limit, gone if you switch machines) or web (on our server, comes back on another machine, needs a sign-in). Either side lets you open, delete, copy to the other side, and download a batch as one .zip. After the first save, Ctrl+S writes straight back to the same file
ImportTakes .mid, 3MLE .mml and MabiIcco .mmi, and you can also drop a file into the box. It lists the voices in the file that contain notes for you to tick, up to 16 scores. The same block also holds a separate Choose a PDF or images…, which recognises a PDF or photographs of sheet music as a score; it requires signing in, and is covered in MIDI and sheet music to MML
ExportType a file name, pick a format (.mid / .mml / .mmi), press Download. Beside it sits Mixdown MP3 export, which is a different thing — see mixdown MP3 export
ClearClear all notes: clears the notes only — instruments, score names and the file name are all kept. To reset the whole line-up too, use Create New at the top. Ctrl+Z undoes it

The import list has two modes: Fresh capture (replace everything) and Append (add after the existing tracks). Each row also gets a capture mode; the details of that are in MIDI and sheet music to MML — sheet music recognition opens the same list, with the same modes and the same budget.

To take a whole ensemble away with you, save as .mmi — one mml-track in it is one score. .mml holds at most 16 tracks, so a full ensemble does not fit and something is left out (you are told when that happens).

Share

Creates a link; whoever opens it gets this whole ensemble. Signing in is required (in a copyright dispute this site must be able to notify the sharer by law, so an email address has to be on record).

Before it is sent the score goes through character-count compression that is non-destructive to the original notes — notes, lengths and tempo are completely unchanged, only written more compactly. Sharing identical content again gives you the same link.

The lower half of the box is the list of links you have shared, 10 per page, each with three actions:

ActionWhat it does
LoadLoads that one back into the current editor, replacing what you have (Ctrl+Z gets it back)
Copy linkCopies the URL to the clipboard
DeleteThe link stops working immediately and anyone opening it sees "not found". The score in your editor is unaffected

Settings

A drawer on the right; for its contents see the settings drawer section. Esc closes it.

About

A drawer on the right containing six guides, the demo score, credits, terms, privacy policy and version information. Load demo score replaces the current contents, but Ctrl+Z undoes it. Esc closes it.

Playback row

The left half of the toolbar.

ButtonWhat it does
▶ PlayPlays. Becomes ❚❚ Pause while playing, and ▶ Resume once paused. The shortcut is Space
StopStops and returns to the beginning. The shortcut is
FollowThe view follows the playhead across pages while playing. Scrolling horizontally yourself switches it off, and one click turns it back on
Whole / RangePlay the whole piece, or just a section. Pressing Whole clears the start and end markers on the bar ruler
LoopOn reaching the end (or the end marker), start again from the beginning (or the start marker)

How to set the range for partial playback: the quickest way is the bar rulerleft click sets the start, right click opens a menu whose first three items are start, end and clear, and you can move the range live on the ruler during playback. In the roll, Select only mode plus a left click on empty space sets the start marker; a right click on empty space now opens a menu, whose first two items are exactly these two markers (see right-click menus). Selected notes can be bracketed directly too — right-click those notes and it is there.

Both panes are read-only while playing. Neither the roll nor the text pane can be changed during playback. You can edit while paused, and the changes take effect when you press Resume. The right of the roll toolbar shows whether you are currently Playing / Paused / Editing.

The keys down the left side do still sound while playing — press them against the accompaniment you are hearing to judge whether a note sits well on top of it. They use a channel of their own, so they never cut a note out of the piece, and a muted score can still be auditioned. The roll's other previews (clicking a note, drawing a note) stay silent during playback: clicking a note then means "select this", not "play this".

Playback shortcuts

Five keys, and none of them wants a modifier:

KeyEffectRequires
SpacePlay / pause / resume (the same as pressing the button)Engine ready
/Playhead one bar back / forwardPlaying or paused
Back to the start (to the start marker if one is set)Playing or paused
StopPlaying or paused

The four arrow keys act only while playing or paused; when stopped they do not belong to playback, and neither do they during a drag — the arrow keys are half-cell fine-tuning then. Moving the playhead is clamped inside the playback range and stops at the edge, and never stops playback. With Follow switched off the view jumps to the playhead once, but Follow is not switched back on.

Holding a key does not repeat: one press, one step. To jump further, click straight onto the bar ruler.

Space belongs to playback only while nobody else wants it. With focus on a button, a checkbox, a dropdown or an input, the space bar keeps its usual meaning (it presses that button) — otherwise anyone working from the keyboard could not press anything in the settings drawer. Play and Stop are the exceptions: with focus on those two buttons the space bar is still play/pause, so pressing space after a Stop plays again.

The whole group stands down while a dialog or a right-click menu is open (the menu wants the arrow keys itself), and likewise while you are typing in the text pane.

Media keys on keyboards and headsets

The media keys along the top of a keyboard, and headset controls, drive playback here too:

Media keyEffect
Play / pause
Stop
/ or /One bar back / forward. This site has no "previous track / next track", so those two are wired to rewind and fast-forward rather than being keys that do nothing

Once you press Play, the system's media keys belong to this tab. Which is to say the player you were controlling with them stops receiving them, the operating system may raise a "now playing" notification, and on a phone background audio may be interrupted. That is the price of the feature, so it does not happen just from opening the site — it waits until you really press Play, and Stop hands the keys back.

Media keys depend on browser support and not every browser has it — if the whole group does nothing, that browser does not support it, and the five keys on the site are unaffected.

Roll toolbar

Select only, and note length

Select only (shortcut 0) is arrow mode: clicking empty space draws no note and sets the playback range instead. The six buttons to its right are the note length, shortcuts 1 to 6:

KeyLengthKeyLength
1Whole note4Eighth note
2Half note5Sixteenth note
3Quarter note6Thirty-second note

Choosing a length puts you in drawing mode, and a left click on empty space draws a note of that length. To go back to clicking notes and reading along in the MML after drawing a few, press 0.

There is a seventh, 7, the sixty-fourth note — but no button for it in the toolbar. Press it and all seven go dark; that is not a fault, it means "the current length is not one of these seven". Two costs to know first: one is only 6px wide, so it is only comfortable once you zoom in (zoom far enough and an extra, finer grid line appears to aim at), and it cannot be dotted.

That note icon: what you are about to draw, and dots

The note icon to the left of the six length buttons is not decoration. It answers "what happens if I press on empty space":

Current modeIconPressing it
Drawing (a length is chosen)That note value, drawn with its dot if it has oneAdds or removes the dot
Select only (arrow)A dashed box with a note inside — which is exactly what this mode does: marquee selectionNot clickable

Thirteen shapes, all in a row:

l1 l1. l2 l2. l4 l4. l8 l8. l16 l16. l32 l32. l64

Dotted notes

A dot makes the note one and a half times as long: a dotted quarter is l4., the length of three eighth notes. Click that icon, or press ..

. toggles whether the notes you draw next carry a dot — it is the same kind of key as 16. The icon follows, and so does the dashed preview box on empty space, which becomes half again as wide. It works at any time, including right after drawing a note (when that note is selected).

So the usual rhythm goes like this:

4        pick the eighth note
draw x2  two eighths
.        dot on
draw     one dotted eighth
.        dot off
draw x2  eighths again

To dot notes you have already drawn, take the other route: long-press (or right-click) the note and use the row in the menu. That route is the better one anyway, because the menu works out whether it is allowed first — if it is not, the grey text says so before you press.

When several are selected and they are not all the same: if any one of them has no dot, they all get one; only once they all have dots does another press take them all off. You never have to work out what the current mixture is — two presses at most gets you where you want.

Two things will stop it, for different reasons:

Removing a dot is always safe (a shorter note just leaves a rest behind), so that second guard only applies to adding.

The icon is not there on a phone (the toolbar folds away on narrow screens), so there is no way to set "draw dotted notes next" by finger. To dot a note you already drew, long-press it — the menu has a row for it.

Zoom

Two pairs of plus and minus buttons, one per axis: column width (how wide one cell is across) and row height (how tall one pitch row is). The wheel works too:

GestureEffect
Ctrl+wheelColumn width (finer detail across, or more of the song)
Ctrl+Shift+wheel or Alt+wheelRow height (clearer pitches, or more octaves at once)
Shift+wheelHorizontal scrolling (the browser's own; very useful in a long score)

Zoom is current state only and goes back to the default on refresh.

Undo and redo

Ctrl+Z undoes, Ctrl+Shift+Z or Ctrl+Y redoes. A continuous run of typing counts as one step, not one step per letter.

All five functions below can be taken back with Ctrl+Z, and so can importing, pasting, loading a share, Create New and Clear all notes — so there is no need to be afraid of any of them.

Tempo

Writes t into the score. You can type it by hand, but only this box deals with notes held across a tempo change (they are split in two and rejoined with a tie; it sounds identical, but it is what stops the game drifting out of tune).

Every score has to carry its own tempo. A score is copied to one person, and without a t that person plays at their own default speed.

And it sounds right here: playback always converts against the tempo reference, so there is nothing to hear on this site and it only drifts once you are in the game. When tempos disagree the status bar keeps a warning up, with the button that fixes it right beside it.

Velocity

Adjusts volume in bulk (MML's v, 0 to 15). Range has four levels: All scores / Current score / Current track / Selected notes; Adjust chooses how many steps louder or softer. The box first tells you how many notes are in that range and what velocities they span.

There is a quicker pair on the roll itself: with notes selected, press + or - for one step at a time. How far those two keys reach depends on how many notes you selected:

SelectedWhat +/- means
One noteEverything after this point follows (a single v is written)
Several notesOnly those notes change; the original velocity resumes after them

0 and 15 are the ends of the scale, and notes pushed past them are clamped, losing the dynamic differences between them — both the box and the hint say so first.

Transpose

Raises or lowers by semitones in bulk. Range again has four levels (All scores / Current score / Current track / Selected notes), and Adjust reads "Up / Down N keys", with an exact octave marked as such.

If it would push notes outside o0o7 it does nothing at all, and tells you how many notes fall past the top or the bottom — MML simply cannot write pitches beyond that span, so clamping or dropping them would be the kind of damage you only notice later.

Moving notes outside the instrument’s range does go ahead, and afterwards you are told which scores are affected and how many notes each. Those notes are writable, visible and red — just drag them back. Blocking a whole song’s transpose for them would be out of all proportion. See Instrument range.

Optimise

Brings the character count down. This is the only thing that can change the sound, so the six methods come in three groups:

SymptomWhich one
A little over, and you do not want the sound touchedLossless — recomputes the shortest spelling; not one note moves
Lossless is not enough, and you still do not want the sound touchedNon-standard durations — recomputes at the game's timing resolution; not one note changes once pasted into the game. The cost is that the piano roll and playback here drift
You can live with note lengths changing a littleFill the gap (saves the most), Partial fill (keeps some sense of separation), Tail rest (gives up the tail as a breath). These three do change note lengths
One track has burst its limit while others in the same score have roomRegroup — moves notes into the gaps of the other tracks; not a single note changes

Why Non-standard durations can save more: the game's timing resolution is 384 steps to a whole note, and lengths that do not divide evenly are truncatedl9 is 384 / 9 = 42.6, so 42 steps. a16.&a64 happens to be 42 steps as well, so 8 characters become the 2 of a9 and the game sounds identical. This site uses a finer resolution (1920 steps to a whole note), so those spellings read back a few steps off — which is why the piano roll and playback here drift while the game does not. Keep it for last: compress, then paste; undo first if you want to carry on editing.

What Fill the gap, Partial fill and Tail rest do is bounded: no note's start time changes and the rhythm does not change, only lengths — extended by at most three times their original length and never beyond three whole notes, with the rest they give back no longer than an eighth note. So what you hear is the phrasing getting more or less legato, not the melody changing.

Every option button works out the cost for you first (characters saved, notes affected), and only runs once chosen. Range has the same four levels as before, with three exceptions worth remembering: Lossless always recomputes the whole track and ignores the selection; Non-standard durations does the same and is unavailable when the range is a selection; and Regroup only applies to the current score.

Regroup is best kept for last — it scatters the original three-track layout. And it barely saves any characters; its value is in "getting every track under its own limit". When it cannot move anything it distinguishes two cases and tells you whether what you need to free up is time or characters; follow what it says.

Not happy with any of it? Ctrl+Z.

Merge tracks

Folds this track (or the selected notes) into another one. The target dropdown is grouped by score, so you can merge into a different score as well.

Five methods, again chosen by symptom:

What you wantWhich one
The source moves across whole; the target survives only in the gapsSource wins
The reverse: source notes only go into the target's gaps, and collisions are droppedTarget wins
Two into one, with the melody floating to the topFavour melody (takes the highest note at every attack)
Two into one, keeping the bass lineFavour root (takes the lowest note at every attack)
That stretch of the target is not wanted; replace it wholesaleSource replaces target

The last three either generate a fresh monophonic line or discard the target's content, and both the explanation in the box and the cost on the button (notes dropped, notes shortened) are worked out for you first. Range has two settings: current track, or selected notes.

Piano roll

Where you draw notes with the mouse. The keys are down the left side and clicking a key sounds that note (while playing too); the thin strip along the top is the bar ruler.

Mouse

ActionResultRequires
Left click on empty spaceDraws a note (at the length chosen in the toolbar)Drawing mode
Left click on empty spaceSets the playback start markerSelect only mode
Drag from empty spaceMarquee: drags a dashed box; the selection becomes exactly what it caughtSelect only mode, not playing
Ctrl+drag from empty spaceMarquee add: what was already selected staysSelect only mode, not playing
Right click on empty spaceOpens the right-click menu (playback markers, select before/after, paste, insert / delete bars)
Left click a noteSelects it and sounds it once
Right click a noteOpens the note menu (playback markers, triplets, velocity, copy/cut/paste, delete)
Drag a noteMoves it (up and down for pitch, left and right for position)
Drag a note's right edgeChanges its lengthSingle selection only
Ctrl+click a noteAdds it to or removes it from the selection
Shift+click a noteSelects everything from the last note clicked to this one
Double-click a noteThe text cursor jumps to that note's positionSelect only mode
Left / right click on the bar rulerSets the playback start marker / opens a menuTap and long-press by finger

Press Esc before letting go to cancel a drag; with no drag in progress, Esc clears the selection. During a drag the arrow keys fine-tune by half a cell (only left and right do anything while resizing), and holding Shift moves an octave or a bar at a time. Whether a drag will crush other notes is written out on the right of the toolbar first: "will delete N notes / will shorten N notes".

Marquee selection

In Select only mode, drag a box from empty space and whatever it catches becomes the new selection — dashed outline, pale cyan fill, drawn over the notes (it is saying "I am circling this"), and the fill is faint enough that you can still see what you caught. Touching counts, it does not have to enclose; it does not snap to the grid; and it only selects the track you are on. Drag to the edge of the view and it scrolls by itself.

A plain marquee replaces: the selection becomes exactly what the box caught, and catching nothing clears it. Ctrl+marquee is what adds. Adding is not the default because a selection can be off-screen with nothing on screen to say so — otherwise "select a few notes in bar 3, scroll to bar 40, box the ones in front of you, then edit" would quietly edit bar 3 as well.

One asymmetry while you are here: Ctrl+clicking a note is a toggle (an already-selected note comes out), while Ctrl+marquee is add only (already-selected notes always stay). A box cannot reliably catch "only the ones not yet selected", so it does not try to toggle.

There is no marquee in drawing mode (dragging draws a note there), none during playback, and none by finger — a single finger drag pans the view, and multiple selection goes through the Multi key on the panel (see writing music on a phone or tablet).

Reading the picture

Selecting, deleting, clipboard

KeyEffectRequires
Delete/BackspaceSelected notes become rests of the same lengthA selection, focus outside the text pane
+/-Velocity one step up or downA selection
Ctrl+CCopies the selected notesA selection
Ctrl+XCuts (copies, then leaves rests)A selection
Ctrl+VPastes notesSee below

Ctrl+V lands at "the selection, or wherever the mouse is right now". With neither, it reminds you to "select some notes, or move the mouse to where you want to paste". Pasting replaces whatever was at the landing point, and Ctrl+Z undoes it.

Instrument range

Every instrument can only produce a certain span of pitches, and notes outside it are silent in the game — the roll shows a perfectly reasonable note, and pressing play gives you nothing. So the roll draws that fact.

The range is computed from the sound bank you currently have loaded, not from a hard-coded table. Load a different sound bank and the dimmed rows follow it — what you see is always the one you are hearing.

Strings and voices are particularly narrow, some of them barely three octaves, so switching to one dims most of the roll — that is not a fault. The exact ends are the two lines on the keyboard; there is nothing to memorise.

Transposing is not blocked. If it pushes notes outside the range you are told which scores and how many notes each — those notes are red, so drag them back. Changing the instrument also reports how many notes in that score fall outside.

While the sound bank is still loading, or before a score has an instrument, nothing is restricted at all — exactly as it was before this feature existed. Unknown stays unknown; you are never blocked by a guessed range.

“Before a score has an instrument” means nobody has actually picked one. The dropdown always shows something, but that is a default the app filled in, and it does not count. So a freshly imported MIDI is never measured against the lute’s range for its whole length — none of that red would have been real. Pick one yourself, or import a .mmi / .mml that already carries instruments, and the range check starts working.

The percussion roll

On a score whose instrument is Drum set, the roll switches to a layout built for drums. You can turn it off in the settings; it is on by default.

Each of the 15 drum pads gets a row of its own, all of them gathered into the lowest two octaves; the strip down the left carries drum names instead of piano keys; and a note is no longer a long block but a shape at the moment of the hit plus a thin line for its length — drums and toms are circles, hi-hats are downward triangles, cymbals are diamonds and triangles, and the bass drum and side stick are squares.

Not a single character of the MML changes. All that changes is which row a note is drawn on. Turn the setting off and the same score's notes go back to their real pitches, with identical contents.

Dragging a note up or down swaps it to another drum rather than changing its pitch — the empty rows in between are skipped automatically. Transposing is switched off for these scores: adding or subtracting semitones would turn the bass drum into a pitch the game has no key for, which makes no sound at all.

Rows with no drum on them cannot be drawn on, and that covers both the empty rows and every other octave. Mabinogi's Drum set has exactly those 15 sounds, and the extra rows have nothing to play — and now you can see it at a glance: the 15 pad rows are the darkest cells (empty, put your notes here), every other row is a shade lighter (occupied), and the keys of the octaves above are dimmed along with them.

Move the mouse onto the keyboard at the left and the whole column of drum names turns into note names (BD becomes o2F); move away and they turn back. The percussion roll packs the 15 pads into the lowest two octaves, so the row on screen has nothing to do with the pitch that actually goes into the MML — when you are hand-writing MML, this is where you read which note that hit is.

Turning the setting off and going back to the piano roll does not take the drum names away: those 15 pitches still carry their drum names, only placed on the pitches they really are. Real pitch and drum name at the same time, no need to choose.

Red notes

When an imported score contains a duration this site cannot write out, those notes are painted red on the roll and the reason is spelled out at the right of the toolbar. The track stays editable — you can draw, drag, and delete the offending note right there; once it is dealt with the red clears itself.

There are three kinds of red. The duration cannot be written (editing moves it to the nearest legal length), outside the instrument’s range (see Instrument range — that note will not sound in the game), and a non-standard duration is in use (kept exactly as it is, not a tick moved, but the game may not accept it). The next step for the first two is the same one — open the list and work through it — so their message is a single "N notes to deal with", and which kind each one is is written on its row in the list.

Non-standard durations get a line of their own, and it holds the other one back: the toolbar says "This score has N non-standard durations" with a Restore standard durations button beside it. Pressing it converts the non-standard durations across this score's three tracks into standard spellings (one step; Ctrl+Z if you are not happy), the line disappears and the other one takes over. One thing at a time — restoring rewrites durations, so the other two counts would be a different set afterwards anyway.

The button only appears when pressing it would actually do something. Some non-standard durations cannot be restored (tuplets), and there you get the red text with no button — because that is not a defect, the original piece simply was not in standard durations.

Quintuplets and septuplets do not count: cutting a beat into 5 or 7 does not divide evenly into the game's 384 steps, so the remainder has to be spread across the notes. That is a fact about the music, not a mistake, so those notes are not marked red. The test is "they add up to exactly a whole, half or quarter note" — anything outside that (a quintuplet over an eighth, say) still counts.

Rests have no block on the roll, so the two duration kinds can only be marked by the bar shading — something is in that stretch, and the message gives the count. The range kind gets no bar shading: pick the wrong instrument and most of the notes qualify, and shading the whole song red would only make it harder to read.

Editing in the roll regenerates the whole track's MML. The notes themselves are unaffected, but any comments and manual formatting you wrote will be lost. Get the notes right in the roll first and format last.

A right click on the roll opens one of two menus, and where you click decides which: on a note the menu is about "these notes", on empty space it is about "the timeline at this position". Both are independent of the mode — they open whether you are holding Select only or a note length.

A right click on the bar ruler used to set the end marker straight away; it now opens a menu: set playback start / set playback end / clear playback range / change this bar's meter / add a volume change here. Setting the end marker therefore takes two actions instead of one — that is a step backwards, traded for four things the ruler had no entry point for at all, two of which were simply impossible on a phone (no right click there, and no long press either). By finger, press and hold.

Every item in the menu acts on the selection, not on the one note you right-clicked. Right-clicking a note that is not selected selects it first (exactly as a left click would); right-clicking a note inside the selection leaves the whole group alone — so "select a phrase, right click, Set velocity" is the intended way to work.

Items that cannot run are greyed out with the reason written in ("Not editable while playing", "No notes on this side", "Nothing after this point"). Copy notes is the only item that still works while playing — it does not touch the editor.

The heading tells you the bar and how many notes are selected.

ItemWhat it does
Start playback before these notes / End playback after these notesSets the two playback markers to the span of the whole selection — select a phrase, right click, and the range is bracketed
Select all notes before / Select all notes afterTakes the note you right-clicked as the cut point and selects everything on that side of the current track. The grey line tells you how many first
Make tripletsCuts each selected note into three equal parts at the same pitch (l1cl3ccc). Only whole, half, quarter, eighth and 16th notes can do it, and where a note cannot, you are told which one in which bar
Set velocityPick a value from 0 to 15 with ◀ ▶ and the selected notes are set to it. The grey line shows the velocity those notes are at now
Copy notes / Paste notesThe same thing as Ctrl+C/Ctrl+V. Paste lands on the start of this note (the grey line gives the bar and the beat)
Cut notes / Delete notesThe two red items. Deleting leaves a rest of the same length, and nothing after it shifts

Set velocity and the roll's +/- are two different things: this one means "set it to 10", those two mean "one step up or down from where it is".

The heading tells you which bar you right-clicked. The first few items are the same kind of thing as in the note menu (playback markers, selecting, pasting); the last six are the only edits on this site that shift the timeline:

ItemWhat it does
Set playback start / Set playback endSets it where you right-clicked. The markers snap to a 1/32 cell, not to the bar line — otherwise "let me hear this phrase up to here" would be impossible
Select all notes before / Select all notes afterTakes this position as the cut point and selects that side of the current track
Paste notesPastes where you right-clicked (the grey line gives the bar and the beat)
Insert N bars into this partInserts empty bars before this bar, pushing this one track only
Insert N bars into the scoreThe same, but the tracks the current score is using move together (three for an instrument score, one for a vocal score)
Insert N bars into the whole projectMoves every live track in every open score together, including time signatures and section marks
Delete N bars from this part / the score / the whole projectThe three red items. Those bars go and what follows closes up behind them

The number of bars is set with ◀ ▶ (1 to 16 for inserting; deleting narrows to "how many bars are left from here to the end"), and it resets to 1 every time the menu opens, each of the six rows on its own. Moving multiple tracks still counts as one undo step, so a single Ctrl+Z puts all of it back.

The two "this part" items leave the other tracks of the same score a bar out of step — that is deliberate: this is the tool for "I captured this one wrong and the whole span has to move back". To move the whole score, use the two score items.

Part and score edits do not cross scores. To keep the whole ensemble aligned, use whole project; it also moves the global time signatures and section marks.

KeyEffect
/Moves up and down the rows. On opening, no row is highlighted (your mouse is still somewhere else); one press takes you in
/Changes that row's number, the same as pressing ◀ ▶
Enter/SpaceRuns the highlighted row
Esc/TabCloses it and gives focus back to where it was

Changing a number does not close the menu (otherwise several bars could never be set); only pressing the runnable half closes it. The menu does not take the wheel — swallowing it would feel like the scrollbar had jammed — but scrolling the roll closes the menu (so does resizing the window).

Clicking outside also closes it, and that click does not count — closing the menu by clicking the roll in drawing mode does not draw a note on the way.

Score tabs and the editing area

The lower half of the screen. One tab is one complete score handed to one person, with its own instrument and name; up to 16 of them and at least 1 (a solo is a perfectly normal use).

The tab row

ActionResult
Click a tabSwitches to it
Double-click the nameRenames it. In an ensemble, "Vibraphone - Sam" is easier to recognise than "Score 5"
Drag a tabChanges the order of the scores
Click the dot to the left of the nameShows or hides this score's notes in the piano roll (playback is unaffected)
The on the rightRemoves this score. It asks first if there is still content in it, and the scores after it move up one slot
+ AddAdds a new empty score

The instrument row

The line under the tabs, left to right:

ControlWhat it does
Instrument dropdownWhich sound this score uses. One score has one instrument, shared by all four tracks
Instrument score / Vocal scoreAn instrument score uses the three tracks Melody / Harmony 1 / Harmony 2; a vocal score uses only Vocal. Switching never discards the other side
MuteThis score makes no sound on playback. On playback only — save, share, mixdown MP3 export and Make MP4 video all ignore it
Play onlyPlays this score alone and mutes all the others. Click again to release
Show (the eye)Hides this score's notes in the roll. It still sounds — to silence it use Mute
Show onlyDraws only this score in the roll and takes all the others off. Click again to show them all
3D mix (the concentric circles)Opens the 3D mix while editing and sets where this score sits in the room. The button is the switch as well — lit means you really are hearing it; click again to turn it off
CopyCopies this score as an MML@…; you can paste into the game

Mute and Play only are about sound, Show and Show only are about the display: four buttons side by side, entirely independent of each other.

The 3D mix while editing

The concentric circles at the end of the instrument row. The icon is a picture of what it opens: a plan view of a room with you in the middle, one ring every 2 metres.

The button is the switch as well. Click it while dark and it turns the spatial sound on and opens the box; click it while lit and it turns it off. So "lit" always means you really are hearing it. To go back in and move something, click twice — off, then on again. The S key is the same switch but does not open the box — use it to flip the mix on and off and hear the difference.

Every score in the box can be dragged — spatial sound is about relative positions, and you cannot arrange anything if only one piece moves. The dimmed ones are the scores the slider and the reset button do not reach, not scores you cannot touch. The listener in the middle stays put: it is the origin that "straight ahead" is measured from.

Everything starts stacked straight ahead of you, half-overlapping in a single line — all of it inside the innermost ring (the thicker one), and distance does not count inside that ring. So by default every score is exactly as loud as every other.

While they are stacked, the score you are working on is always on top and never buried. To pull a different one out, switch to that tab and open this box from there.

The two sliders below each control one direction, and both show a percentage on the right:

Reset placement moves this score back to straight ahead (left / right re-centred too) and leaves every other score alone.

The three modes, bottom leftWhat you hear
OffThe same sound you normally hear in the editor
Left / rightLeft, right and distance only; front and back are inaudible. Right on speakers and headphones alike
3DFront and back as well. Wear headphones — speakers cannot render it

These positions are a separate set from the mixdown MP3 export and Make MP4 video.

Playback only. Save, share and export all behave as if these settings did not exist, exactly like Mute.

The MML text pane

On a desktop the three tracks sit side by side (Melody / Harmony 1 / Harmony 2), which makes them easy to line up. Whichever one you click becomes the roll's focus, and the one being edited has a brighter border.

The top right of each track is its counter: N notes · N/limit chars. That is the count after export, with spaces and line breaks excluded, so you can use line breaks to separate bars freely. Going over the limit turns it red, but nothing stops you carrying on editing.

TrackCharacter limit
Melody1600
Harmony 11200
Harmony 2900
Vocal1200

This is a hard limit set by the game. The number shown on screen is the limit actually in force — where it disagrees with this table, believe the screen.

Status bar

The bottom line. It is all "what is true right now"; there is nothing to press:

FieldMeaning
ScoresHow many scores there are now / the maximum
NotesTotal note count
TempoThe BPM in force. With no t written it shows "120 BPM (default)"
LengthHow long the whole piece takes to play
Save stateSaved · time / Not saved yet / Autosave is off
EngineThe synthesiser's loading progress and sample rate. There is no sound until Engine ready

Two more appear in the middle only when needed: parse warnings (unrecognised characters, pitches out of range and so on), and the persistent tempo mismatch notice — that one has the button that fixes it right beside it.

Settings drawer

The Settings button in the title bar; Esc closes it. Top to bottom:

ItemNotes
Sign inSign in with Google. Sharing, Save to web and sheet music recognition — those three require it; editing, importing .mid / .mml / .mmi, exporting and local saves do not
LanguageThe interface language. Switching reloads the page — the score is kept, but the undo history is cleared
AutosaveStores the score in this browser so a restart picks it up again, and nothing is uploaded to the server. Turning it off does not delete what is already stored, but later edits are no longer recorded — a refresh takes you back to the state it was in when you turned it off
Key signaturePick a key and the in-key rows go darker in the roll (empty, put your notes here) while out-of-key rows go a shade lighter. A hint only
Percussion rollOn a score whose instrument is Drum set, the roll switches to a layout built for drums: one row per drum pad, drum names down the left instead of piano keys, and notes drawn as shapes. Enabled by default; turn it off to go back to the piano roll, but the drum names stay on the keyboard. See the percussion roll
Time signaturesThe opening meter and meter-change labels are shown by default. Hiding them removes only the text; bar lines, bar edits and MML line breaks still follow the real meter
Syntax colouringTempo, note length, octave and volume each get a colour; unrecognised characters get a red wavy underline, and anything past the character limit gets a red background
MML line breaksA line break every 1 or 2 bars. It changes the text (real line breaks are inserted), but whitespace does not count towards the game's limit. A note held across a bar line cannot be split, so that line runs longer and the numbering skips
Bar markersA bar number in the text every few bars. It changes the display and not one character of the text. Off by default
Sound bankLoad your own .dls / .sf2 / .sf3. It also decides where the instrument range dims. Details in the FAQ
Instrument definitionsLoad your own .def, which decides which sounds the instrument dropdown lists
Choose instrumentsOpens the full instrument list, where you set the default instrument (what a new score starts with) and hide the ones you rarely use. See below
Delete accountDeletes the account, every share and every web save under it, with no way back. What exactly is promised is set out in the privacy policy

The default instrument is what a new score starts with, and clipboard pastes and MIDI imports take the same path. A score that names its own instrument (@, or an .mmi file’s program=) wins — that was its author’s decision.

Hiding only takes an instrument out of the dropdown; it does not remove it. If a shared or imported score uses a hidden instrument, it still appears, marked “Lute (hidden)”, and is still selectable — no track can end up with an instrument you cannot select again.

Both settings live in this browser. They are not uploaded, they do not travel with a share, and another computer needs them set again. The whole entry greys out while a custom sound bank or a custom .def is loaded: these settings identify instruments by their English name, and there is no guarantee those names line up in someone else’s bank — getting it wrong would silently hide a different instrument. Reload to go back to the built-in bank and the settings come back.

Mixdown MP3 export

The separate button next to the format dropdown in the File panel. It is not the same kind of thing as the three formats above it:

.mid / .mml / .mmiMixdown MP3
What you getA score, which still needs something else to open itAn audio file anyone can play
How longInstantTens of seconds — it is computing new audio
Muted scoresWritten out anywayHeard anyway (see below)
Pressing itDownloads straight awayOpens a stage for you to arrange first

Mute and Play only do not count here. Those two are editing tools — “I want to hear this one on its own right now” — not “leave this part out of this version”. So anything with notes on it is included: mixdown export, Make MP4 video, save and share all behave identically. To really drop a part, clear that score or delete its tab.

The stage: a view from above

The dialog it opens is called Mixer spatial layout. The picture in the middle is a room seen from above:

The instrument name on the label earns its place: deciding who stands where is a decision about instruments (bass at the back, melody in the middle), not about "score 3".

Drag something further away and it gets quieter and moves off to that side. At the far edge it is about half as loud; no instrument ever disappears completely, and dragging one right on top of the circle will not blow your ears out either.

Who appears on the stage is decided by whether there are any notes:

State of the score tabOn the stage
Has notesDrawn normally, takes part in the mix
No notes at allNot drawn

The layout is remembered and is still there next time (stored in this browser along with the score, so autosave needs to be on). To start over press Reset layout: the instruments go back to the default arc and the listener returns to their original spot.

Listen before you export

There is a row with ▶ Preview, a progress slider and a time. It plays exactly what the export will give you, so you can drag instruments around while it is playing and hear the change immediately.

Two things differ from ordinary playback:

Once you are using a sixteenth score, an extra line appears in the dialog: during preview it will sit in the same spot as the first one. That is a limitation of live playback; the export does not have this problem — in the file it is wherever you put it. Only people who actually use a sixteenth score ever see that line.

Headphones or speakers

The default is headphones: front, back, left and right all come through, and it sounds best.

Tick Speaker mode to switch to the algorithm meant for speakers. The cost is written next to the tickbox: front and back get flattened — only left and right survive, so dragging something behind the circle sounds the same as dragging it in front. It is the more natural choice when playing through speakers, but arranging depth becomes pointless.

Pressing Start export

The button turns into a progress bar in place. The stage does not disappear, the layout stays visible, and Cancel sits beside it. Cancelling is immediate and puts everything back the way it was.

The filename comes from the field at the top of the File panel, shared with the other exports.

The download starts automatically when it finishes, and the stage stays open — this is an arrange-export-listen-rearrange loop, and closing it automatically would mean reopening it every time. That is a deliberate difference from the other exports, which close on the way out.

About the file
FormatMP3, 192 kbps, 44.1 kHz stereo. Around 7 MB for five minutes
LevelTurned down, never up: the whole thing is brought down only if it would clip, and otherwise not touched by a single dB. A deliberately quiet piece will not be made loud
The endingKept until the last note has genuinely died away — no hard cut, and no trailing silence either

It may fail on a phone, and the message will say so plainly. This needs the audio for the whole piece in memory at once (around 100 MB for five minutes), which phones often cannot manage. For a long piece, export from a computer.

Make MP4 video

The bottom button in the export area, Make MP4 video. What comes out is a piano waterfall video — notes falling from the top, splashing effects as they land on the keyboard — ready to post on social media.

Pressing it opens the video page in a new tab; the editor stays exactly where it was. No sign-in, and no need to share the score first: the score is handed over inside your own browser, and the short string in the address bar is only a key to it.

That key only works in your own browser, and only for a day. Paste the video page address to someone else and all they will see is “Score not found”. To give a score to someone, use Share.

On the video page you can pick the colours, the note style and the landing effect, and there is a stage just like the mixdown one for arranging positions. The picture is always 16:9 landscape. Press download and it shows progress as it computes.

About the file
FormatMP4 (H.264 + AAC), 30 fps
ResolutionChosen by device: 1080p on a computer, 720p on phones and tablets. Not an option — guessing wrong means the tab gets killed by the system
SoundThe very same samples you hear on the video page, not a second render

Do not close that tab while it is exporting. If you try, the browser asks first. Pressing “Make MP4 video” again after editing re-points the same video tab — so if that one is mid-export, it asks too.

If you loaded your own sound bank in the editor, the video still uses the built-in one, and the video page says so.

Narrow screens and phones

As the screen narrows, things fold away rather than disappear:

There are two triggers: a very narrow screen, or a very short one — so a phone held sideways (wide but short) gets this layout too, and so does a desktop window squashed flat.

This section is about layout, and has nothing to do with whether you are using a mouse or your fingers. A squashed desktop window looks like this too, and there you still have a mouse — every shortcut and every right-click menu above is still there.

Using your fingers brings a whole separate set of things — tap, press and hold to pick a note up, two-finger zoom, and the control panel that rises from the bottom of the screen once a note is selected. Those are in writing music on a phone or tablet.

The full keyboard and mouse tables are in keyboard and mouse shortcuts. Not read the quick start yet? The editor quick start has a single route from nothing to pasting into the game. To write MML by hand see the syntax guide, and for anything else the FAQ.