Open Source · No App Required

RaspiMIDIHub

Turn your Raspberry Pi into a plug-and-play USB MIDI hub with virtual instruments. Control everything from your phone's browser.

Routing Matrix
Euclidean Play Surface
CC LFO Plugin

How It Works

1

Flash & Boot

Install on any Raspberry Pi with a single command. The Pi creates its own WiFi network automatically.

2

Plug In Your Gear

Connect USB MIDI devices -- keyboards, synths, drum machines, controllers. They're all routed to each other instantly.

3

Open Your Phone

Connect to the Pi's WiFi and open the browser. No app to install -- the full interface runs in any mobile browser.

See It in Action

RaspiMIDIHub video tutorial

Everything You Need on Stage

Routing Matrix

See all your MIDI devices in a clean matrix. Tap to connect, long-press for per-connection filters and mappings. Live rate meters show MIDI activity. Add virtual instruments with one tap.

  • Automatic all-to-all routing out of the box
  • Hot-plug -- add or remove devices at any time
  • Offline connections for unplugged devices
  • Loop prevention built in
Routing Matrix

Per-Connection Filtering

Filter MIDI messages on every connection individually. Block specific channels, message types, or set up complex CC-to-CC mappings with range scaling and inversion.

  • 16-channel bitmask per connection
  • Message type filtering (notes, CC, program change, ...)
  • MIDI Learn for instant mapping setup
  • Note-to-CC, CC-to-CC, channel remapping
Filter Panel

19 Built-in Plugins

Virtual instruments and effects that appear as real MIDI devices in the routing matrix. Each plugin has its own custom interface with wheels, faders, toggles, step sequencers, and live scopes.

  • Arpeggiator with step sequencer and accents
  • CC LFO, Smoother, Chord Generator
  • Master Clock with transport controls
  • Scale Remapper, Velocity Curve, Hold, and more
Chord Generator Plugin

Tracker — 8-Voice Step Sequencer

Hex-numbered tracker grid on a dedicated "Play" panel. Each of the eight voices has its own output channel, so a single Tracker drives eight different synths from one pattern. Notes, velocity and CC are entered per cell; the keyboard's q-row + 2/3/5/6/7 type chromatically. Hit Play (or Space) and the playhead walks the rows in time with your master clock.

  • Up to 16 pages chained, looping back to page 0
  • Per-voice Note + Velocity + CC# + CC Val; End marker ends the page early on any voice
  • Live recording — play notes while the pattern runs, they land on the currently-sounding row
  • Cut / Copy / Paste with Shift-held sub-cell rectangle selection
  • Optional clock-out forwarding to slave external gear
Tracker step sequencer

Euclidean — Bjorklund Rhythm Generator

Hold a chord, and the Euclidean voices it through a generated step pattern — the Bjorklund algorithm spreads N pulses as evenly as possible across M steps. Three stacked layers (algorithm, window wave, manual step grid) let you sculpt the result without leaving the play surface. Held notes can shift pitch in real time while the pattern keeps running.

  • Pulses / Steps / Rotate sliders drive the Bjorklund generator; an underlay preview shows what the algorithm would do before you override anything
  • Window wave overlays a Phase / Cycles / Open sine threshold that gates the pattern over time
  • Four-state step grid per cell: default → FORCE_ON → FORCE_ON+accent → FORCE_OFF — hand-curate on top of the generator
  • Internal Scale + Root (9 scales incl. chromatic), Tune Spread + Snap, Jitter, Fade In / Out
  • 8-slot pattern bank, MIDI-Learnable per slot, paired with the Tracker / Arp on the same Play surface
Euclidean play surface

Controllers — Tap-to-Play Surfaces

Fullscreen play surfaces (Mixer 8, FX 6, Performance 16, XY 4) that send CCs over MIDI in real time. Each cell is renameable, MIDI-Learnable, and themable. Four drop buttons per controller capture and replay snapshots, quantised to bar boundaries.

  • 4 controller templates with knobs, faders, buttons, XY pads
  • Drop buttons — tap to fire, long-press to capture, sync to bars
  • Per-axis MIDI Learn on XY pads, optional spring-back
  • 8 dark themes per controller; swipe / arrow / dropdown to switch
Mixer 8 Controller
XY 4 Controller

Test & Monitor

Every device gets a detail panel with a scrollable piano keyboard, CC slider, and live MIDI monitor. Test your setup without touching your gear.

  • Multitouch piano with adjustable octaves
  • CC test sender with channel selection
  • Real-time MIDI monitor per device
  • Live note rate per device + per-port colour-coded hotplug status
Device Detail Panel

Master Clock & Tight Timing

