Okay! So first let’s talk USB MIDI…
The minidexed is a Raspberry Pi based device. It uses USB MIDI as its input. It does this by presenting as a USB host - that is a device that pretends to be the computer end of the USB link. (Yes! It is a computer…) It does this on its USB Type A connectors (the rectangular ones) which is the most common presentation of a USB host. It expects a USB MIDI controller device to be attached to this port, e.g. MIDI keyboard. The MIDI USB controller device will often present its USB port as a Type B connector (the square one) so it is a simple matter of connecting the two together with the commonly available Type A to Type B cables. The minidexed detects a USB peripheral (the keyboard) being plugged in and negotiates its connection. It detects a USB MIDI device, creates a MIDI port and connects internally so you have control. Cool and simple!
Now let’s condsider the Zynthian which is also a Raspberry Pi. We are now trying to connect computer to computer. One has to be the host and the other needs to act as the peripheral. You have connected the Type B connector of the Zynthian to the Type A connector of the minidexed so the minidexed continues to act as the host and Zynthian must present as a peripheral. Zynthian does this through its Type B connector whilst continuing to act as a host through its Type A connectors so we should have the prerequisite connections - right?
Well, yes we do but how do wo do the logical connection? Here I need to deviate from the Stable release. You see, for the past couple of years I have been working on substantial changes to Zynthian logic which has culminated in the Oram development branch which is very close to release. We have stopped all (except critical) support of the current Stable release in a bid to get Oram released so, it will be challenging for me to describe the behaviou in the Stable release - sorry. There may be others (or you) that can check and compare. So I will describe what happens in Oram. (I may include some reference to Stable if I remember…)
When you connect a host to the Zynthian USB Type B connector, Zynthian creates a new MIDI port for it. It acts like any other MIDI port (DIN-5, USB Type-A, etc.) It is called “USB Host” (or similar). (On old Stable it was called “fmidi” or similar.) In theory, minidexed should detect this as a USB MIDI device called “Zynthian MIDI” (or similar) and connect it internally appropriately. So we now have a MIDI input and output port in Zynthian but what to do with it?
In your initial use case, we just want to connect the Zynthian MIDI input to the minidexed, similar to a MIDI Thru. To do this we need to create a new, empty MIDI chain. By default, a MIDI chain will connect all physical (including network) MIDI inputs to the input of the chain. It will pass this MIDI to the output of the chain (MIDI thru) but the chain will not be connected to any physical MIDI outputs. Output connection is done via the Chain Options (bold press on the chain / SELECT / YES), “MIDI Out” menu option. You then toggle which outputs to connect. This should do what you want.
In old Stable it is slightly different. You can enable an admin menu option to pass MIDI to output (I don’t remember exactly how that last worked) and/or you need to add a “MIDI Thru” plugin to a layer (the previous name for chains).
I hope this gives some pointers. We are very near to releasing Oram so you may wish to install that version instead of Stable, especially if you are not yet using the Zynthian for production. If you are then I recommend installing on a separate uSD card.