If you already own a PS5 DualSense, you already own a sixteen-button, two-stick, two-trigger MIDI controller with a pressure-sensitive touchpad and motion sensors. You just need the bridge. This guide walks through using a PS5 controller as a MIDI controller inside Ableton Live on macOS and Windows — wired in under ten minutes, mapped to real production duties (transport, clip launch, filter sweeps, parameter automation) with a default preset that does not need rebuilding from scratch.
- What you do: install Universal Controller MIDI, enable a virtual MIDI port, load the Ableton preset, route inputs in Live.
- What you need: DualSense, USB-C cable (or Bluetooth), Ableton Live 11/12, macOS 12+ or Windows 10+.
- Time: 8–10 minutes from cold install to a stick driving a filter cutoff.
- Cost: the controller you already own, the bridge is free to try and
$49for Pro.
Why use a gamepad in Ableton Live
A DualSense gives you sixteen physical inputs you can actually feel without looking — face buttons, d-pad, two clickable sticks, two shoulder buttons, two analog triggers, options, share, and a clickable touchpad. That is more tactile real estate than most $200 MIDI controllers, and you can use it from the couch. Universal Controller MIDI handles the unglamorous bit: turning HID events into native virtual MIDI that Ableton sees as a first-class controller, with deadzones, calibration, and adaptive trigger output baked in.
What you'll need
- Universal Controller MIDI v1.0 or later (download here)
- Ableton Live 11.3+ or Live 12 (Intro, Standard, or Suite)
- PS5 DualSense or DualSense Edge — wired USB-C is most reliable, Bluetooth works too
- macOS 12+ with built-in IAC Driver, or Windows 10+ (the bridge ships its own virtual port — no loopMIDI install required)
Step-by-step setup
1. Install the bridge and plug in
Grab the latest build, mount the DMG (or run the Windows installer), and launch Universal Controller MIDI. Plug the DualSense in over USB-C. The status pill at the top should flip from No controller to DualSense connected with a green dot.
# macOS — verify the controller is talking to the OS
ioreg -p IOUSB | grep -i dualsense
# Windows — check it shows up as an XInput device
powershell "Get-PnpDevice | Where-Object FriendlyName -like '*Wireless Controller*'" 2. Enable the virtual MIDI port
On macOS, open Audio MIDI Setup (Cmd-Space → "Audio MIDI Setup"), then Window → Show MIDI Studio. Double-click IAC Driver, tick Device is online, and add a port called UCMIDI Out. On Windows, the bridge installs its own kernel-level virtual port automatically — nothing else to configure.
3. Pick the Ableton preset
In the bridge UI, open Presets → Ableton Live (default). This is the mapping table below — it covers every input on the controller with sensible defaults: face buttons trigger drum-rack pads, sticks drive macro CCs, triggers ride filter cutoff and resonance, and the touchpad acts as an XY pad.
4. Open Ableton and enable the input
Launch Live. Go to Preferences → Link, Tempo & MIDI. In the MIDI Ports table, find the Universal Controller MIDI input row and switch both Track and Remote to ON. Leave Sync off unless you want the gamepad to drive tempo — and trust me, you do not.
5. Install the Remote Script (optional but worth it)
For native control surface treatment — transport, scene launch, session navigation without MIDI Learn — copy the script folder into Live's user library:
# macOS
cp -R "/Applications/Universal Controller MIDI.app/Contents/Resources/RemoteScripts/UCMIDI" \
~/Music/Ableton/User\ Library/Remote\ Scripts/
# Windows
xcopy "C:\Program Files\Universal Controller MIDI\RemoteScripts\UCMIDI" ^
"%USERPROFILE%\Documents\Ableton\User Library\Remote Scripts\UCMIDI" /E /I
Restart Live, then under Preferences → Link/MIDI → Control Surface, pick UCMIDI and set Input + Output to the bridge port. The d-pad now navigates the session view, the triangle button arms, X launches the highlighted clip.
6. MIDI-learn anything still missing
Anything the preset doesn't cover is one Cmd-M away. Click a knob in Live, wiggle the right stick, the assignment lands instantly. The bridge sends standard 7-bit CC, so it plays nicely with every Live device, every Max for Live patch, and every VST you have loaded.
7. Calibrate sticks for older controllers (optional)
If your DualSense has stick drift from heavy use, open Settings → Calibration in the bridge and run the centring sweep. The app stores per-axis deadzones locally and re-applies them on every launch — old controllers behave like new ones, no firmware flash required.
Default mapping table
These are the bindings the Ableton preset ships with. Everything sends on MIDI channel 1 unless you change it in the editor.
| Input | Type | MIDI | Default action in Live |
|---|---|---|---|
| Cross (button 0) | Note | Note 60 (C3) | Drum rack pad 1 / launch clip |
| Circle (button 1) | Note | Note 62 (D3) | Drum rack pad 2 / stop clip |
| Square (button 2) | Note | Note 64 (E3) | Drum rack pad 3 |
| Triangle (button 3) | Note | Note 65 (F3) | Drum rack pad 4 / arm track |
| L1 (button 4) | Note | Note 67 (G3) | Scene up |
| R1 (button 5) | Note | Note 69 (A3) | Scene down |
| L2 trigger | CC | CC 1 (mod wheel) | Filter cutoff |
| R2 trigger | CC | CC 2 (breath) | Resonance / drive |
| Left stick X | CC | CC 3 | Macro 1 |
| Left stick Y | CC | CC 4 | Macro 2 |
| Right stick X | CC | CC 5 | Macro 3 / pan |
| Right stick Y | CC | CC 6 | Macro 4 / send A |
| Touchpad X | CC | CC 16 | XY pad horizontal |
| Touchpad Y | CC | CC 17 | XY pad vertical |
| D-pad up / right / down / left | Note | Notes 78–81 | Session nav up/right/down/left |
Pro tips and troubleshooting
- Controller not appearing in Live's MIDI port list? Live caches the port table at startup. Quit Live, confirm the IAC port is online in Audio MIDI Setup, then relaunch.
- Bluetooth feels laggy. Bluetooth adds 8–14 ms over wired. For producing it is fine, for live drumming use USB-C.
- Stick is twitching with no input. Set the deadzone to
0.08in Settings → Calibration. Older DualSense pads need a wider deadzone than fresh ones. - CC values are noisy on automation lanes. Drop the bridge poll rate from
250 Hzto120 Hz. Audible CPU drops are real at 250 if you are also running Komplete. - Multiple controllers connected. The bridge enumerates them as separate virtual ports (
UCMIDI 1,UCMIDI 2…), so you can run two DualSense pads as separate Live tracks. - Remote Script not loading? Live silently fails on permission errors. From a terminal run
ls -la ~/Music/Ableton/User\ Library/Remote\ Scripts/UCMIDIand make sure your user owns the folder.
Why this beats a $200 MIDI controller for most setups
A dedicated MIDI controller is great when you need eight motorised faders. For everything else — clip launch, scene navigation, macro tweaking, drum rack pads, filter sweeps during a live set — the DualSense is comparable hardware at a fraction of the price, and it travels in a backpack pocket. The Ableton MIDI remote control reference is worth bookmarking once you start customising the mapping.
That's it. Grab Universal Controller MIDI, point Ableton at the new port, and your PS5 controller is now part of your live rig.