joemattie
stuff
← index
project pageupdated 2026-08-07

MIDI Bridge

A terminal UI for routing and transforming MIDI between devices

Glue software: a terminal UI that routes and translates MIDI between devices that refuse to speak the same dialect. My Behringer FCB-1010 foot controller sends Program Change; my Boss RC-505 mkII looper wants momentary Control Change presses. This sits in the middle and converts one into the other so a stomp actually starts and stops loop tracks.

It’s a Python TUI on Textual (mido and rtmidi underneath): devices, mappings, and a live color-coded MIDI monitor in three panes, with a “Listen for MIDI” button that fills in a mapping from whatever you stomp instead of making you read manuals. Config is a hand-editable TOML file in a git repo, not someone’s licensing server.

The main MIDI Bridge screen: devices, the play/stop mappings for each loop track, and the live MIDI monitor

It’s finished. Built in about an hour with Claude doing the typing while I tested against the actual pedals, and it hasn’t needed a commit since. It still gets used every time the looper comes out, and then it gets out of the way.

build2026-07-05 · 2 min read
MIDI Bridge

A terminal UI for routing and transforming MIDI between devices, born of a stubborn foot controller

read the writeup →