Pattern change one bar late issue

Hey,

Am I the only one who think it is absolutely shameful that Elektron gear as slave still has the problem of one bar late when syncing with other gear on pattern change ?

This bug is known since a lot of time but nothing has been done for such an important feature which is syncing machines.
I am writing this post to let know Elektron that this issue is still very handicapping and I hope they’ll fixed it and if not I’ll be selling some Elektron gear as it doesn’t fit my workflow with such a bug.
I will try to break it down so Elektron can reproduce the bug, try to understand it and FIX IT.

When I use my Digitakt as Master to sequence any other elektron gear (A4, digitone) it works fine but I don’t want the Digitakt as the Master (becauseno song mode, not very clear which track correspond to which sound, only 8 tracks etc…)

Case 1 :

Settings on the MPC (or any other machine) MASTER :

  • Send Program change 16
  • Program change at the end of the sequence

Settings on the Elektron SLAVE :

  • Clock receive
  • Transport receive (I want it because the Elektron sequencer is amazing)
  • Program Change Receive: 16

So like this when I use any other gear as Master clock (for example the MPC2500 with JJOSXL) and the Elektron gear as slave it’s a mess.
The pattern change one extra bar loop late on the elektron machines and it’s just horrible to work like that, it kills the workflow, this is where the bug is and what makes me literally crazy for such a pricy machine.

Case 2 : (almost the same, see :red_circle:)

Settings on the MPC (or any other machine) MASTER :

  • Send Program change 16
  • Program change at the end of the sequence

Settings on the Elektron SLAVE :

  • Clock receive
  • Transport receive DESACTIVATED :red_circle:
  • Program Change Receive: 16

So like this when I use any other gear as Master clock (for example the MPC2500 with JJOSXL) and the Elektron gear the pattern change on time. BUT, why the hell would I use an elektron device if I can’t use it’s built in sequencer ? Mostly when I have a MPC with individuals out…
I am using it like this for the moment, but I’m considering selling the digitakt if it’s not fixed because the MPC can do this job if I have to sequence 8 more channels with the mpc…

Case 3 : (almost the same, see :red_circle:)

Settings on the MPC (or any other machine) MASTER :

  • Send Program change 16
  • Direct program change start :red_circle:

Settings on the Elektron SLAVE :

  • Clock receive
  • Transport receive
  • Program Change Receive: 16

So like this when I use any other gear as Master clock (for example the MPC2500 with JJOSXL) and the Elektron gear the pattern change directly on time. BUT the sequencer start from the beggining on both machines whenever I change pattern so I have to be super precise at the end of the sequence or I’ll hear a little cut or first step repeat…

I just want the case 1 to work, which is how any normal sequencer would work…

Please fix this…

5 Likes

I recommend that you make a support ticket on Elektron’s website.

7 Likes

Ditto, same problem. Digitakt also a bar late when slaved to Keystep 37.

2 Likes

That’s an excellent write-up. @hazer !

I’ll echo @PeterHanes suggestion that, if you haven’t already done so, the community would really appreciate it if you submit a support ticket to Elektron. Look for the button named “Click here to create a support ticket” on this Elektron page.

4 Likes

@salamonster, the more that people raise this issue with Support, the more likely it’ll get attention so please add your voice via the link above and let us all know how you get on.

2 Likes

If you tell the Digitakt to change patterns on bar 5, it will play through again because it’s already begun playing that pattern again and will want to complete it before changing. You’d need to tell it to change on bar 4. This may be the same problem that OP is having. I could be wrong though, let me know.

Let’s try to reformulate what others like @mssrcolby already said:

The DT needs to get the program change BEFORE it starts playing a pattern. So when you are at pattern 2 and the DT receives PLAY it starts playing pattern 2. It doesn’t matter that within milliseconds it gets a program change to play pattern XY. It has already started and will continue with pattern 2 until it meets the “change length” (CH.LEN) setting.

So all the PC times shown in your video are wrong. They need to be shifting back in time (i.e. 5:01 needs to be 4:xx to work).

And, yes, of course it works with other Elektron devices, because these devices sends the program change early enough.

6 Likes

To add to @tnussb’s point, if the device sending the PC has microtiming, you can often configure it to send the PC ahead of the 1st beat using the 1st beat’s trig.

