External midi clock

Hello everyone !

I know there are some topics about it, but maybe i don’t understand correctly.

I would love to use some midi FX like “arpeggiator” and “midi step sequencer 8x8” midi sync by my DAW or my mpc 500.

Is this feature available ?
I couldn’t find it.

Thanks for the support !

2 Likes

The discussions you probably are referring to are related to the step sequencer implementation, and I’m pretty sure it was implemented there and there was some discussion about lv2 implementation. I believe the step sequencer implemented an external MIDI clock (@riban will know) but most of the testing was done running on it’s internal source ( because step configuration was a concern for a while).

Most ‘interesting’ devices in the zynth world are best viewed as lv2 devices, and you can get midi in and out of these via the channel you allocate to that effect albiet with the occasional use of patchage to patch the jack layers.

As to what’s available in the MIDI fx world of LV2 I’m not the person to ask but I suspect there are all you describe and many more, so if you could hunt syh beasts down and comment that would be to the benefit of all and would obviously relieve you of any cumbersome :face_with_monocle: duties.

What would you expect the devices you describe to do, because I suspect the step sequencer in the zynth might well give you a fair insight into the zynth thinking on MIDI devices.

1 Like

thanks for your quick response @wyleu !
Maybe my answer will be inappropriate, my english is not so good :slight_smile:
I’m not talking about the alpha sequencer but maybe it’s connected to that.
I would like to use midi fx layer like arpeggiator and sequencer 8x8 synced with external clock (DAW or MPC 500 in my case).

This midi fx (I don’t use modui, this link its just more accurate) :

When i press play in my DAW, i want that the arpeggiator to follow the bpm from my DAW and my midifx sequencer start.

I just want to know if its possible to activate a sync external clock on zynthian. if it’s not possible for the moment, it’s not a big deal, I can use my DAW to make arp and sequence.

Those two plugins do not seem to handle external MIDI clock. The builtin (Alpha) step sequencer does support external clock. Other plugins support external clock, e.g. Superlooper but may need some manual routing which may not be available within the device without some low-level techie type furtling, e.g. ssh + jack_connect.

Thanks @riban ! Ok, so now i understand why it’s not working, this two midi fx cannot sync, maybe later ?. I will try the sequencer, its well done, love the way you make it, it’s remember me this think i used when i was a child :

Again, thank you everyone for the work done on the zynthian, i love this synth so much!

2 Likes

Thanks @Tabula. I was aiming more for something like this:

Whilst @wyleu preferred something like this:

There are some plugins that support external sync but not those. For these to support it the upstream project would need to enable it in the LV2 version. You could try lobbying for this to the authors, e.g. https://github.com/x42/stepseq.lv2/issues. Robin (@x42, author of the step sequencer) seems like a lovely chap who cares about his software (very prompt to respond to issues) and is extremely talented. His software does generally work well and often fills you with a sense of enormous well being :smile:. Alternatively you could look for other plugins that already support it. I am sure there are community members willing and able to help get such plugins added to Zynthian. (Actually I am sure we did add another arpeggiator recently which supports clocking.)

1 Like

so many possibilities in this zynthian !
I enjoy play with the sequencer already !
Thanks for respondind so quickly. if i have some times, I will ask to Robin to implement external midi clock on his plugin.
And yeah, I tried the new arpeggiator but it seems to no respond to external clock. Maybe i don’t know how to that. but like i said, if it is not, i will continue to use arp on my DAW

Qmidiarp, which you can use in a midi fx layer.

1 Like

QmidiArp could be a good addition. It has LV2 modules for:

  • Arpeggiator
  • StepSeq
  • LFO => This is really interesting!!!

and it can be synced by external MIDI-clock, etc.

But … the recipe for installing it is not on the zynthian repo. Could some lovely soul make a PR with it?

Thanks!

2 Likes

No need to. He won’t implement it. The plugin can be already be synced to host transport.

Adding sync options to each and every plugin is backwards. Transport infrmation should be provided by the host to each plugin. Implementing it once correctly in the host, also avoids many buggy plugins and also minimizes DSP load (only parse MClk once, not every plugin).

PS. This is also the only way to guarantee alignment when combining different plugins that may have different latencies. You cannot directly feed each of them with external Mclk or MTC, bypassing parts of the signal chain.

2 Likes

Thanks @x42. We haven’t really been looking at JACK transport but already use your JACK MIDI Clock module for internal sync. I have raised feature request 262 to look at this so that we can drive LV2 plugins and other Zynthian modules from a common clock, including external MIDI clock.

[Edit] This may prove more challenging than first thought. LV2 (the audo plugin layer used by Zynthian) plugins within Zynthian are hosted by an application called JALV which passes JACK (the audio layer used by Zynthian) transport / clock to each LV2 plugin. JACK transport cannot be slaved to external MIDI clock. So we need to reconfigure Zynthian in a more significant way to make this work. This may take some time…

1 Like

There exists a script in /zynthian/zynthian-sys/scripts/recipes/pending/install_qmidiarp.sh , which seems to work after you create the 3 symlinks for the lv2 modules (probably need to add that to the script) and enable in the webconfig, so most likely this is easy to integrate. (The compile does take some time!)

root@zynthian:/zynthian/zynthian-plugins/lv2# ls -al q*
lrwxrwxrwx 1 root root 35 Aug 20 14:19 qmidiarp_arp.lv2 -> /usr/local/lib/lv2/qmidiarp_arp.lv2
lrwxrwxrwx 1 root root 35 Aug 20 14:19 qmidiarp_lfo.lv2 -> /usr/local/lib/lv2/qmidiarp_lfo.lv2
lrwxrwxrwx 1 root root 35 Aug 20 14:20 qmidiarp_seq.lv2 -> /usr/local/lib/lv2/qmidiarp_seq.lv2

OK! I will fix it ASAP and will move it to main directory,

it may also be a good practice to add a strip -s *.so to these scripts/modules, removing the debug symbols to reduce memory usage somewhat (as these modules can mostly likely be multi-instantiated).

I think you can install qmidiarp with apt from the repos.