Universal Controller MIDI
Blog Notch 7 min read

Notch Block Gamepad MIDI Input with a DualSense

Drive Notch Builder Blocks with a PS5 DualSense over virtual MIDI. CC-driven properties, button-triggered events, portable Blocks for any media server.

By Aidxn Design

Notch is the real-time VFX engine sitting behind half the AR broadcast graphics on television. Live show operators talk to Notch Blocks over OSC, MIDI, or DMX from a host like disguise or Hippotizer. The fastest way to scratch-build and rehearse a Block is with a gamepad on your dev machine — and Notch Builder's MIDI Controller node turns any gamepad bridged through virtual MIDI into a full set of analog and button inputs.

TL;DR
  • What you do: bridge the gamepad to a Windows virtual MIDI port, add a MIDI Controller node in Notch Builder, route CCs and notes onto Block properties.
  • What you need: DualSense, Notch Builder (Learn / Pro), Windows 10+, Universal Controller MIDI v1.0+.
  • Time: 6 minutes to a stick driving a particle emitter.
  • Bonus: the MIDI mapping is baked into the Block, so it travels to any host server.

Why a gamepad for Notch Builder

Notch Blocks are tuned to react to live show inputs — a console, a DMX feed, an OSC stream from disguise. While building, you usually don't have any of those wired up. A DualSense gives you stick CCs, trigger CCs, four face buttons, four d-pad buttons, and a touchpad to rehearse a Block against before it ever sees a real show network. Universal Controller MIDI publishes the gamepad as a virtual MIDI port Notch reads through its native MIDI Controller node.

What you'll need

  • Universal Controller MIDI v1.0+ (download)
  • Notch Builder — Learn or Pro tier
  • Windows 10+ — Notch is Windows-only
  • PS5 DualSense — wired USB-C strongly recommended

Setup

1. Run the bridge first

Launch the bridge before Notch Builder. Notch enumerates MIDI input ports at startup. Status pill should read DualSense connected and the bridge's virtual port name (Universal Controller MIDI) should appear in Settings → System MIDI.

2. Add the MIDI Controller node

In the Nodegraph right-click and add Inputs → MIDI Controller. In Properties set Source = Universal Controller MIDI, Channel = 1, Active = true. The node now publishes CCs and notes as output properties.

3. Route CCs onto properties

Drag from the MIDI Controller node's CC output sockets into a Math node to remap 0–127 into the range Notch needs. Then route the Math node's output into any property — a particle emission rate, a camera tilt, a Post FX intensity. Standard Notch wiring from there.

4. Bind buttons via note events

In the MIDI Controller node enable Note Mode = Trigger. Drag note 60 into a Trigger node and you have a Cross-button event. Wire that into an animation curve start, a state machine transition, or a Block property hop.

Mapping ideas

  • Left stick → camera orbit. CC 1 and 2 into a Math node, scaled to ±180° for orbit and ±90° for tilt.
  • Right stick → world position offset. Drive a Translate node on your scene root for a free-fly camera while rehearsing.
  • Triggers → particle emit rate. CC 5 / 6 onto Emit Rate, with Min/Max bound to your scene's sensible range.
  • Face buttons → state machine triggers. Notes 60–63 fire state transitions for scene changes.
  • Touchpad → 2D FX target. CC 16/17 onto an X/Y FX position for Kaoss-style sweeps.
  • D-pad → preset bank step. Notes 78–81 step a preset selector up/down/left/right.

Performance tips

  • 14-bit CCs for camera moves. Enable Settings → 14-bit CC in the bridge. A camera orbit driven by 7-bit MIDI looks stepped; 14-bit looks smooth.
  • Smoothing inside Notch. Drop a Smooth node after Math to add easing. 50–80 ms of smoothing kills MIDI jitter on stick inputs.
  • Keep MIDI mapping at Block scope. Bake into the Block, not into the global Builder settings — that way the Block travels to host servers with the mapping intact.
  • USB-C only. Notch sessions run for hours. Bluetooth controllers nap mid-session.

Gotchas

  • MIDI Controller node shows no source. Notch enumerates ports at launch. Run the bridge first, then Notch Builder.
  • Sticks centre at 0.5 instead of 0. Standard MIDI behaviour. Use a Math node to remap 0–1 → -1 to 1, with a tiny deadzone around 0.5.
  • Notes fire twice. You probably wired both Note Mode = Trigger and a separate Note On output. Pick one.
  • Block exported to a host server, MIDI dead. The host server doesn't have the bridge running. Either run the bridge on the host machine, or switch the Block to OSC for show delivery and keep MIDI for dev.

Wrap

Notch Builder plus a DualSense plus virtual MIDI is the cheapest way to rehearse a Block without renting a disguise rack. The MIDI Controller node is the right abstraction — Notch treats it like any other show control input, which means everything you scaffold against the gamepad swaps cleanly to OSC or DMX on delivery. Notch's own learn pages cover the rest of the Block deployment side.

Try Universal Controller MIDI against a Notch Block tonight. Free tier covers the basics, $49 Pro adds every preset and the mapping editor.

Keep reading

More setup walkthroughs