RUB docs

Song JSON

Full song JSON documents for AI tools — dialog, clipboard shortcuts, and metadata.

RUB’s native song format is a fixed-schema JSON document (format: "rub"). The UI exposes the whole document for copy/paste workflows with AI tools.

Song JSON control
Song JSON — braces icon opens the dialog; Cmd/Ctrl+Shift+C / V copy and apply from the clipboard.

Open the dialog

Click the braces icon left of the shortcuts help (footer). The overlay shows live JSON while you edit the synth; editing the text marks it dirty until you Apply.

Clipboard shortcuts (no dialog)

ShortcutAction
Cmd/Ctrl+Shift+CCopy current song JSON to the system clipboard
Cmd/Ctrl+Shift+VValidate clipboard JSON and apply it

Invalid paste shows an error dialog. Pattern copy/paste remains Cmd/Ctrl+C/X/V (no Shift).

Document shape

Top-level keys include format, version, name, bpm, mode, chain, patch, patterns, optional custom waves, and lanes (Param Seq).

KeyMeaning
osc1_custom / osc2_customOptional 256-float arrays (−1…+1), one cycle per osc. Omitted when the table is the default sine. See Oscillators.

Optional metadata (written on export / snapshot):

KeyMeaning
app"RUB"
app_versionBuild that wrote the document
modified_atISO-8601 UTC timestamp
selected_patternUI pattern index hint (0…15)

Older files without metadata still load; unknown patch keys are ignored for forward compatibility.

AI workflow

  1. Copy JSON (shortcut or dialog Copy).
  2. Paste into your AI tool; ask for edits (notes, patch, lanes).
  3. Put the revised document on the clipboard and Cmd/Ctrl+Shift+V, or paste into the dialog and Apply.

Keep format: "rub" and a supported version. Older files with format: "rdsong" still load and are rewritten to "rub" when scanned in User/Imported. Prefer changing id_str values from the Parameters table rather than inventing keys.