MIDI I/O Computer

I want to build a device to read MIDI Program Change data from one device and spit out a specific MIDI Program Change on another MIDI channel. Ideally, this would be something with a web interface where I could update the I/O easily. It is a very IFTTT sort of thing. If MIDI CH01 PC01, output MIDI CH02 PC01.

I know it is possible and I have seen several projects using the MIDI library for controllers of all kinds. I'm hoping there is a developed project already in the wild that I can utilize. The key is the web interface for updating the MIDI PC programming. I've used ESP8266 and several nanos, unos, and megas before, but that has mostly been adapting code and modifying hardware. I'm good with the hardware and soldering but know very little about coding.

Can you point me to something that might fit the bill?

You have a lot of high level system programming in front of You.
How much of Your project is already available? Any parts made already?
A logic drawing of the setup would be explaining things a bit.

Perhaps this explains what I am trying to do a little better. I have simplified my goals to something that can be done with a Nano, rotary encoder, and basic display. I have looked at https://github.com/FortySevenEffects/arduino_midi_library and I think this can be done with this library.

Read MIDI input

if (inputProgramChange == 001) {
send outputProgramChange 003 on MIDI channel 01;
display inputProgramChange 001 on line 01;
display outputProgramChange 003 on line 02;
}

if (rotary encoder is turned) {
cycle ProgramChange 001 to 016;
display selection on line 02;
}

Store the new outputProgramChange selection and bind it to inputProgramChange 001. Value will be recalled when Arduino powers off and on.

The hardware MIDI I/O is pretty simple for an Arduino. It's the software code I need help with. Again, I was hoping to find something already in the wild. There are many commercial MIDI controllers out there, but nothing that does this sort of basic operation. A few products get close, but they are over $300 and do a lot more with hardware buttons and other I/O.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.