-
Notifications
You must be signed in to change notification settings - Fork 0
Home
MIDI Orchestration System for Raspberry Pi with a Modern Web Interface.
Général Midi Boop manages MIDI devices, edits and plays MIDI files with per-instrument latency compensation, and synchronises stage lighting — all from a browser. It can automatically adapt MIDI files to the capabilities of your connected instruments.
Status: beta (v0.8.2). The interface is becoming stable; minor bugs are still being ironed out.

git clone https://github.com/glloq/General-Midi-Boop.git
cd General-Midi-Boop
chmod +x scripts/Install.sh
./scripts/Install.shThen open http://<Raspberry-Pi-IP>:8080. Full instructions in Installation.
| Page | Description |
|---|---|
| Interface-Main-Page | Dashboard layout, transport controls, device status strip |
| Interface-Instrument-Creation | Register, configure and calibrate instruments |
| Interface-Virtual-Piano | Play notes from the browser — piano, guitar, drums, wind, list, plus dedicated accordion / harmonica / bagpipe / harp / mallet / steel-drum views |
| Interface-Loop-Manager | Record, trigger and arrange MIDI loops — Library, Pad, Live, Keyboard, Arranger |
| Interface-Lighting-Control | Configure drivers, fixtures, effects and MIDI-triggered cues |
| Interface-Playlist | Upload, organise, search and queue MIDI files |
| Interface-Microphone | Microphone-based latency calibration and chromatic tuner |
| Interface-Settings | Theme, language, keyboard preferences |
| Interface-Hand-Management | Plan and visualise hand/actuator positions for piano and string robots |
| Area | Page |
|---|---|
| Set up a Pi from scratch | Installation |
| Tour the web UI | Usage-Guide |
| Understand the codebase | Architecture |
| Edit MIDI (piano roll, tab, drums, wind) | MIDI-Editor |
| Auto-assign channels to instruments | Auto-Assignment |
| Drive 146 WebSocket commands | API-Reference |
| Wire USB / BLE / RTP-MIDI / GPIO UART | Hardware-Integration |
| Control lights (DMX, sACN, OSC, MQTT…) | Lighting |
| Tablature, hand-position, calibration | Advanced-Topics |
| Build a GMBoop-compatible instrument | Instrument-Developer-Guide |
| Run in production | Deployment |
| Hack on the project | Contributing |
| Fix common problems | Troubleshooting |
- MIDI transports: USB, Bluetooth LE, Network (RTP-MIDI / RFC 6295), Serial UART (up to 6 ports on Pi 4 at 31250 baud).
- Multi-mode editor: piano roll, tablature (19 tunings), drum grid (GM map), wind articulation, with CC automation, pitch-bend and tempo curves.
- Auto-adaptation: per-channel analysis, instrument compatibility scoring (0–100), intelligent drum remapping, octave wrapping, audible preview.
- Lighting: GPIO LED strips, ArtNet, sACN/E1.31, OSC, HTTP, MQTT, with effects engine and DMX fixture profiles.
- Latency compensation: microphone-based calibration with median statistics and confidence scoring.
- Internationalisation: 28 UI languages, including translated GM instrument names.
- Repository: glloq/General-Midi-Boop
- Issues: GitHub Issues
- Changelog: CHANGELOG.md
- Roadmap: TODO.md
- License: MIT
The wiki is the navigable, top-level entry point for the project. The deep technical material lives in docs/ and each wiki page links to the relevant source. Wiki sources are tracked in the main repo under wiki/ and synchronised on every push to main.
Général Midi Boop · MIT License · Sources tracked in wiki/ — edits synced on push to main.
Getting Started
Interface — Pages & Modals
- Interface-Main-Page
- Interface-Instrument-Creation
- Interface-Virtual-Piano
- Interface-Loop-Manager
- Interface-Lighting-Control
- Interface-Playlist
- Interface-Microphone
- Interface-Settings
- Interface-Hand-Management
Core Concepts
Reference
Operations
Community