Skip to content

Reference

Complete reference documentation for RMT Compose expressions, properties, and formats.

Expression Language

Note Properties

Other References

Quick Reference Tables

Common Ratios

IntervalRatioExpression
Unison1/1new Fraction(1)
Minor second16/15new Fraction(16, 15)
Major second9/8new Fraction(9, 8)
Minor third6/5new Fraction(6, 5)
Major third5/4new Fraction(5, 4)
Perfect fourth4/3new Fraction(4, 3)
Tritone45/32new Fraction(45, 32)
Perfect fifth3/2new Fraction(3, 2)
Minor sixth8/5new Fraction(8, 5)
Major sixth5/3new Fraction(5, 3)
Minor seventh9/5new Fraction(9, 5)
Major seventh15/8new Fraction(15, 8)
Octave2/1new Fraction(2)

TET Steps

SystemExpression
12-TET semitonenew Fraction(2).pow(new Fraction(1, 12))
19-TET stepnew Fraction(2).pow(new Fraction(1, 19))
31-TET stepnew Fraction(2).pow(new Fraction(1, 31))
BP-13 stepnew Fraction(3).pow(new Fraction(1, 13))

Duration Values

NoteBeatsExpression (at tempo)
Whole4beat.mul(new Fraction(4))
Half2beat.mul(new Fraction(2))
Quarter1beat
Eighth0.5beat.mul(new Fraction(1, 2))
Sixteenth0.25beat.mul(new Fraction(1, 4))

Where beat = new Fraction(60).div(module.findTempo(module.baseNote))

Keyboard Shortcuts

ActionWindows/LinuxMac
UndoCtrl+ZCmd+Z
RedoCtrl+YCmd+Y

Variable Indices (Internal)

IndexVariable
0startTime
1duration
2frequency
3tempo
4beatsPerMeasure
5measureLength

Bytecode Opcodes (Internal)

OpcodeHexDescription
LOAD_CONST0x01Push Fraction constant
LOAD_REF0x02Push note variable
LOAD_BASE0x03Push baseNote variable
LOAD_CONST_BIG0x04Push BigInt Fraction
ADD0x10Addition
SUB0x11Subtraction
MUL0x12Multiplication
DIV0x13Division
NEG0x14Negation
POW0x15Power
FIND_TEMPO0x20Tempo lookup
FIND_MEASURE0x21Measure length lookup

Released under the RMT Personal Non-Commercial License