Hey
I’m currently trying to use Zynthian 5.1 in a hardware midi studio, mostly as a sequencer and controller. I know there’s a few topics covering this scenario but they are dated and non-identical to my use case. I’m running into issues that seem to be bugs - so I’m wondering if I’m using things wrong. So allow me to explain what I have now and what my experiences were so far.
Midi Chain setup
Basically what I did was create a snapshot for my studio, with 7 Midi chains (without any processors) that are configured to send to the DIN Midi out port on a specific channel each (sidenote: a bit annoying you have to enable that output port each time, by default none are enabled, defaulting to the DIN out would make sense to me here).
My Midi keyboard is connected with USB. This works perfectly the way I want it to work: I select the instrument chain I need on the MIX screen and then I can use my midi keyboard to play it. I don’t need to think about channels ever, just select the chain (that I named after the instrument). Perfect.
Later I will add other USB input devices, but I want to keep things simple for now.
Clock Issue - bug
Next my plan was to dive into ZynSeq. I set the “Clock Source’“ to "Internal Send” because I have some vintage devices that just want to get clock (they have their own sequencer). Next I press a pad to trigger play (everything still empty - default). I suddenly get a super rapid continuous burst from my external drum machines. After a look with an external midi monitor, I noticed every single transport (start/stop) message, and also every single Midi Clock Byte, is being sent for each chain. So everything is sent 7 times. 7 times start, 7 times 24 Midi Clock Bytes per quarter note. All on the same DIN output. That is clearly a bug right? I’m 100% sure there is no external midi loop happening. Probably this behavior comes from the fact that internal instrument chains of course do need these things indivudually. But for a MIDI chain routed to external port, that should be different, as clock is a “channel-less” message, every receiver will get it regardless of midi channel.
Anyhow, to continue to at least expore ZynSeq, I set Clock Source to “Internal” again and disabled “Midi System Messages” and ignore the external machines that need sync for now.
Using ZynSeq with Midi Chains
I’m staring at the pad UI and I see each pad has a default midi channel. Ok, fine. I would have preferred it to default the groups to my pre-configured chains but ok. Let’s change a Midi channel then. The ZynSeq User Guide says about Midi channels:
If there is a chain associated with the MIDI channel then the name of the currently selected preset of the chain is displayed in the topbar as MIDI channel is selected.
That’s very convenient, but in case of external Midi that’s not possible. So nothing is displayed. Again, I would have hoped to be able to select from my pre-configured chains and see the names there instead of having to deal with channels again. But, I did managed to make a sequence eventually and drive my external synth without issues.
I just checked with instrument chains it does show the name of the instrument (Dexed in my case) which changes to the actual preset name once I select a preset in Dexed (weird). So the UX there is good.
It appears the usability of Midi Chain functionality could use some work in ZynSeq. Or I’m using external midi functionality completely wrong?
I’m running quite a recent version:
zyncoder: oram (e903d39)
zynthian-ui: oram (f3897cd)
zynthian-sys: oram (6303572)
zynthian-data: oram (37d9261)
zynthian-webconf: oram (024ff8d)
