MULTIPLE MIDI SOURCES: MIDI IN, OUT, CLOCK THRU WITH ARDUINO UNO, KORG VOLCA

Hi folks.

Making a patch saver for the Volca Keys synth. This will take MIDI data in real time from the knob turns (Volca MIDI out modification → Arduino) , store it (Arduino → Volca MIDI in) , and load it back on request.

However, this means the the Volca keys is unable to receive MIDI clock, as the Arduino is using it’s input. So it seems I’m looking to merge MIDI data from 2 inputs, to 1 output.

Existing system:
Arduino receiving MIDI CC from device B, and saving it.
Arduino sending the saved data to device B.

What I need to do:
Arduino receiving MIDI clock from device A, and forwarding it to B as a closed system.

Problem:
Device B needs MIDI clock, but it’s MIDI in is already being used by the Arduino.
Arduino’s MIDI in is already being used by device B.

Possible solutions:
I thought about using a merger… but schematics seem a bit too complex and inconvenient.

Could I “double up” a MIDI connection to the MIDI IN of the Volca?

Is there a way for the Arduino to treat MIDI CLOCK as THRU messages - remembering they’re coming from a different source to the MIDI IN?

Perhaps I could multiplex the input on the Arduino? Is that possible?

Volca Keys manual here:
http://media.aadl.org/files/catalog_guides/1444140_instructions.pdf

Volca keys MIDI out mod:

Using an Uno.

Swift replies appreciated. On hand 24/7 to provide more info.

Screen Shot 2015-04-28 at 13.42.58.png

Perhaps I could multiplex the input on the Arduino? Is that possible?

Possible but would not work.

I have absolutely no idea what that diagram is supposed to show.

The whole post is very poor. Have you read the how to use this forum sticky post?

What is a Volca keys - link to it please and also it's data sheet.

You can use software serial to give you another input but you are better off using a Mega which has 4 real serial ports.

DO NOT CROSS POST

edited. hope that provides more clarity. cross post deleted.

Thanks that is much more clear.

For this sort of problem you need two inputs and while software serial might do at a pinch you have to be expecting the data. Now with a clock you are so that might be the solution, how often are these clocks coming in? The data is a bit more problematic but if you use the hardware serial system for this then at least there is a buffer so that you don't miss anything although you will have to wait until the arrival of the next clock message before you can act on it. This will introduce a bit of a delay if that is acceptable.

The real answer is to use a Mega as I said before as that will have both inputs buffered and the software can just look at both buffers in turn and cope immediately with anything that arrives. Merging MIDI streams if done correctly is complex.

An old post but one I read with interest and something I think I also will build.

glocka:
Problem:
Device B needs MIDI clock, but it's MIDI in is already being used by the Arduino.
Arduino's MIDI in is already being used by device B.

The problem as I see it is the Uno. You need an Arduino that has more than one uart port so you can have another midi in for clock signal.

As I said the real answer is to use a Mega, that has three extra serial ports over the Uno.