{
  "_sources": [
    {
      "type": "electra-preset",
      "url": "https://app.electra.one/preset/jSjcqtnwOiYV9sOQj2kU",
      "preset_name": "Saturator.12.1",
      "imported_at": "2026-04-13",
      "preset_id": "jSjcqtnwOiYV9sOQj2kU",
      "revision": "17",
      "author": "Jaap-Henk Hoepman",
      "firmware": "12.1"
    }
  ],
  "_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": 18,
    "cc_entries": 18,
    "sysex_commands": 0
  },
  "device": {
    "name": "Saturator",
    "vendor": "Ableton",
    "revision": "per Electra preset",
    "osc_prefix": "/saturator",
    "manufacturer_id": [],
    "device_id": [],
    "rate_limit_hz": 1000
  },
  "sysex": {
    "header": [],
    "footer": []
  },
  "commands": [],
  "cc_params": {
    "channel": 10,
    "entries": [
      {
        "osc": "/type",
        "cc": 16,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/threshold",
        "cc": 17,
        "cc_lsb": 49,
        "range": [
          -500,
          0
        ],
        "section": ""
      },
      {
        "osc": "/post_clip_mode",
        "cc": 15,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/drive",
        "cc": 2,
        "cc_lsb": 34,
        "range": [
          -360,
          360
        ],
        "section": ""
      },
      {
        "osc": "/output",
        "cc": 5,
        "cc_lsb": 37,
        "range": [
          0,
          16383
        ],
        "section": ""
      },
      {
        "osc": "/dry_wet",
        "cc": 3,
        "cc_lsb": 35,
        "range": [
          0,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/color",
        "cc": 13,
        "range": [
          0,
          127
        ],
        "section": ""
      },
      {
        "osc": "/amt_lo",
        "cc": 0,
        "cc_lsb": 32,
        "range": [
          -1000,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/amt_hi",
        "cc": 1,
        "cc_lsb": 33,
        "range": [
          -1000,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/frequency",
        "cc": 4,
        "cc_lsb": 36,
        "range": [
          0,
          16383
        ],
        "section": ""
      },
      {
        "osc": "/width",
        "cc": 12,
        "cc_lsb": 44,
        "range": [
          0,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/drive",
        "cc": 9,
        "cc_lsb": 41,
        "range": [
          0,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/curve",
        "cc": 6,
        "cc_lsb": 38,
        "range": [
          0,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/depth",
        "cc": 8,
        "cc_lsb": 40,
        "range": [
          0,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/linear",
        "cc": 10,
        "cc_lsb": 42,
        "range": [
          0,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/damp",
        "cc": 7,
        "cc_lsb": 39,
        "range": [
          0,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/period",
        "cc": 11,
        "cc_lsb": 43,
        "range": [
          0,
          1000
        ],
        "section": ""
      },
      {
        "osc": "/device_on",
        "cc": 14,
        "range": [
          0,
          127
        ],
        "section": ""
      }
    ]
  },
  "midi_out": {
    "default_channel": 10,
    "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": []
}
