Tutorials
Each tutorial walks one path to one result. Do the steps in order, in the app, with sound on.
Learning path
Beginner
Start here if you have never used RMT Compose.
- Build a Major Scale — eight notes, eight pure ratios
- Create a Major Triad — three notes that sound at once
- Add Rhythm — beats, durations and silences
Intermediate
- Note Dependencies — make one note follow another
- Octave Manipulation — the ▲/▼ arrows and the
^operator - Working with Measures — measure chains and time signatures
Advanced
- Microtonal Composition — TET systems and Bohlen-Pierce
- Understanding SymbolicPower — the algebra behind TET
- Complex Dependencies — branching and diamond structures
Workflows
- Building a Module Library — save and reuse your work
- Exploring Intervals — the 46 shipped interval modules
- Microtonal Experiments — structured listening
Before you begin
You need the app running — locally, or at rmt.world. Read Core Concepts first, and get the lay of the Workspace.
Two controls will meet you before you finish tutorial 1:
- The gear in the top bar opens the Settings panel. It has five tabs — Appearance, Arrows, Audio, Library, Scale — and it is not modal, so it stays open while you compose.
- The padlock at the bottom right locks the workspace. While it is on, clicking a note does nothing at all. It ships unlocked; if notes stop responding, check it.
What the app opens with
RMT Compose boots into a 169-note demo composition. Its BaseNote is:
| Property | Default |
|---|---|
| frequency | 263 Hz |
| startTime | 0 |
| tempo | 100 BPM |
| beatsPerMeasure | 4 |
Every beginner tutorial starts by clearing that composition: click the BaseNote, scroll to DELETE ALL NOTES, click Clean Slate, confirm. The tutorials do not assume you changed the BaseNote's frequency or tempo, so their numbers are ratios, not hertz.
How editing works
Three facts save a lot of confusion:
- Edits take effect on Save, not while you type. Every expression row — startTime, duration, frequency — has a
Raw:field and aSavebutton. The Save button is invisible until you touch the field — it appears on your first keystroke. - A bad expression is rejected with a message. The reason appears in red under the Save button, the field gets a red border, and the old value stays until you fix it.
- Undo works.
Ctrl+Z/Ctrl+Y, or the Undo/Redo buttons in the "+" menu and in the module library toolbar. You do not need to save defensively.
TIP
Expressions are written in the DSL: base.f * (3/2), [1].t + [1].d, beat(base). Write fractions parenthesised — (3/2) — which is the form the app itself emits and normalises to. Parentheses are load-bearing under ^: 2^(7/12) is a 12-TET fifth, while 2^7/12 parses as (2^7)/12 and is quietly something else. See the expression syntax reference.
Tutorial format
Every tutorial states what you will build, walks the steps, tells you how to check the result, and offers exercises. Follow along in the app rather than reading through — the choreography of the note widget is most of what you are learning.