Appearance
Global Configuration
Path
Loom reads a single global config file:
~/.config/loom/loom.toml
No alternate path is searched.
Keys
toml
[midi]
output_port = 0
[studio.note_keyboard]
base_octave = 4
octave_down = "z"
octave_up = "x"
[studio.note_keyboard.keys]
a = "C"
w = "C#"
s = "D"
e = "D#"
d = "E"
f = "F"
t = "F#"
g = "G"
y = "G#"
h = "A"
u = "A#"
j = "B"
k = "C+1"
o = "C#+1"
l = "D+1"
"." = "rest"
"-" = "sustain"midi.output_port: default MIDI output port index.studio.note_keyboard.base_octave: starting octave for Studio note entry.studio.note_keyboard.octave_down: note-entry key for lowering the note keyboard octave.studio.note_keyboard.octave_up: note-entry key for raising the note keyboard octave.studio.note_keyboard.keys: note entry keyboard map.
studio.note_keyboard.keys values are relative to base_octave:
"C": C in the base octave."C#": C sharp in the base octave."C+1": C one octave above the base octave."D-1": D one octave below the base octave."rest": place a rest token (.)."sustain": place a sustain token (-).
Unsupported note names, multi-character keys, and invalid octave offsets are ignored.
Precedence
- CLI option (
--port) - global config (
midi.output_port) - built-in default (
0)
Scope
Applied to:
loom playloom liveloom studio
Not applied to song semantics (bpm, signature, unit, swing, etc.).