Stop/Start for instant pattern change

Not got the chance to try this yet but when performing an instant change via this method, does the next sequence start at step one or pick up from where it left off? Is there a way the latter might be possible? It’s one of my favourite behaviours in a sequencer!

Direct jump! It’s pretty much the only feature request I have for the :elot:


Is it possible to get the Octatrack instant pattern change script working by using a Retrokits Rk002 ? @grit

Do I understand this correct, there has to be an external trigger (from a midi controller) send from Rk002 to OT for an instant pattern change ?

Did some one get this to work for the OT and Rk002 ?

Could this work with a DAW + midi controller + Rk002 and OT ?

Do I need a Blokas Midihub for this ?

There is a script on the RK002 which does the instant pattern change, seems to be working with sending a stop, program change and a start in very quick succession. Some also claim sending start twice after each other works but I can’t verify. Anyway all can be done with a RK002 because it can be programmed at the core of midi.

About converting CC to PC ( which you can use on a p-lock) here a small example [EDIT] I also added the instant pattern change to it, how it works is once the RK002 receives a program change, it stops the sequencer, sends the program change and queues up the next start message on the next midi clock pulse (you need a bit of delay between the program change and the start message or the digitakt will not respond properly, that’s why I que it up to the clockpulse):


I am a bit lost here.

Nice if this works with OT (octatrack).
How would I set this up ?

There has to be an external trigger to change from pattern A to X instantly / direct (on Octatrack) ?
Comes this external trig from a midi controller ? How do I chose witch pattern to play direct ?

Some context : I did ask via mail if it was possible to let the RK002 intercept a CC message and convert it into a MSB message.

With this it is possible to Plock ‘kits’ on the LXR-02.

Which CC number do I plock on the OT and how do I choose a bank (MSB) that chooses a kit on the LXR ?

Thank you for the work.

Some more context…

I have OT connected with the Rk0002 and LXR-02.
I can do midi arp, play chromatic,plock cc’s on the LXR…ect with this script (S.A).

With (S.A) I want to change kits on the LXR, this is only possible via Bank-change on OT, witch is only possible via parts,…

I want to Plock a CC message – the RK002 coverts this cc message to a MSB (if this is possible).
With this i can plock a bank/kit
But how to chose the bank number = kit ?

Last, I would like to use (S.A) with (Plock kits) and (Instant pattern change).
Maybe this is to complicated, but think about the possibilities…

script S.A

In this case you trigger the instant pattern change via an external program change. Also you could put the RK002 in loopback as people do on the DT and use a CC (I programmed CC80 - see line 58) with p-lock to trigger a queued program change. But: there is not blockage of all other midi signals on this script so big chance you will overload the DT with midi loop.

Also I did not do the instant pattern change on CC80 because it would probably break your beat (I commented out commands to make that happen anyway) .

Adding your lxr trick to this firmware is just adding the RK002_sendControlchange(0,ccnum,ccval) to the code after line 69

but - the difficulty on this is not the coding, but it is highly dependent on what your setup is: Do you have a master control for the DT / OT / LXR? what is the whole midi setup? If you have the RK002 from another master controller and merge it into your stream you will probably want to forward everything and just add these extra messages.

If you want to use the RK002 in loopback to make the DT / OT control itself you will need to block other midi messages to prevent loopback.

That’s why I just setup a few techniques on the programming here, which I also hope will not be too complex to read.

1 Like

MIDI setup : I have OT octatrack as master —> via Rk002—> LXR-02

I want to plock “bank” in OT witch sends a MSB message witch allows me to change kit on the LXR-02.
How do I choose wich cc to plock how can i choose a bank–kit ?

In my case midi loopback is not possible i think.
I want to be able to use the old script with Plock bank/kits from LXR via Plock cc on OT.

Extra is old script + Plock kits + instant pattern change.

My id is to play the LXR with OT.
For the moment,with the old script, I can Plock cc’s, have chromatic playback from OT to LXR,… I wonder if its possible to write a script that has the old script AND Plocking kits in LXR from OT AND instant pattern change in OT. If I change patterns on the OT, the LXR follows the pattern change.

For instant pattern change in OT I would need a second Rk002 (?) As this happens from external source (maybe from daw and midi ?).

I hope this is clear. I have 0 knowledge with coding. Would be really great it this is possible.

