Stopping and starting Zynthian clock

How are people controlling the overall MIDI clock at the moment?

Conceptually what controls what in terms of play/stop/pause and transport controls and how do these interact with the step ZynSeq & MIDI player & recorder?

Is there an overall stop/start that will halt all running sequences in zynseq?

and as another mildly related subject, can I get a MIDI file out of a sequence?

1 Like

Yes and yes.

ZynSeq and ZynSMF use the jack clock so stopping this will stop both of these but this may cause unexpected behaviour. Please explain the workflow required so we can design it in.

ZynSeq pattern editor menu has an export as SMF option so you can export a pattern. If you want to export your performance you can record it with SMF recorder.

1 Like

I’m looking for an overall system transport control.

At present the zynseq toggle doesn’t seem active ( I can allocate audio record toggle, but zynseq toggle doesnt seem to do anything) I am looking to have overall control of sequences playing from this facility so there is a zynthian sequence on and off mode ( possibly burying other transport functionality into bold and long presses).

ITY feels a little uncontrolled at the moment as the only way of turning sequence components on and off requires one to be in the sequence page. I’m looking to avoid the helpless, How do I turn this damn thing off? look, that inspires anxiety in unfamiliar users.

BY extention quite how individual MIDI clocked engines and components ( midi recorder, zynseq, other sequencing engines) respond to the overall MIDI clock.
The ability to have an arranged song playing with carefully considered components can frequently be played against a rolling sequence that just wants to be turned on and off. I’ve done this with loopers where a loop that just plays over a pattern against a much longer loop that embodies the piece.
The Three loop roland pedal ??300 allows this.

It would seem that some form of overall clock controller thingy is needed to bring all this together and handle the passing off of incoming clock signals to zynthian modules. I would benefit from logical system outputs like reset, sync and possibly divide downs of the 24 clks per beat to aid general sequencing craziness…

The nord modular has it’s clock concept…

page 133.

and page 187

I have saved an SMF file but it doesn’t appear in the capture MIDI section, wouldn’t this be the sensible place for this to crop up?

Finally heres the updated steppin out zss…

I get two sequences palying at the same time during sequence change over ( pressing the incoming sequence well ahead of the change over) …

006-steppin out_3pat.zss (26.5 KB)

and finally I was asked with NO HINTING ON MY PART !!, why is the keyboard the wrong way round…?

The answers get increasingly easy so in reverse order:

You can turn your keyboard around as you like.

Pattern export should be saved in internal capture location with title pattern_.mid but having just tested it fails at line 254 of zynthian_gui_patterneditor.py as it tries to insert the tempo. That should be reported as a bug.

The clock and transport is very challenging. I spent a lot of time deliberating over it and implemented something I know may be suboptimal but is a pragmatic solution for the problem we had. As you are wont to say, this renders a problem of success… I am being called for dinner so will try to describe the issue later.

We use the jack transport for start / stop clock and position. We want to be able to start sequences or SMF promptly so want the initial condition to be positioned at 0. To facilitate this we leave the clock stopped. The first module that starts playback will request the clock starts then subsequent modules will start synchronised with the running clock, working for a sync point like start of bar before commencing. The last module to request playback stop will stop the clock and reset transport to zero. We have a module that handles this, registering each client as they twist start and deregistering when they twist stop.

We could arbitrarily start and stop the clock with the effect that each module should pause / resume. We could also set playback position, e.g. to zero to allow restart.

Such workflow would need to be validated to ensure expected behaviour, e.g. no stick notes or hanging pitch bend.

I think you may be referring to the transport controls accessible by touching the PPM. This was the planned intention for that but issues arose making it not work as required. I haven’t had a chance to revisit.

I think stopping everything may be okay (and may already work) but what do you want to start? One or more SMF (which ones)? One or more sequences?

As you command sir… :smiley:

It’s quite Esher’esque don’t you think…?

1 Like

I have fixed export from pattern. It is in Testing so you if you are using that you can update and enjoy.

1 Like

Yep, that works…!

Are you seeing the duplicate play problem on the 3 sequences?

about 3 seconds in and not always repeatable.

1 Like