Skip to content

Configuration

Location: ~/.config/resonon/config.toml

Paths that begin with ~ are expanded to the user’s home directory.

OptionTypeDefaultDescription
lib_pathsarray of strings["./lib", "~/.config/resonon/lib"]Library search directories
kit_pathsarray of strings["./kits", "~/.config/resonon/kits"]Sampler kit directories
cycle_timefloatDefault cycle time in seconds
viz_resolutionintegerDefault viz resolution (characters per cycle)
OptionTypeDefaultDescription
output_devicestringsystem defaultPreferred audio output device name
input_devicestringPreferred audio input device name (simple form)
sample_rateintegerdevice defaultPreferred sample rate in Hz
master_channelsarray of integers[0, 1]Master output channel indices (e.g. [0, 1] for stereo, [0] for mono)

For advanced input routing with named channel mappings. If set, input.device overrides the top-level input_device.

OptionTypeDescription
devicestringInput device name (overrides audio.input_device)
channelstableNamed channel mappings — each key maps a name to an array of channel indices
[audio.input]
device = "Focusrite Scarlett 2i2"
[audio.input.channels]
mic = [0] # mono — channel 0 only
vocals = [0, 1] # stereo — channels 0 and 1
OptionTypeDefaultDescription
output_portstringDefault MIDI output port name (partial match supported)
input_portstringDefault MIDI input port name

Define named MIDI ports for multi-port routing. Each entry requires both fields.

[[midi.outputs]]

FieldTypeRequiredDescription
aliasstringyesName used in code to reference this port
portstringyesSystem MIDI port name (partial match supported)

[[midi.inputs]]

FieldTypeRequiredDescription
aliasstringyesName used in code to reference this port
portstringyesSystem MIDI port name (partial match supported)

Control which plugin format (CLAP or VST3) is preferred when both are available.

OptionTypeDefaultDescription
default_format"clap" or "vst3""clap"Global default format preference

Per-plugin format overrides. Keys are plugin display names (case-insensitive), values are "clap" or "vst3".

[plugins]
default_format = "clap"
[plugins.prefer]
"Surge XT" = "vst3"
"Diva" = "vst3"

When Effect() or Instrument() loads a plugin, it tries the preferred format first and falls back to the other if not found.

lib_paths = [
"./lib",
"~/.config/resonon/lib",
]
kit_paths = [
"./kits",
"~/.config/resonon/kits",
]
cycle_time = 1.0
viz_resolution = 80
[audio]
output_device = "BlackHole 16ch"
sample_rate = 48000
master_channels = [0, 1]
[audio.input]
device = "Focusrite Scarlett 2i2"
[audio.input.channels]
mic = [0]
vocals = [0, 1]
guitar = [2]
[midi]
output_port = "IAC Driver Resonon"
input_port = "Arturia KeyStep"
[[midi.outputs]]
alias = "daw"
port = "IAC Driver Resonon"
[[midi.outputs]]
alias = "synth"
port = "Moog Sub37"
[[midi.inputs]]
alias = "kb"
port = "Arturia KeyStep"
[[midi.inputs]]
alias = "pads"
port = "Akai MPD218"
[plugins]
default_format = "clap"
[plugins.prefer]
"Surge XT" = "vst3"
resonon [OPTIONS] [FILE] [COMMAND]
ArgumentDescription
[FILE]Resonon file to run (omit for REPL)
OptionDescription
-m, --midi-port <NAME>MIDI port name (partial match supported)
--list-portsList available MIDI ports and exit
--no-midiDisable MIDI output
-h, --helpPrint help
-V, --versionPrint version

Start the WebSocket server for remote code execution and TUI views.

OptionDefaultDescription
--server-port <PORT>5555WebSocket server port
--server-host <HOST>0.0.0.0WebSocket server host address
--server-name <NAME>hostnameCustom server name for discovery
Terminal window
resonon server --server-port 6000 --server-name "studio"

Launch a TUI view connected to a running server. Available views: console, midi_monitor, mixer, routing.

OptionDefaultDescription
<NAME>View name (required)
--port <PORT>Server port (omit for auto-discovery)
--host <HOST>Server host (omit for auto-discovery)
--midi-port <NAME>MIDI input port filter for midi_monitor view (partial match)
Terminal window
resonon view mixer --host 10.0.0.5 --port 5555

Manage installed Resonon versions. Versions are stored in /usr/local/resonon/.

SubcommandDescription
list (default)List installed versions
currentPrint the currently active version
switch <VERSION>Switch to a different installed version (may require sudo)
Terminal window
resonon version list
resonon version current
sudo resonon version switch v0.2.0

Manage Resonon packages (libraries and kits).

SubcommandDescription
install <SOURCE>Install a package from a git source (e.g. gh:user/repo)
listList installed packages
inspect <NAME>Inspect a package’s exports
Terminal window
resonon pkg install gh:user/my-lib
resonon pkg list
resonon pkg inspect my-lib

Manage CLAP audio plugins.

SubcommandDescription
scanScan CLAP directories and update the plugin cache
listList discovered CLAP plugins from the cache
Terminal window
resonon plugin scan
resonon plugin list
VariableDescription
RESONON_MIDI_PORTDefault MIDI port name

The MIDI port is resolved in this order (first match wins):

  1. CLI flag (-m, --midi-port)
  2. Environment variable (RESONON_MIDI_PORT)
  3. Config file ([midi] output_port)
  1. Initialize logging
  2. Extract embedded CLAP plugins
  3. Parse CLI arguments
  4. Handle subcommands (view, version, pkg, plugin) — these exit early without MIDI/audio
  5. Handle --list-ports — prints available ports and exits
  6. Load ~/.config/resonon/config.toml
  7. Initialize audio engine with configured output device
  8. Connect MIDI ports (default port + named [[midi.outputs]] entries)
  9. Start WebSocket server (if server subcommand) or proceed to step 10
  10. Start REPL or execute the specified file
PathPlatformDescription
~/.config/resonon/config.tomlallConfiguration file
~/.config/resonon/lib/allDefault user library directory
~/.config/resonon/kits/allDefault user kit directory
/usr/local/resonon/allInstalled versions directory
/usr/local/resonon/currentallSymlink to the active version
~/Library/Application Support/resonon/plugins/macOSEmbedded CLAP plugins cache
~/.local/share/resonon/plugins/LinuxEmbedded CLAP plugins cache
%LOCALAPPDATA%\resonon\plugins\WindowsEmbedded CLAP plugins cache
~/Library/Application Support/resonon/clap-cache.jsonmacOSCLAP plugin scan cache
~/.local/share/resonon/clap-cache.jsonLinuxCLAP plugin scan cache
/Library/Audio/Plug-Ins/CLAP/macOSSystem CLAP plugin directory
~/Library/Audio/Plug-Ins/CLAP/macOSUser CLAP plugin directory
~/.clap/macOS, LinuxUser CLAP plugin directory
C:\Program Files\Common Files\CLAP\WindowsSystem CLAP plugin directory
C:\Program Files (x86)\Common Files\CLAP\WindowsSystem CLAP plugin directory (32-bit)
/usr/lib/clap/LinuxSystem CLAP plugin directory
/usr/local/lib/clap/LinuxLocal CLAP plugin directory