Adding OXI Instrument Definition support

December 5, 2025

Illustration of the OXI One Mk2

The OXI App can import MIDI Guide CSVs directly for use on the OXI One (and One Mk2) sequencer. OXI also has their own format, .oxiindef ("OXI instrument definition"). This JSON-based format maps exactly onto the OXI One's UI by allowing the specification of abbreviated parameter names, an abbreviated instrument name, and explicit parameter types (CC7, CC14, and NRPN).

Using the oxiindef format directly, instead of the MIDI Guide general-purpose CSV, gives OXI musicians more control over the end result that appears on their device. I've added an export button to each device page to make this easier. The export process runs the CSV through sorting, abbreviation, and truncation rules before converting it to oxiindef-JSON.

MIDI Guide download button for OXI instrument definitions

Known issue: The MIDI Guide definition format considers the section name to be meaningful, and a parameter need only be unique within a definition by section name + parameter name, not by its parameter name alone.

For example, the Moog One is three essentially identical synthesizers, each with identical parameters. The MIDI Guide definition of the Moog One's MIDI implementation records the destination synth number and parameter categoory in the section name, not the definition name; it lists "Synth 1: LFO 1" → "Waveform", as opposed to "LFOs" → "Synth 1 LFO 1 waveform". This results in the oxiindef having multiple undifferentiated entries for "Waveform".

Let me know if you see a way around that! Contributions are always welcome.

– Ben


The portions of this library that refer to specific devices may be owned by the devices' respective manufacturers. Everything else is licensed under the Creative Commons Attribution Share Alike 4.0 International license.