{
  "_sources": [
    {
      "type": "electra-preset",
      "url": "https://app.electra.one/preset/bmeVns21LOMe3mjSnT4u",
      "preset_name": "Roland MKS30 w/JH",
      "imported_at": "2026-04-13",
      "preset_id": "bmeVns21LOMe3mjSnT4u",
      "author": "Bohdan",
      "firmware": "unknown"
    }
  ],
  "_limitations": "Imported from an Electra One community preset. The mapping reflects the preset author's editorial choices: parameter naming, ranges, and which params are exposed. Untested on hardware in this repo.",
  "_coverage": {
    "entries_total": 39,
    "cc_entries": 39,
    "sysex_commands": 0
  },
  "device": {
    "name": "MKS-30",
    "vendor": "Roland",
    "revision": "per Electra preset",
    "osc_prefix": "/mks_30",
    "manufacturer_id": [],
    "device_id": [],
    "rate_limit_hz": 1000
  },
  "sysex": {
    "header": [],
    "footer": []
  },
  "commands": [],
  "cc_params": {
    "channel": 0,
    "entries": [
      {
        "osc": "/range",
        "nrpn_msb": 24,
        "nrpn_lsb": 8,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/waveform",
        "nrpn_msb": 27,
        "nrpn_lsb": 9,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/data",
        "cc": 96,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/data",
        "cc": 97,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/fm_env",
        "nrpn_msb": 39,
        "nrpn_lsb": 13,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/fm_lfo",
        "nrpn_msb": 36,
        "nrpn_lsb": 12,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/range",
        "nrpn_msb": 30,
        "nrpn_lsb": 10,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/waveform",
        "nrpn_msb": 33,
        "nrpn_lsb": 11,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/tune",
        "nrpn_msb": 6,
        "nrpn_lsb": 2,
        "range": [
          -63,
          64
        ],
        "section": ""
      },
      {
        "osc": "/fine_tune",
        "nrpn_msb": 3,
        "nrpn_lsb": 1,
        "range": [
          -63,
          64
        ],
        "section": ""
      },
      {
        "osc": "/fm_env",
        "nrpn_msb": 45,
        "nrpn_lsb": 15,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/fm_lfo",
        "nrpn_msb": 42,
        "nrpn_lsb": 14,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/dco1_dco2",
        "nrpn_msb": 21,
        "nrpn_lsb": 7,
        "range": [
          -63,
          64
        ],
        "section": ""
      },
      {
        "osc": "/cross_mod",
        "nrpn_msb": 9,
        "nrpn_lsb": 3,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/hpf",
        "nrpn_msb": 63,
        "nrpn_lsb": 20,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/env_polarity",
        "nrpn_msb": 18,
        "nrpn_lsb": 6,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/env_depth",
        "nrpn_msb": 15,
        "nrpn_lsb": 5,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/lfo_depth",
        "nrpn_msb": 12,
        "nrpn_lsb": 4,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/cutoff",
        "nrpn_msb": 2,
        "nrpn_lsb": 0,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/resonance",
        "nrpn_msb": 48,
        "nrpn_lsb": 16,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/key_track",
        "nrpn_msb": 54,
        "nrpn_lsb": 18,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/env_polarity",
        "nrpn_msb": 63,
        "nrpn_lsb": 21,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/env_depth",
        "nrpn_msb": 51,
        "nrpn_lsb": 17,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/lfo_depth",
        "nrpn_msb": 57,
        "nrpn_lsb": 19,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/attack",
        "nrpn_msb": 72,
        "nrpn_lsb": 24,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/attack",
        "nrpn_msb": 75,
        "nrpn_lsb": 25,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/attack",
        "nrpn_msb": 78,
        "nrpn_lsb": 26,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/attack",
        "nrpn_msb": 81,
        "nrpn_lsb": 27,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/mode",
        "nrpn_msb": 69,
        "nrpn_lsb": 23,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/level",
        "nrpn_msb": 66,
        "nrpn_lsb": 22,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/waveform",
        "nrpn_msb": 84,
        "nrpn_lsb": 28,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/rate",
        "nrpn_msb": 90,
        "nrpn_lsb": 30,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/delay",
        "nrpn_msb": 87,
        "nrpn_lsb": 29,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/chorus",
        "nrpn_msb": 93,
        "nrpn_lsb": 31,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/dynamic",
        "nrpn_msb": 105,
        "nrpn_lsb": 35,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/playable",
        "nrpn_msb": 102,
        "nrpn_lsb": 34,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/split_point",
        "nrpn_msb": 99,
        "nrpn_lsb": 33,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/data_entry",
        "cc": 6,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/volume",
        "cc": 7,
        "range": [
          0,
          127
        ],
        "section": ""
      }
    ]
  },
  "midi_out": {
    "default_channel": 0,
    "note_offset": 0
  },
  "midi_in": {
    "note_on": "/note/on {note} {velocity} {channel}",
    "note_off": "/note/off {note} {velocity} {channel}",
    "cc": "/cc/{num} {value} {channel}",
    "pitchbend": "/pitchbend {value_u14} {channel}",
    "aftertouch": "/aftertouch {value} {channel}"
  },
  "replies": []
}
