My Midi Controller Checklist

graphic of midi controller

A subjective and evolving list of things I look for in a midi controller. To the best of my knowledge no such controller meets all of the items on the wish list. But some are quite a bit closer than others. In the future I may document how some controllers fare against this list.

Overall design

  • Small, but …
  • Enough space to apply labels to each controller or facilitate software labeling
  • Configuration templates
    • XML or similar human readable text editable
    • change template via incoming midi message or via single push on hardware button

Every control

  • communicates bidirectionally (sends and receives midi data)
  • indicates its current value approximately
  • every control can send every conceivable midi message

Knobs (also known as dials, rotary encoders)

  • endless
  • sensitivity is widely programmable (at least 30 – 720 degrees)
  • can send absolute or relative messages (for left vs. right turn), not only for CC, but also for every other midi message type
  • increment / decrement reversible
  • increment / decrement in variable steps (e.g. 1,2,3,1,2,3,1 … or 2,4,6,2,4,6,2 … or 0,3,6,9,12,0,3,6,9,12,… or 25,20,15,5,0,25,20,15,10,5,0,20, …)

Buttons

  • LED lit (color)
  • on, off
  • infinite step cycle forward or reverse with variable steps (e.g. 1,2,3,1,2,3,1 … or 2,4,6,2,4,6,2 … or 0,3,6,9,12,0,3,6,9,12,… or 25,20,15,5,0,25,20,15,10,5,0,20, …)
  • velocity sensitive
  • pressure sensitive

Faders

  • back-lit or side-lit led to indicate approximate current position
  • touch strips (not motorized faders, since I find noisy jumping faders very annoying)
  • can send absolute or relative messages (for up vs. down swipe), not only for CC, but also for every other midi message type
  • swipe speed sensitive (slow swipe = small change in value, fast swipe = large change in value)
  • can send tap gesture as absolute or relative messages
  • traditional or momentary mode (snap back to default value when not touched)

XY-Pads (not joysticks)

  • like faders, but in 2 dimensions
  • backlit led indicating current position