Mini-notation to MusicXML

Write rhythmic patterns, inspect the score, and export MusicXML.

Input

Ctrl/Cmd+Enter to render

Syntax guide

Enter a raw pattern: no surrounding quotes, note(...) wrapper, or sample names. Choose an example above, then select Render score. Each symbol links to its Tidal reference section in a new tab.

Notes and score length

Use note letters A–G, an optional # or b, and an octave: c4 c#4 db4. The default octave is 4. Numbers 0–127 are MIDI pitches; 60 is middle C. Note names are case-insensitive.

In this app, each top-level weight unit is one quarter-note beat. c4 d4 e4 gives 3/4; [c4 d4 e4] fills one beat. The app exports the complete repeating period, so alternation and division can produce multiple measures.

Supported syntax and runnable examples
SymbolUseExample
SpacesSequence. Separate successive notes.c4 d4 e4 g4
~Rests. Leave a silent slot.c4 ~ e4 ~
-Rest alias. This app also accepts a hyphen as a rest.c4 - e4 -
[ ]Subdivision. Fit a group into one parent slot.c4 [d4 e4] g4 ~
*Multiplication. Repeat within the same slot. Positive decimals work too.c4*2 d4 e4 g4
/Division. Slow a pattern across cycles.[c4 d4]/2
< >Alternation. Choose successive children on successive cycles.c4 <d4 e4 g4>
!Replication. Add repeated slots; use a positive integer.c4!3 d4
@Weight. Set a note or group’s relative weight.c4@2 d4 e4
_Continuation. Add one weight unit to the preceding note or group.c4 _ _ d4
( )Euclidean rhythm. Use (pulses,steps) after a note.c4(3,8)@4
( , , )Euclidean rotation. The third integer shifts the rhythm left by that many steps.c4(3,8,2)@4

*2 adds attacks inside a slot; !2 adds slots. Decimal weights are accepted when the inferred meter is representable. A local slowed note stays inside its slot; c4 d4/2 gives C/D, then C/rest. A whole-pattern sustain such as c4/2 is tied across barlines.

Nested tuplets

Combine brackets and weights to define nested rhythmic spans. These examples are also in the menu:

Limits and editing

Euclidean syntax applies to individual notes or rests: integer pulses from 0 through the step count, 1–2,000 steps, and an optional signed rotation. Commas are accepted only between these parameters. Balanced brackets do not by themselves guarantee valid musical syntax.

The live bracket checker reports a line and column; Go to bracket selects the problem. Input is limited to 10,000 characters, 32 nesting levels, and 2,000 expanded notes/rests. Inferred meters use numerators 1–32 and denominators 4, 8, 16, or 32. Complex rhythms can reach the exporter’s tuplet limits.

Not supported: chords/parallel commas, randomness (?, |), dot grouping (.), numeric ratios (%), polymeter ({ }), sample selection (:), or Euclidean modifiers on compound groups. A decimal point inside a number, such as *2.5, is supported.