Skip to content

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.

  1. Build a Major Scale — eight notes, eight pure ratios
  2. Create a Major Triad — three notes that sound at once
  3. Add Rhythm — beats, durations and silences

Intermediate

Section overview

  1. Note Dependencies — make one note follow another
  2. Octave Manipulation — the ▲/▼ arrows and the ^ operator
  3. Working with Measures — measure chains and time signatures

Advanced

Section overview

  1. Microtonal Composition — TET systems and Bohlen-Pierce
  2. Understanding SymbolicPower — the algebra behind TET
  3. Complex Dependencies — branching and diamond structures

Workflows

Section overview

  1. Building a Module Library — save and reuse your work
  2. Exploring Intervals — the 46 shipped interval modules
  3. 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:

PropertyDefault
frequency263 Hz
startTime0
tempo100 BPM
beatsPerMeasure4

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 a Save button. 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.

Released under the MIT License