An original guitar multi-effects and performance workstation for Raspberry Pi 5.
An open-source C++ and React audio-DSP project combining LV2 plugins, Neural Amp Modeler (NAM) captures, cabinet impulse responses, low-latency ALSA audio, touchscreen control, backing tracks, a stereo looper, multitrack recording, a drum machine, and an optional ESP32-S3 MIDI foot controller.
Pi-MFX turns a dedicated, headless Raspberry Pi 5 into a low-latency guitar processor: an in-process LV2 effect chain (including NAM captures and cabinet impulse responses) driven from a touchscreen, tablet, phone, or PC browser, with an optional DIY footswitch controller you build and wire yourself. A shared musical transport keeps tap tempo, tempo-aware LV2 effects, backing, looping, recording, and drums on one engine-owned clock.
- Lowest latency is the point. Direct ALSA
hw:mmap access from one realtime thread. No JACK, no PipeWire, no extra process hop. - Your audio hardware. USB class-compliant interfaces and I2S audio HATs are both first-class.
- No floorboard required. A browser on the LAN is a complete control surface.
- Build any controller you can wire. Switches, pots, sliders, expression pedals, encoders, and optional LEDs — mapped in the UI, not hardcoded in firmware.
- A complete practice and performance rig. Import set lists, record a stereo loop, capture multitrack projects, program drum patterns, and browse the reviewed Community Presets catalog without leaving the touchscreen UI.
Anyone on the same local network or hotspot can open the UI and control the Pi. There is no login on the LAN HTTP or WebSocket APIs.
| User guide | How to use every screen |
| Screenshots | Current views at 1024×600 (7" LCD) |
| Features | What Pi-MFX does |
| Install | First Pi, audio HAT, kiosk, hotspot |
| Development | PC edit → Pi rebuild loop |
| Technical | Engine, UI, firmware, data files |
| Low latency | OS tuning and round-trip |
| DIY controller | ESP32-S3 floorboard |
| Controller protocol | USB-MIDI SysEx |
| License · Notice | MIT, credits |
| Third-party · Plugin licenses | Linked libraries and LV2 |
| Part | Notes |
|---|---|
| Raspberry Pi 5 | Dedicated to Pi-MFX. Headless Raspberry Pi OS 64-bit. |
| Audio interface | USB class-compliant or an I2S HAT (HiFiBerry, Audio Injector, IQaudIO, …). Needs a real instrument input. |
| Display | Optional 7" 1024×600 touchscreen for kiosk mode. Any browser works instead. |
| Foot controller | Optional. ESP32-S3 DevKit + your switches/pots/LEDs. See docs/DIY_CONTROLLER.md. |
Pi 5 has no analog audio output and HDMI is not a guitar path, so an interface or HAT is required.
On the Pi, clone the public repository over HTTPS:
git clone https://github.com/MegaNoob75/Pi-MFX.git
cd Pi-MFX
sudo bash ./scripts/pimfx.shThen open http://pimfx.local:8080 (or http://<pi-address>:8080) from any
browser on the network. Full instructions, including audio HAT overlays and
kiosk mode, are in docs/INSTALL.md.
For current development builds, choose Dev under Settings → System →
Updates, run sudo bash ./scripts/pimfx.sh update --branch dev on the Pi, or
use pimfx.cmd item 3 from Windows. main remains the release branch;
workstation is retained only as a historical branch. The screens shown in
this repository reflect the current dev feature set. Day-to-day editing from
a PC is described in
docs/DEV_FLOW.md (double-click pimfx.cmd; login is stored
only in gitignored .pimfx-remote).
MIT — see LICENSE. Credits and third-party notices are in NOTICE.md.
