I recently purchased a Midihub as a utility midi device, mainly to reroute midi note numbers from an mpc2000xl to a digitakt.
I’d like to have the MPC send midi note and midi clock, start, and stop information to the Digitakt. This was all working fine minus the note numbers when going straight from one device to the other.
However when I pass through the Midihub, the note numbers are mapped correctly, but sending any midi clock from the MPC causes the Digitakt clock to max out at 300 bpm.
I understand that I could probably send midi clock from the Midihub, but this would mean I would have to change / reconfigure presets every time I want to change the BPM.
I’ve set the MPC as the Master and DT as the slave. They sync fine without the Midihub, so maybe it’s a patch issue or some sort of loop within the Midihub like pmatilai suggested.
The filters are crucial in this setup. It’s actually not looping the same data, but making duplicate events, including clock.
When you do many FROM A … TO A, all of the messages that are not filtered out get duplicated. In your case, only the notes are taken care of, as the Note Remap pipe does some filtering on its own. Instead, you should try and filter out as much data as possible before forwarding to the output.
See the attached edited preset to see how to go about it.
Btw, I’ve also simplified it a bit - I noticed that you’re remapping notes 60-68 to 0-8. This can be done using a single Note Remap pipe, using these values for In Low, In High and Out Low, Out High.
Once an event arrives at the MIDI IN A port, the FROM A port gets immediately processed by all FROM A ports in its entirety, including all of the virtual pipelines, until it reaches all the outputs. Then the next incoming event is processed, starting from appropriate input pipes. The order is not guaranteed and should not be depended on. You should generally assume that for each incoming event, the pipelines are processed in parallel until they reach the end(s).