MIDI over HTTP --- simple, powerful, and production-ready.
midi-relay allows you to send and receive MIDI messages across a
network using JSON-based HTTP requests. It is designed for automation,
control systems, live production environments, and integration with
tools like Bitfocus Companion.
- Trigger MIDI from HTTP requests
- Integrate with control systems and automation platforms
- Deploy as a desktop utility or rack-mounted headless service
- Lightweight and reliable
- Built for real-world production environments
Created by Joseph Adams
MIT Licensed
More projects: https://www.josephadams.dev
- Send MIDI messages via HTTP POST (JSON payload)
- Receive incoming MIDI and trigger automation
- Cross-network / cross-subnet support
- Bitfocus Companion friendly
- Desktop app (macOS / Windows)
- Headless Linux service (ideal for Raspberry Pi)
- Download the latest release: https://github.com/josephdadams/midi-relay/releases
- Launch the application
- MIDI ports scan automatically on startup
- HTTP server runs on port
4000(default)
That's it.
For rack deployments, automation servers, and embedded systems, run
midi-relay as a system service.
Run this directly on your Raspberry Pi:
curl -fsSL https://raw.githubusercontent.com/josephdadams/midi-relay/main/install.sh | bashThe installer will:
- Install Node.js (ARM64)
- Install required system libraries (ALSA)
- Clone the repository into
/opt/midi-relay - Build native MIDI modules correctly for ARM
- Create a dedicated
midisystem user - Install and enable a systemd service
- Configure automatic startup on boot
Check service status:
sudo systemctl status midi-relayView live logs:
journalctl -u midi-relay -fThe service automatically restarts if it crashes.
For development or testing:
git clone https://github.com/josephdadams/midi-relay.git
cd midi-relay
yarn install
node index.jsOn macOS / Windows (Electron GUI):
yarn startSend MIDI via HTTP POST:
{
"type": "noteon",
"channel": 1,
"note": 60,
"velocity": 127
}Default endpoint:
http://localhost:4000
Full documentation:
📘 See api.md
- Church AVL control systems
- Companion integrations
- Remote MIDI triggering
- Automation servers
- Network-controlled hardware
- Rack-mounted MIDI appliances
MIT License © Joseph Adams