Build a Major Scale
In this tutorial, you'll build a major scale using just intonation ratios - the exact fractions from the natural harmonic series.
Objective
Create an 8-note major scale (Do-Re-Mi-Fa-Sol-La-Ti-Do) using pure ratios.
Prerequisites
- RMT Compose running
- Familiarity with the Variable Widget
- Understanding of Core Concepts
The Major Scale Ratios
| Degree | Name | Ratio | Decimal |
|---|---|---|---|
| 1 | Do | 1/1 | 1.000 |
| 2 | Re | 9/8 | 1.125 |
| 3 | Mi | 5/4 | 1.250 |
| 4 | Fa | 4/3 | 1.333 |
| 5 | Sol | 3/2 | 1.500 |
| 6 | La | 5/3 | 1.667 |
| 7 | Ti | 15/8 | 1.875 |
| 8 | Do | 2/1 | 2.000 |
Step 1: Set Up the BaseNote
- Open RMT Compose
- Click the BaseNote (orange circle)
- In the Variable Widget, scroll down to the bottom and click "Clean Slate" to remove all notes except the BaseNote
- Verify the BaseNote settings are what you want:
- frequency: e.g.
440(A4) - tempo: e.g.
120(120 BPM)
- frequency: e.g.
Step 2: Create the Root (Do)
- With the BaseNote selected
- In the Variable Widget, find "Add Note / Silence" section
- Select "Note", then click "Create Note"
- Select the new note
- Set its frequency:
base.fLegacy JavaScript syntax
javascript
module.baseNote.getVariable('frequency')- Set its duration to a quarter note:
beat(base)Legacy JavaScript syntax
javascript
new Fraction(60).div(module.findTempo(module.baseNote))- Click Save
Step 3: Create Re (9/8)
- Select the Do note you just created (Note 1)
- In "Add Note / Silence", keep "Note" and "At End" selected, click "Create Note"
- Select the new note (Note 2)
- Set its frequency:
base.f * (9/8)Legacy JavaScript syntax
javascript
module.baseNote.getVariable('frequency').mul(new Fraction(9, 8))- Click Save
Step 4: Create Mi (5/4)
- Select Note 2
- Click "Create Note" (in "Add Note / Silence" section)
- Select Note 3
- Set its frequency:
base.f * (5/4)Legacy JavaScript syntax
javascript
module.baseNote.getVariable('frequency').mul(new Fraction(5, 4))- Click Save
Step 5: Create Fa (4/3)
- Select Note 3
- Add a new note
- Set frequency:
base.f * (4/3)Legacy JavaScript syntax
javascript
module.baseNote.getVariable('frequency').mul(new Fraction(4, 3))Step 6: Create Sol (3/2)
- Add note after Fa
- Set frequency:
base.f * (3/2)Legacy JavaScript syntax
javascript
module.baseNote.getVariable('frequency').mul(new Fraction(3, 2))Step 7: Create La (5/3)
- Add note after Sol
- Set frequency:
base.f * (5/3)Legacy JavaScript syntax
javascript
module.baseNote.getVariable('frequency').mul(new Fraction(5, 3))Step 8: Create Ti (15/8)
- Add note after La
- Set frequency:
base.f * (15/8)Legacy JavaScript syntax
javascript
module.baseNote.getVariable('frequency').mul(new Fraction(15, 8))Step 9: Create High Do (2/1)
- Add note after Ti
- Set frequency:
base.f * 2Legacy JavaScript syntax
javascript
module.baseNote.getVariable('frequency').mul(new Fraction(2))Verification
- Click Play to hear your scale
- You should hear 8 notes ascending
- The last note (high Do) should sound like the first note, but higher
Check Your Work
Select each note and verify the frequency ratio in the Variable Widget:
| Note ID | Expected Ratio |
|---|---|
| 1 | 1/1 |
| 2 | 9/8 |
| 3 | 5/4 |
| 4 | 4/3 |
| 5 | 3/2 |
| 6 | 5/3 |
| 7 | 15/8 |
| 8 | 2/1 |
Save Your Module
- Click Menu > Save Module
- Rename to
major-scale-just.json
Exercises
Exercise 1: Descending Scale
Modify your scale to descend from high Do to low Do.
Hint: Change the order of start times, or create new notes in reverse order.
Exercise 2: Change the Root
- Click the BaseNote
- Change frequency to
330(E4) - Play - the scale is now in E major!
Exercise 3: Longer Notes
Change all durations to half notes:
beat(base) * 2Legacy JavaScript syntax
javascript
new Fraction(60).div(module.findTempo(module.baseNote)).mul(new Fraction(2))What You Learned
- Major scale intervals as pure ratios
- Creating sequential notes using "At End" positioning
- How changing BaseNote transposes the entire scale
- The relationship between tempo and duration
Next Steps
- Create a Major Triad - Build a chord
- Add Rhythm - Create varied rhythms
- Compare with 12-TET to hear the difference