Loading Modules
Learn how to import modules into your workspace.
Methods of Loading
Method 1: Drag from Module Bar
The quickest way to load a module:
- Open the Module Bar (below the top bar)
- Find the module you want
- Drag it onto the workspace
- Release to load
Method 2: Load from File
Load a module from your computer:
- Click the Menu (☰) in the top bar
- Select Load Module
- Click Load from file
- Select a JSON file from your computer
- The module loads into the workspace
Method 3: Reset to Default
Load the built-in default module:
- Click the Menu (☰)
- Select Load Module
- Click Reset to Default Module
Built-in Modules
RMT Compose includes several categories of preset modules:
Intervals
Simple two-note intervals:
- octave - 2:1 ratio
- 5th - 3:2 (perfect fifth)
- 4th - 4:3 (perfect fourth)
- major 3rd - 5:4
- minor 3rd - 6/5
Chords
Common chord voicings:
- major - Major triad (1, 5/4, 3/2)
- minor - Minor triad (1, 6/5, 3/2)
Melodies
Example sequences and scales:
- TET-12 - Chromatic scale in 12-TET
- TET-19 - 19-TET scale
- TET-31 - 31-TET scale
- BP-13 - Bohlen-Pierce scale
- Various melodic examples
Custom
Your personal module library (initially empty).
What Happens When You Load
When you load a module:
- Current workspace is replaced - All existing notes are removed
- BaseNote is set - From the module's baseNote definition
- Notes are created - From the module's notes array
- Expressions are compiled - To binary bytecode
- Dependencies are calculated - The dependency graph is built
- Rendering updates - The workspace displays the new content
WARNING
Loading a module replaces everything in the workspace. Save your current work first if needed!
Module File Format
Modules are JSON files with this structure:
json
{
"baseNote": {
"frequency": "new Fraction(440)",
"startTime": "new Fraction(0)",
"tempo": "new Fraction(120)",
"beatsPerMeasure": "new Fraction(4)"
},
"notes": [
{
"id": 1,
"frequency": "...",
"startTime": "...",
"duration": "...",
"color": "rgba(...)",
"instrument": "sine-wave"
}
]
}See Module Format for complete schema documentation.
Troubleshooting
Module won't load
- Check that it's a valid JSON file
- Ensure the file follows the module schema
- Look for syntax errors in expressions
- Check browser console for error messages
Notes appear in wrong positions
- Verify expression syntax is correct
- Check for circular dependencies
- Ensure referenced note IDs exist
No sound when playing
- Check that notes have valid frequency expressions
- Verify startTime and duration are set
- Ensure the module has at least one note
Tips
- Preview before loading - Read the module name and description
- Save first - Export your current work before loading a new module
- Start from presets - Load a built-in module and modify it
- Use the Module Bar - It's faster than file loading for common modules