XR-1: MIDI Program Orchestrator (prototype)

The XR-1 is a MIDI orchestrator – sort of a dumb sequencer – it just fires off MIDI program change messages over USB to a max of 4 instruments connected via USB / USB hub to its USB host port. I’m using a Teensy 4.1 with the USB host library, an ILI9340 tft lcd display from Adafruit, some push buttons and cherry mx brown switches – that’s pretty much it.

I just wanted a basic tool that just sequences MIDI program change messages, because a lot of instruments nowadays have great internal sequencers, so I want to get the most out of them. Also I tend to not like a lot of hardware sequencers. The “instrument tracks” are the columns (1, 2, 3, 4) and they can contain rows of “programs”. Instrument tracks are where the MIDI device settings are configured, as well as if the track should loop at the last program, and if each program change should be “cued” (sent early). This is useful for machines like the Analog Rytm which queue up program change messages until the next bar. The “programs” (each row in the track columns) are just containers of MIDI bank and program change numbers, the number of bars the program should play for, whether the program is “armed”.

The way it’s laid out almost remind me of “clips” (sort of like Ableton).

Eventually I’d like to implement indicators to show which programs are currently playing for each instrument track, but updating the display regularly seems to cause the MIDI clock to suffer. Also, I’d like to add paging / scrolling so more instrument tracks can be used and so that more program slots can be easily created and traversed regardless of screen size limitations.

3 Likes