Open Source · No App Required

RaspiMIDIHub

The operating system for your MIDI rig.

Route, transform, sequence, and play every USB, DIN, Bluetooth, and network device — from one Raspberry Pi, controlled in your phone's browser.

Euclidean Play Surface
Rack view — devices as 19-inch rack units with patch cables
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 appear in the matrix instantly; tap to route them however you like.

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.

  • Tap to connect any two devices -- or enable all-to-all auto-routing
  • 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

Cartesian — René-Style 2D Sequencer

Hold a note and the Cartesian voices it across a square grid (2×2–4×4) of semitone offsets, swept by two independent clocks: Rate steps the cells along a Path, while Inv. Rate climbs the chord through its inversions. One Fill Voicing knob fills the whole grid scale-aware — and the Root wheel flips between chordal and in-key diatonic harmony.

  • Two clocks: Rate sweeps the grid (Rows / Cols / Diagonal / Knight / Spiral / Random); Inv. Rate walks chord inversions
  • Fill Voicing — Unison → 5th → Triad → 7th → Scale, scale-aware (thirds & sevenths follow the Scale wheel)
  • Root wheel doubles as harmony mode: “No root” = chordal (played note is the tonic); a key C..B = diatonic (third → iii-chord, fifth → V-chord)
  • Autofill re-fills the offsets live while preserving your on/off + accent mask — a held note plus two knobs is a full instrument
  • Fill Ch records cell offsets by holding notes; 8-slot pattern bank like the other play surfaces
Cartesian 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.

Play Surfaces

Arpeggiator

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

Euclidean

Hold a chord; the Bjorklund algorithm voices it as an evenly-spread step pattern. Internal scale, per-step overrides, jitter and fades.

Cartesian

René-style 2D grid sequencer. A held note is swept across a grid of intervals by two independent clocks; one knob fills it scale-aware, the Root wheel flips chordal ↔ diatonic.

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.

Generators & Clock

Master Clock

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

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.

Notes & Pitch

Note Transpose

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

Note Splitter

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

Channel Selector

Momentary CC buttons pick the output channel; everything is re-stamped onto it and a live wheel shows the choice. Channel-switching for displayless keyboards.

Scale Remapper

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

Pitch CC

Each Note On emits a pitch CC before the note — chromatic playback for samplers like the Volca Sample that pitch via CC, not note.

Hold

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

Velocity & CC

Velocity Curve

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

Velocity Equalizer

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

CC Smoother

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

Timing

MIDI Delay

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

Latency

Shift every MIDI event forward 1–100 ms to compensate sluggish synths. ALSA-queue scheduled; clock and transport pass through.

Clock Divider

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

Utility

Panic Button

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

SysEx Sender

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

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.

🌐

Network MIDI

Share any device as a standard RTP-MIDI (AppleMIDI) session: link two hubs over a 100 m Ethernet cable, or play your gear from a Mac or iPad -- no extra software.

📱

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.

🔄

Auto-Update

One tap in Settings checks GitHub for newer releases and installs them -- over Ethernet, USB tethering, or WiFi. No re-flashing the card.

📺

Live Streaming

Mirror any device's screen into OBS or a browser tab with near-zero latency. No screen capture -- the UI re-renders natively, crisp at any resolution, tap ripples and all.

🔓

Open Source

GPL 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