macOS 15+  ·  Apple Silicon

MidiPilot

MIDI & OSC Router

Route, translate, filter, and monitor MIDI & OSC — right from your Mac's menu bar.

Download — Coming Soon
Mac App Store — coming soon
midipilot — status
MidiPilot app icon
$ midipilot --start
CoreMIDI client online
Virtual port "MidiPilot" created
OSC server listening :8000
routing 12 connections… ok
macOS 15+ (Sequoia) Apple Silicon No data collected MIT licensed
00 // What is MidiPilot?

A routing engine that lives in your menu bar.

MidiPilot puts a full MIDI & OSC routing engine at your fingertips. Connect hardware controllers, virtual MIDI ports, and OSC apps with a visual matrix, remap any message into any other in real time, and watch every byte as it flows — no DAW restarts, no config files, no fuss.

01 // Features

Everything the studio demands.

routing

Routing Matrix

A visual grid of your studio. Click to connect inputs to outputs; right-click to tune each connection.

translate

Translation Engine

Remap notes, CCs, and program changes on the fly — Note→CC, transpose, and OSC↔MIDI bridging.

monitor

MIDI & OSC Monitor

A real-time log with timestamps, directional badges, filters, and a built-in test-message panel.

virtual

Virtual Devices

Create custom MIDI ports that show up in any DAW or app, and persist across restarts.

osc

OSC Server

A built-in OSC 1.0 UDP server with client tracking and full two-way MIDI↔OSC translation.

feedback

Feedback Entanglement

Enable bidirectional control pairs that mirror each other and stay in sync automatically.

01.1 // Routing Matrix

A visual map of your whole studio.

Inputs on the left, outputs across the top. Connect any keyboard, controller, or OSC client to any DAW, synth, or virtual port with a single click.

  • Cyan-glowing nodes with animated paths between endpoints
  • T / F badges show active translations and filters at a glance
  • Right-click any node to configure per-connection rules
  • Disconnected devices keep their slot — presets survive replugging
routing-matrix
●──────●
│        │
●      ●
  ╲    ╱
    ●
Screenshot — coming soon
01.2 // Translation Engine

Translate any message into any message.

Turn notes into CCs, pedals into notes, and OSC into MIDI. Per-connection rules convert on the fly, with modifiers applied after the fact.

  • Note→CC, CC→Note, Note→Note, PC→Note and more
  • Modifiers: Inverse, Clamp, Transpose, Toggle, Momentary
  • Independent output channel, number, and value overrides
  • MIDI Learn captures the next incoming message for you
translation
[ noteOn 60 ] ──▶ [ CC 7 = 64 ]

[ CC 11 ] ──transpose──▶ [ CC 23 ]
Screenshot — coming soon
02 // MIDI & OSC Monitor

Watch every message in real time.

A live traffic log with millisecond timestamps. See exactly what your hardware is sending, what MidiPilot is translating, and what reaches your DAW.

  • Directional badges — green IN, orange OUT, purple OSC
  • Filter by device, direction, and message type
  • Searchable raw hex display of every MIDI byte
  • Built-in test message panel (CC, Note, PC, OSC)
monitor
◖IN◗ 14:02:11.204 noteOn ch1 n60
◗OUT◗ 14:02:11.206 cc ch1 7=64
◖OSC◗ 14:02:12.000 /fx/eq1/gain 0.5
Screenshot — coming soon
01.3 // Virtual Devices

Your own MIDI ports, on demand.

Create custom virtual MIDI ports that appear in every DAW and app. Route through them, rename them, and let them persist across restarts.

  • Create, rename, and delete virtual endpoints
  • Persist across app restarts with stable identities
  • MIDI thru — incoming traffic is forwarded to the source port
  • Each device works as a routing source or destination
virtual-devices
▸ MidiPilot    ● online
▸ Control Room  ● online
▸ Synth A       ○ offline
Screenshot — coming soon
03 // OSC Server

OSC, fully bridged to MIDI.

A built-in OSC 1.0 UDP server connects your TouchOSC layouts, Max patches, and other OSC apps straight into the routing matrix.

  • MIDI→OSC and OSC→MIDI translation through the same engine
  • Client tracking with persistence across restarts
  • OSC Learn captures addresses to auto-fill translations
  • TouchOSC-style single-argument messages supported
osc-server
[ OSC ] ─▶ { matrix } ─▶ [ MIDI ]
       │
       └──▶ [ OSC ] (rebroadcast)
Screenshot — coming soon
01.4 // Feedback Entanglement

Bidirectional control, automatically.

Flip a switch and MidiPilot builds the inverse connection — knob A controls synth B, and synth B echoes straight back to knob A.

  • Auto-created mirror on the reverse connection
  • Edits sync bidirectionally — change one, the other follows
  • Shared OSC address for OSC↔MIDI pairs
  • Loop detection prevents infinite routing cycles
feedback
Knob A ⇄ Synth B
│         │
▼         ▲
CC 7 ⇄ CC 90
Screenshot — coming soon
01.5 // And more

Small details, big workflow wins.

MIDI Learn

Capture the next incoming message to auto-fill a translation's input filters.

Device Visibility

Hide inputs or outputs from the matrix per device — persisted across restarts.

Custom Naming

Assign friendly names to any hardware or external virtual device.

Disconnected Devices

Every hardware device you've ever connected is tracked and can be safely forgotten.

02.1 // Requirements
macOS 15+Sequoia
Apple Siliconarm64
MITopen source
Swift 6native
04 // Privacy

Private by design.

MidiPilot collects no data. Nothing leaves your Mac — no accounts, no analytics, no trackers, no servers. Your routing config, OSC clients, and a small local log live only in your own app container.

No data collected. Ever.

ZoFi Audio and Mitchell Woodbine never see, receive, or store your MIDI or OSC messages. Read the full privacy policy →

Ready to route?

Download MidiPilot and wire up your studio in minutes.

Download — Coming Soon
Mac App Store — coming soon