Complicated to describe, but it makes it easier to dynamically jump around between patterns, and avoids the need to pre-program your PCs at the end of the previous pattern.

This works for non-auto-channel Elektron setups, for Novation Circuit sequencer-based setups, and more.

4 Likes

Yes, it is the same on the Octatrack. The next pattern needs to be cued in advance. But that’s in no way different as when you do it manually on the device.

Thank you for making this post. MPC integration is key to workflow.

3 Likes

this problem is not going to be solved by elektron. I already got in contact with them and they told me its because of midi latency and therefore couldn´t be changed.

You have to send Midi PRG CHG before pattern change. I have tested it with my MPC Live. Its a functional workaround but totally not suitable for my workflow.

1 Like

I wouldn’t call this a workaround, because it is technically the only possible solution to sync multiple pattern oriented step sequencers.

You need to command the sequencer to change to a different pattern before it executes the very first step. Otherwise you will always be too late at least for a single step.

(practically the Elektron sequencer is at least 2 steps late, because that’s the minimum change length you can configure)

3 Likes

Sadly MIDI 2 still can’t time-travel… :wink:

2 Likes

The MIDI transmission latency between the 2 devices which stand side-by-side should be less than 2ms. When the first note of my new pattern would come 2ms late I wouldn´t hear that.
Of course I have no clue about the time the elektron devices need to handle the pattern change.

@hazer Your topic is kind of passive aggressive with the capital imho … maybe change it

This is really what the flags are there for to be fair - the title has been on our radar, so it has been changed, but flagging it the next time is probably simplest :thup:

5 Likes

For MPC guys: The easiest way to queue your Program Changes is in the Step Edit window.

If you insert a Program Change on the last step of the pattern, it will change Elektron pattern without being a bar off.

1/8 Note Value gives enough time for the change to happen.

Example: 6 bar pattern with a Change every second bar.

Note: The original Program was 40, so when you are letting the pattern loop (while feeling things out), you always want it to reset to where you started. I hope that makes a little sense.

2 Likes

After all this I wrote a ticket and that’s their answer :

When a program change message is sent to an Elektron device, the corresponding pattern is cued for change. This means that the program change needs to be received a few ms before the pattern change is supposed to happen. When for example sending a program change from Ableton, you will need to use a negative track delay for the track/clip in order for the program change to be sent early enough for the Elektron device to have time to cue the pattern. The Elektron device can not foresee the future.

This also applies to other gear that is used as master clock. If it sends the program change exactly when the change is supposed to happen, the Elektron device will not have time to cue the pattern. When PROGRAM CHANGE SEND is enabled on an Elektron device that acts as master, the program change will always be sent a few ms early so the receiving Elektron device has time to cue the pattern. That’s why it’s working in an Elektron ecosystem.

In short, if the master device can’t send the program change a few ms before the pattern change is supposed to happen, an Elektron device will always change too late. Using program change for pattern changes is not ideal, and it’s something our current products have inherited from the Machinedrum era. I will talk to our developers and hear if there’s anything we can do differently in the ideal situation you describe, but I suspect that isn’t possible due to how things are implemented, unfortunately.

I don’t know if there will be any update about this. Sorry if my post feels a bit agressive I was mad having this issue with all my Elektron machines… I’ve tried so many things to make this work. Capitals and strong letters was for easiest understanding though.

@Kpucski If I understand correctly I would be supposed to insert a program change event just before the end of the loop ? What if I want this loop to loop twice or even more and toggle the change when I feel the pattern need to change ? I feel like pre-writting the pattern change and pre-writting every single loop length loop would kill my workflow.

For the moment I’ll be honest, my Digitakt is collecting dust since I have this MPC. And my digitakt was the brain of my setup. I still use the synths (A4, Digitone) but not the built-in sequencer (or I sample it when needed).

An option on the settings, to activate the oldschool working midi mode would be great. And the oldschool midi mode is nothing else than a direct pattern change, because if it can cue the pattern, I think it can change the pattern…

7 Likes

It’s as simple as they say it is. Send the program change before the end of the pattern. All Elektron gear works this way.

2 Likes

If you have AF, Digitakt & Digitone… just use them together as they were intended
they alone are are enough to make good music… use the mpc in a different setup with your other gear