{
  "_sources": [
    {
      "type": "vendor-doc",
      "url": "https://downloads.arturia.com/products/beatstep-pro/manual/BeatStepPro_Manual_1_3_0_EN.pdf",
      "notes": "Arturia BeatStep Pro User's Manual 1.3.0: Getting started (default channels), MIDI to CV, Transposition, Selecting MIDI channels, Synchronization (master/slave), MIDI Control Center preferences and default settings (chapter 13). Every route comes from this manual.",
      "firmware": "1.3",
      "imported_at": "2026-10-26"
    }
  ],
  "_limitations": "Source: BeatStep Pro User's Manual 1.3.0. The BeatStep Pro is mostly a sender: in Control Mode its pads, step buttons and encoders send what the MIDI Control Center assigns (defaults: pads = notes, encoders = CCs 'that vary', on the User channel 1), its sequencers play on channels 1, 2 and 10 and its transport sends MMC and/or CCs. What it receives and acts on: notes on SEQ1/SEQ2's receive channels go to their CV/Gate jacks (routes above); notes on the Drum channel (10) open the Drum Gate jacks whose note numbers are set in the MIDI Control Center (no default is printed, so no trigger is listed); notes on the Transposition input channel transpose the sequences around the centre pitch (default note 60), channel and port set in the MIDI Control Center. The manual documents no SysEx, and no Program Change or CC that the BeatStep Pro obeys. Untested on hardware.",
  "_coverage": {
    "entries_total": 8,
    "cc_entries": 0,
    "rpn_entries": 0,
    "nrpn_entries": 0,
    "sysex_commands": 0,
    "realtime_commands": 4,
    "channel_and_common_commands": 4,
    "note_triggers": 0,
    "replies": 0
  },
  "device": {
    "name": "BeatStep Pro",
    "vendor": "Arturia",
    "revision": "BeatStep Pro User's Manual 1.3.0",
    "osc_prefix": "/beatstep_pro",
    "manufacturer_id": [
      0,
      32,
      107
    ],
    "device_id": []
  },
  "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}"
  },
  "commands": [
    {
      "osc": "/seq1/note_on",
      "section": "MIDI to CV",
      "args": [
        {
          "name": "note",
          "type": "u7",
          "range": [
            0,
            127
          ]
        },
        {
          "name": "velocity",
          "type": "u7",
          "range": [
            1,
            127
          ]
        }
      ],
      "_notes": "Note On on channel 1, SEQ1's default receive channel: played straight to the SEQ1 CV/Gate jacks (pitch, velocity, gate); monophonic. Change the channel in the MIDI Control Center, then use /note/on {note} {velocity} {channel}.",
      "frame": [
        144,
        "{note}",
        "{velocity}"
      ]
    },
    {
      "osc": "/seq1/note_off",
      "section": "MIDI to CV",
      "args": [
        {
          "name": "note",
          "type": "u7",
          "range": [
            0,
            127
          ]
        }
      ],
      "_notes": "Note Off on channel 1 (SEQ1 receive channel): closes the SEQ1 gate.",
      "frame": [
        128,
        "{note}",
        0
      ]
    },
    {
      "osc": "/seq2/note_on",
      "section": "MIDI to CV",
      "args": [
        {
          "name": "note",
          "type": "u7",
          "range": [
            0,
            127
          ]
        },
        {
          "name": "velocity",
          "type": "u7",
          "range": [
            1,
            127
          ]
        }
      ],
      "_notes": "Note On on channel 2, SEQ2's default receive channel: played straight to the SEQ2 CV/Gate jacks; monophonic.",
      "frame": [
        145,
        "{note}",
        "{velocity}"
      ]
    },
    {
      "osc": "/seq2/note_off",
      "section": "MIDI to CV",
      "args": [
        {
          "name": "note",
          "type": "u7",
          "range": [
            0,
            127
          ]
        }
      ],
      "_notes": "Note Off on channel 2 (SEQ2 receive channel): closes the SEQ2 gate.",
      "frame": [
        129,
        "{note}",
        0
      ]
    },
    {
      "osc": "/transport/clock",
      "section": "Sync",
      "args": [],
      "_notes": "MIDI Timing Clock (F8H), followed when the BeatStep Pro is slave (USB or MIDI SYNC LED lit); it passes the synchronization messages on to its USB, MIDI and Clock outputs.",
      "frame": [
        248
      ]
    },
    {
      "osc": "/transport/start",
      "section": "Sync",
      "args": [],
      "_notes": "MIDI Start (FAH), followed when the BeatStep Pro is slave (USB or MIDI SYNC LED lit); it passes the synchronization messages on to its USB, MIDI and Clock outputs.",
      "frame": [
        250
      ]
    },
    {
      "osc": "/transport/continue",
      "section": "Sync",
      "args": [],
      "_notes": "MIDI Continue (FBH), followed when the BeatStep Pro is slave (USB or MIDI SYNC LED lit); it passes the synchronization messages on to its USB, MIDI and Clock outputs.",
      "frame": [
        251
      ]
    },
    {
      "osc": "/transport/stop",
      "section": "Sync",
      "args": [],
      "_notes": "MIDI Stop (FCH), followed when the BeatStep Pro is slave (USB or MIDI SYNC LED lit); it passes the synchronization messages on to its USB, MIDI and Clock outputs.",
      "frame": [
        252
      ]
    }
  ]
}
