Zynseq - A native step sequencer

Hi,

Maybe there is a small problem with system real time messages:

I have an old PSR arranger keyboard which sends clock messages permanently.
It also sends start and stop messages if I start or stop the rythm.

When I connect it to Zynthian, the step sequencer is permanently running whatever is start/stop status.

Shouldn’t stepseq give priority to start stop status ?
(ignore clock messages when stopped)

@jofemodo I was waiting for someone to notice that faux pas. Fixed in next release.

@MrDham That will be fixed in next update. I have been working on clock and sync. You should see significant improvement later.

2 Likes

Another update.

  • Synchronisation of patterns
  • Delayed start of sequence until sync pulse
  • Fix playback pausing when exiting step sequencer view
  • ZynGrid has 4 play states: starting, playing, stopping, stopped
  • Each mode and play state has different colour for each
  • Sequences start on next sync pulse unless nothing is already playing
  • Sync period can be set in clock cycles (default 96)
  • Don’t initialise displays until required

ZynPad is starting to take shape but there is still an issue with synchronisation. It is supposed to start the sequence when the bar ends but is not quite doing that. I ran out of time tonight. Maybe I can fix it tomorrow…

Goodnight.

11 Likes

Nice update, thanks Riban!
A tiny criticism: The loop symbol hides the MIDI channel
Zynpad

Another day, another update. You might even like this one!

  • Load / Save added to menu - just default file currently
  • Autosave disabled
  • Fixes sync of pad patterns
  • Fixes loading sequences from file
  • Reduces debug output (when not in debug mode)

The pads are almost usable! They should allow triggering of sequences (which are currently just populated with patterns 1,2,3… but will in future be configured by song editor.) If the transport is not running then the pressing a pad will start the transport and the pad’s sequence will start immediately. Subsequent pad presses will start at the loop point*. The pad mode may be changed so that it plays once or loops. Each may be configured to play to the end of the sequence or to stop immediately. (This is indicated by (too) subtle colours. I need to improve the choice of colour.)

  • Loop point is defined by menu entry Sync period which is measured in clock cycles. This is not ideal and will be improved in future. For now, create patterns that are the same length of clock cycles based on Steps in pattern and Clocks per step then set the Sync period to these two parameters multiplied together, e.g. 16 steps in pattern, 6 clocks per step, sync period should be 96. Sorry for this complexity - this is what is happening under the bonnet (or hood for our American friends :wink:). I will improve this to hide the mechanics from our artistic brethren.

Proof that this works…

Please play with ZynPad and let me have your feedback. It is still a bit awkward to access the pattern editor and the song editor is not yet implemented. Any ideas on how to navigate between them would be appreciated - I haven’t thought much about that yet.

@spurkopf You can change the font size in webconf. I will look at how to improve display on different sized screens. (I do occasionally test but don’t have time to test everything on every display for every update - and this is alpha - you are my tests :wink:.)

And @jofemodo - jitter is fixed - thanks!

2 Likes

8 posts were split to a new topic: Accessing the webconf

Hi Vincent

Step sequencer is currently in alpha testing. It can be accessed by switching your Zynthian to use the feature/stepseq branch from webconf->software->repositories then performing an update. Note that this is cutting edge so may break the Zynthian. It is not yet recommended for production use. I expect this to move to a beta stage within the next few days (or hours @jofemodo?) and appear in the stable release. It is still under development with much work yet to do.

LV2 plugins may be enabled or disabled in webconf->software->LV2 plugins.

Cheers

I’ve moved the previous discussion to a new Thread ‘Accessing The Webconf’, primarily to see If I could . . .

:smiley:

2 Likes

:face_with_raised_eyebrow:
My posting has nothing to do with “Accessing the webconf”.

@spurkopf You can change the font size in webconf. I will look at how to improve display on different sized screens. (I do occasionally test but don’t have time to test everything on every display for every update - and this is alpha - you are my tests :wink:.)

