Adding OXI Instrument Definition support
December 5, 2025

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.

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