Skip to content

Set Up This Machine

Everything about this machine — which interface, which MIDI ports, where your own kits and plugins are — lives in one file, ~/.resonon/preferences.toml. Every key is in Preferences; why it is a file and not code in the piece is in The Machine and the Piece.

Terminal window
resonon setup

It goes through the audio interface in and out, the sample rate and block size, the recording offset, the MIDI ports and their aliases, the kit and plugin folders, and the width viz() draws a cycle at. Each page offers what this machine has, and opens on what the file already says, so pressing ⏎ through a page changes nothing.

The last page lists every line that would change. Confirm to write the file; press esc at any point to write nothing. Your comments and key order in the file are kept.

resonon setup needs a terminal. Without one, it prints the written way to do each step.

In VSCode, run RESONON: Open Preferences. It opens ~/.resonon/preferences.toml, and creates an empty one if there is none:

[audio]
output = "Scarlett"
sample_rate = 48000
buffer_size = 256
[[midi.outputs]]
alias = "synth"
port = "IAC"

Device and port names match exactly first, then as a substring, so "Scarlett" finds "Focusrite Scarlett 2i2". resonon --list-ports prints a ready-to-paste entry for every MIDI device that is plugged in.

Terminal window
resonon config kits add "~/Music/kits"
resonon config plugins add "/Volumes/Audio/Plugins"

remove takes a folder out and list shows the list. A path may start with ~, but it may not be relative or name a $VARIABLE. The folders you add are searched in addition to the built-in ones. resonon config paths prints every folder resonon searches, in order.

A running session does not see an edit to the file until you tell it to:

reload_preferences();

It applies only what changed, and prints one line for each change. A file that does not parse changes nothing, and says why. While a take is recording, it leaves the [audio] section alone and says so; run it again after the take.

A new process — resonon run, a new server — reads the file when it starts, so nothing else is needed there.