{
  "_sources": [
    {
      "type": "vendor-doc",
      "url": "https://archive.org/details/S2000S20V13J",
      "notes": "Akai S2000 Owner's Manual for software version 1.30 (Japanese edition): MIDI Implementation Chart dated DEC.1995, Version 1.30; and Akai's 'S2000/S3000XL/S3200XL MIDI System Exclusive Extensions' (multi mode, program change). Every route comes from these.",
      "firmware": "1.30",
      "imported_at": "2026-10-26"
    }
  ],
  "_limitations": "Source: S2000 manual v1.30 chart and the S2000 SysEx extensions. Notes 21-127 (4-127 true voices), Note On and release velocity, channel pressure, pitch bend (0-24 semitone steps). Program Change 1-128 picks the program by its preset number; in Multi mode the Program Change's MIDI channel names the multi part (1-16) that receives it, whatever channel that part listens on. SysEx (Akai 47H, S2000 48H): the extensions document gives Request/Receive Multi Data (41H/42H, nibbled data) but builds on the S3000 SysEx set it does not include and leaves byte order and sizes open, so no SysEx route is mapped. Untested on hardware.",
  "_coverage": {
    "entries_total": 7,
    "cc_entries": 7,
    "rpn_entries": 0,
    "nrpn_entries": 0,
    "sysex_commands": 0,
    "realtime_commands": 0,
    "channel_and_common_commands": 0,
    "note_triggers": 0,
    "replies": 0
  },
  "device": {
    "name": "S2000",
    "vendor": "Akai",
    "revision": "S2000 software version 1.30 (MIDI Implementation Chart DEC.1995)",
    "osc_prefix": "/s2000",
    "manufacturer_id": [
      71
    ],
    "device_id": [
      72
    ]
  },
  "sysex": {
    "header": [],
    "footer": [],
    "_notes": "Empty on purpose: each command frame carries its complete message."
  },
  "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}",
    "program_change": "/program_change {program} {channel}"
  },
  "cc_params": {
    "channel": 0,
    "_source": "",
    "entries": [
      {
        "osc": "/modulation",
        "cc": 1,
        "range": [
          0,
          127
        ],
        "section": "Controllers",
        "_usage": "Modulation wheel."
      },
      {
        "osc": "/breath",
        "cc": 2,
        "range": [
          0,
          127
        ],
        "section": "Controllers",
        "_usage": "EWI breath controller (via external modulation)."
      },
      {
        "osc": "/foot",
        "cc": 4,
        "range": [
          0,
          127
        ],
        "section": "Controllers",
        "_usage": "Foot switch controller (via external modulation)."
      },
      {
        "osc": "/volume",
        "cc": 7,
        "range": [
          0,
          127
        ],
        "section": "Controllers",
        "_usage": "Volume."
      },
      {
        "osc": "/sustain",
        "cc": 64,
        "range": [
          0,
          127
        ],
        "expects": "switch",
        "section": "Controllers",
        "_usage": "Sustain pedal."
      },
      {
        "osc": "/soft",
        "cc": 67,
        "range": [
          0,
          127
        ],
        "expects": "switch",
        "section": "Controllers",
        "_usage": "Soft pedal."
      },
      {
        "osc": "/all_notes_off",
        "cc": 123,
        "range": [
          0,
          0
        ],
        "expects": "trigger",
        "section": "Channel mode",
        "_usage": "All Notes Off."
      }
    ]
  }
}
