/midi-8r

MIDI patch/preset mapper and messenger

Primary LanguagePython

MIDI-8R

Assistant for musicians with MIDI-based pedalboards. Built using Raspberry Pi Pico and MicroPython.

Responds to incoming MIDI messages by outputting other messages and displaying information.

Think of it as a co-pilot, navigator, or butler for your pedalboard.

On stage

  • Extend MIDI patches to control pedals that have limited or no preset storage
  • Show reminders for changing guitars, re-tuning, etc. (optionally turn on the tuner automatically)
  • Any other info you like (e.g. which band member starts the next song)

In the studio

  • Extend MIDI patches to control pedals that have limited or no preset storage
  • Store additional information against patches, like the exact guitar and pickup selection (to allow the same sound to be recreated when re-tracking any recorded parts)

Functionality

The default implementation is a Patch Editor that stores data against patches selected via MIDI program change events. This is a modular editor which can support multiple components, each dealing with different data associated with the patch.

Current components include:

  • M5 for use with the Line 6 M5 pedal. The pedal can have 24 presets. This component allows a chosen preset (and initial on/off state) to be stored against each of the 128 possible MIDI patches. This component updates the M5 pedal automatically via MIDI. This patch could easily be adapted to work with other effects pedals.
  • Tuning for selecting the current tuning. Will automatically switch on the tuner when selecting a patch that uses a different tuning
  • Guitar for storing the guitar and pickup selection

To implement your own component, start from the template component or one of the above. More details on the API can be found in the template component's doc comments.

Components and hardware configuration (e.g. GPIO pins used) can be modified in config.py

Hardware

Components:

  • Raspberry Pi Pico
  • MIDI breakout
  • Rotary encoder
  • RGB LED matrix
  • Footswitch
  • 5V step-down buck converter
  • Enclosure
  • DC barrel jack, for pedalboard power connection
  • 3.5mm jack sockets (or 5-pin DIN sockets if you prefer), for MIDI connections

Most of these can be picked up for under a few pounds/dollars/euros each The most expensive component is the RGB LED matrix. These can be found for about 15 dollars.

Build

This pedal can be built entirely with hand tools.

For details on the exact components I used and steps I took, see the hardware build page.

Commercial products

There are similar products on the market, although none with the exact same functionality:

Similar projects

  • galczo5/open-midi-controller Arduino-based MIDI controller. Has different goals to this project (designed to trigger MIDI events rather than respond to them), but some similarities in approach.