And that’s why I’m here, the standard user with a standard kit and bad eyes. Maybe you should just write Channel, Midi-CH, or remove the arrows. :wink:

Apologies, it’s now back ! but perhaps a little out of place. You wouldn’t believe the housekeeping required round here :smiley:

1 Like

I’ll do something in future update. We are looking at hiding touch controls if user doesn’t want them and I can reduce the text length as you suggest. I will have a session where I work through all the options for different size displays but bear with me whilst I try to complete core functionality.

1 Like

I only report if I notice something that could disturb other users, or if I think that should be considered. What you do with it is of course up to you. Otherwise, I don’t want to stop you in any way from programming.

1 Like

Small update:

  • Reduce some titles to fit smaller screens
  • Default ZynGrid size: 4x4
  • Add grid selection highlight
  • Fix sync issue
4 Likes

Hi @riban,

I just added a configuration option for enabling/disabling touch widgets.
It’s available from the webconf’s UI options and accessible from code:

zynthian_gui_config.enable_touch_widgets

Thanks!

OK @zynthianers!

I just merged feature/stepseq with master … in other words, the Step Sequencer is now available for everybody in the main branch.

Congratulations, @riban, for this fantastic piece of code. And thanks a lot for this huge effort!! You can be sure that a lot of @zynthianers will enjoy with it … and a few motivated heads will be crashed by some furious life-partner feeling unattended … :grin:

10 Likes

And now, my report after having played a little bit with the Patter Editor and the Zynpad:

First, the good!! :wink:

  • Pattern edition is quite comfortable. I love using left and right hands for controlling cursor with the lower encoders and adding/removing notes, while having the upper encoders for adjusting velocity and duration.
  • ZynPad is already usable! You can arrange patterns in different MIDI channels and enjoy jamming. Amazing!!
  • Although Sync Period is far from intuitive, once you configure the right value (192 in my case, using 32 steps patterns with 6 clocks/step), patterns get synced perfectly.
  • LoopAll mode works also really nice and you can switch your pattern variations very easily on the fly.

Pattern Editor:

  • When changing to a new pattern number, it has 64 steps. Too much. 16 or 32 would be fine.
  • When editing, copying drum patterns, it could be useful to delete a row (all the notes events in the same note number)
  • It would be nice to save the cursor position on every pattern and restore it. If not when changing from a bass-line pattern to a lead or drum pattern, you see an “empty pattern”.
  • When trasposing a pattern, it doesn’t scroll vertically …
  • While playing and changing pattern number, MIDI channel from the previous pattern is assigned to the pattern you change to, In other words, MIDI channel is not changed accordingly to the pattern assignation.
  • When a pad (in zynpad) is playing, you change to pattern editor, stop and start again, the pattern and the zynpad doesn’t get synced.

ZynPad:

  • Pattern’s MIDI channel should be used. You compose a pattern for a sound (aka layer, aka MIDI channel)

  • By default, patterns could be ordered by MIDI channel (aka layer), having channels in columns and pattern phrases/variations in rows, something like that:

    CH#1:Lead    CH#2:Pad    CH#3:Bass    CH#10:Drums 
    p1           p10         p20          p30
    p2           p11         p21          p31
    p3           p12         p22          p32
    p4           p13         p23          p33
    

Of course, we are reaching the point where it MUST be integrated with hardware pad-controllers, like the Novation’s LaunchPad, etc. We have to think about mapping … and perhaps reusing stuff from DAWs like Ableton Live … Take a look to this:

Regards,

3 Likes

:face_with_monocle: :face_with_monocle: :face_with_monocle: :face_with_monocle: :face_with_monocle: :rofl:

1 Like

OK! :grin:
Same patterns that 2 days ago plus some variation, but triggered with ZynPad …

Enjoy!

4 Likes

So now everybody can upload the ZynPad (nice name btw) into the Zynthian using a network connection ?
Amazing!
It has to be mentioned, you guys really know what you’re doing and form a great team.