Normally I think a bank-change is CC0 right? can’t you already select that CC number to p-lock? If not, what cc would you want to use? I have set cc80 as program change and could use cc81 remapped to cc0 or something. And would you want the instant pattern change on the cc80 or as it it now? (Which is just remap it to a cc so it will be queued up)

How does one trigger the instant pattern change on OT via an external program change with RK002 ?

With an external trigger from midi controller or daw ?
midi controller / daw --> via Rk002–>OT

Is it possible to share the code for the Rk002 for instant pattern change on OT with external controller ( no loopback) ? @grit

This can be done with note ?

PS @grit :
1.Bank is P-lockable with CC 0 ! TY
Did not see that :pleading_face: Just tested and works. I can plock kits on LXR with OT CC0. Sorry for for making this so complicated. No need to code this in.

2.In my case I would need 2 Rk002’s (?). One to send instant pat change from ext to OT and one from OT to LXR (for old script).

3.For now if I choose a pattern on OT, LXR follows the pattern change.
If I can do instant pattern change on OT via ext. signal, LXR will automaticly follow.

Sending a B1 after the change is no problem, also for incorporating the LXR script into a single RK002 to do it all, but on what MIDI channel does the OT needs to receive this B1 key?

1 Like

I’m looking in the manual from OTmk2.
My guess is Autochannel with MIDI DIRECT CONNECT on or off.
I hereby summon the powers of the almighty @sezare56

Autochannel is standard midi chan 11 on OT.

1 Like

You can use any of audio tracks midi channel (MIDI > CHANNELS).
Standard Mode (Default, in MIDI > CONTROL)

You have to be in audio mode in order to use Auto Channel. Direct Connect concerns midi mode only.

1 Like

Can some one explain how to select a pattern (1-16, 17-32,…) on OT via an external midi controller and Rk002 ?

I really hope this is possible. If I can get this to work :exploding_head:

Definitely possible. Patterns can be called by default with program changes. OT has 2x128 patterns. Above 128 you need to send a bank message (something like CC00 value 01)
Can’t check, I’m abroad and off from high technology. :content:

@grit is the best person to answer how to set RK002; I can help theoretically, but I have nothing for testing; apart from a Syntakt and a Guitalele which shouldn’t help…:wink:


Did you share it ? Where can i find it? :slight_smile:

Just had a try and seems my goal of using this trick for legato pattern changes isn’t possible? I thought midi continue or using song position messages might be the solution but seems there’s no way, can anyone confirm and that it’s not just me doing it wrong?

I found a way to have direct jump, with very complex midi processing. I wouldn’t use it myself!

SPP messages with midi controller? - #22 by sezare56

Direct Jump with SPP, pattern changes made when receiving midi notes :

1 Like

Thanks, I really appreciate you sharing!

I’m generally sending midi from my computer so complex midi processing is a little easier but I guess it ultimately comes down to how smoothly / consistently it works. Seems to work great in the video you shared

Worked like a charm. I had something to improve, I don’t remember exactly. I don’t have the Event Processor script anymore.

Not sure if it can be easier, but possible for sure. The thing is was sending different midi messages from an OT midi track to tell where to jump in the Arranger to the midi processor. And you have to understand how SPP works (1/16th step values), find a correspondance with patterns.

SPP is a midi command meant to be send in stop, intentional by design of MIDI 1.0 specs.
Elektron boxes have ever since their introduction made SPP changes felt different than intented as the boxes keep sequencing in sync and therefor make the impression as if instant changes are standard.

The actual proper way is either really stopping/restart sequencer with assignment of the next SPP beforehand or wait for the sequencer to switch. Which also says that “Chain-Behavior” is the official way to switch chain faster than a full pattern (16steps). A switch in only 2/16 STEP is as instant as it can be, depending on the general pattern speed (1x, 2x) on top of that definition. More logic would be switching in 4steps of 16 because you can not end up in 2 step shifted bar playing. Even more obvious is that the OT Arranger has the shortest pattern cycle as defined of 2 Steps. You can also not make shorter Sequences by pattern length, also intentional. So forcing switch by sending Spp+stop/pause/play/restart sequence is undefined behaviour.
This approach has the benefit that you can define what is allowed to switch “instant” and what shall end its sequence before doing so.

Technically it is no big deal because the OT has 2 global Slot lists (flex+buffers and static) which do not change at runtime, all banks of a project assign their samples from this two lists.

ps: sending a stop msg in a midi stream usually triggers ALL-NOTE-OFF on most modern synths.
ps2: ableton sends ALL-NOTE-OFF after stop by default on all open midi devices.