Korgi is a tool that converts input from a MIDI device into UDP packets.
Korgi is designed for and tested with KORG nanoKONTROL2 - hence the name.
The UDP packets generated by korgi are compatible with Q2PRO remote console protocol, but can be easily extended to support something else.
Korgi reads its configuration from a plain text file, by default korgi.conf
in the current directory. An alternative file name can be specified as the only supported parameter on the command line.
The configuration file is expected to contain a single directive per line. Empty lines are ignored, comments start with the # symbol. In most cases, double quoted strings are allowed.
Available directives:
connect <address> [port]
: specifies the IP address and UDP port to send the packets to. Default settings are 127.0.0.1 and 27910.
password <password>
: specifies the remote console password for Q2PRO. Required.
device <id>
: specifies the MIDI device ID to use, starting at 0 (on Windows).
device_name <name>
: specifies the MIDI device name (on Linux).
device_map <name>
: specifies the mapping from control names to MIDI channels. Currently, only one mapping is supported, for the nanoKONTROL2
device. Without a mapping, you can specify controls by their channel index.
button <id> <command...>
: maps a button to the specified console command, which is issued when the button is pressed. There is no action on button release. The console command is specified without quotes; spaces are allowed.
knob|slider <id> <variable> <min> <max>
: maps a knob or slider to the specified variable name and range. There is no difference between a "knob" and a "slider" on the MIDI side, the different names are provided for convenience.