Internal BPM clock with start/stop transport drives every synced plugin and external synth from one place. Clock ticks are pre-scheduled through the kernel-side ALSA queue for sub-millisecond jitter even under heavy CPU load.

  • 24 PPQ clock with start/stop/continue
  • Drop buttons fire CC snapshots sample-accurately ahead of beat 1
  • MIDI Delay echoes pre-scheduled at note-on time
  • Latency plugin shifts a wire forward in time to compensate sluggish synths
  • Live beat meter and bar counter
Master Clock Plugin

Velocity Curve Editor

Draw a custom 128-point velocity response curve to match your playing style or your hardware's quirks. Pick from preset shapes or freehand-draw your own — soft pads, hard drums, S-curves, anything in between.

  • Drawable curve canvas with smoothing
  • Built-in shape presets (linear, exponential, S-curve, step)
  • Per-channel filtering
  • Same editor reused across plugins where curves matter
Velocity Curve Plugin

Plugin Showcase

Every plugin runs in its own thread, syncs to MIDI clock, and can be automated via hardware CCs.

Arpeggiator

Pattern player with step sequencer, accents, gate, and transport sync. Fullscreen play surface for live performance — Pattern and Rate as wide wheels, four shapers, eight-step grid.

Euclidean

Bjorklund-distributed step patterns from held notes. Algorithm (Pulses / Steps / Rotate), window wave (Phase / Cycles / Open) and per-step manual overrides on top. Internal Scale + Root, Jitter, Tune Spread, Fade In / Out.

CC LFO

Waveform generator with sine, triangle, square, saw, and sample-and-hold. Live oscilloscope output.

Chord Generator

Play a single note, hear a full chord. 11 chord types with inversions and velocity scaling.

Master Clock

Internal BPM clock with start/stop transport. Drives all your synced gear from one place.

MIDI Delay

Note delay with feedback repeats and velocity decay. Circular buffer architecture for rock-solid timing.

Latency

Shift every MIDI event forward by 1–100 ms to compensate synths whose own MIDI-in lands the sound late. ALSA-queue scheduled for sub-ms jitter; clock and transport pass through.

Scale Remapper

Quantize notes to musical scales -- major, minor, pentatonic, blues, and more. Never hit a wrong note.

CC Smoother

Remove jitter from noisy knobs with configurable smoothing. Dual scopes show before and after.

Velocity Curve

Draw a custom 128-point velocity response curve. Presets for soft, hard, exponential, S-curve.

Note Splitter

Split your keyboard at any note into two MIDI channels with independent transpose per zone.

Note Transpose

Shift all notes up or down by semitones. Simple, instant, automatable via CC.

Pitch CC

Each Note On emits a pitch CC (base value ± semitones from a base note) before the Note On itself. Turns a keyboard into a chromatic player for samplers like the Volca Sample whose pitch is a CC, not a note.

Velocity Equalizer

Normalize velocity to a fixed value or compress the range. Tame those dynamics.

Hold

Latch notes without a sustain pedal. MIDI-Learn the release note for hands-free toggling on stage.

Clock Divider

Divide an incoming clock by 2..32. Drive a slow LFO from a fast master, or feed half-tempo to one synth.

SysEx Sender

Pick a .syx file in the panel; bytes stream straight to the connected synth (256-byte chunks, 5 ms gaps). Nothing saved.

Panic Button

All Notes Off + All Sound Off on all 16 channels. The emergency stop you always need on stage.

Tracker

8-voice step sequencer on a dedicated Play panel. Per-track channels, live recording, keyboard note entry, Cut/Copy/Paste with sub-cell selection.

Built for the Stage

RaspiMIDIHub was born from real live performance needs. Built by 2ndinterval -- a musician who performs live with synths and controllers.

Power-Safe

Read-only filesystem means you can pull the power at any time. No SD card corruption, ever.

📡

Own WiFi Network

Creates its own access point. No venue WiFi needed. Works anywhere, even outdoors.

📱

No App Required

Full interface in any mobile browser. iOS, Android, desktop -- just connect and open the page.

🔌

Hot-Plug

Add or remove USB MIDI devices at any time. The hub adapts instantly.

🎶

Sub-ms Timing

Each plugin runs in its own thread with pipe-based wake-up for tight clock sync.

🔓

Open Source

LGPL licensed. Inspect the code, write your own plugins, contribute back.

Get Started in Minutes

One-line install on any Raspberry Pi:

curl -sL https://github.com/wamdam/raspimidihub/releases/latest/download/install.sh | bash

Imprint

Eselsbergsteige 131
89075 Ulm

Daniel Kraft
Inhaltlich Verantwortlicher gem. §10 Abs. 3 MDStV: Daniel Kraft

Mail: statler at statlergrooves.com