Concerning your workflow and Program Change

How the heck is everyone getting along with the Digitakt in their workflow as it concerns program changes? Do you use a DAW? Only hardware jams to a digital recorder? Just play it like an instrument and mute and unmute and turn knobs? I’m genuinely curious because of the amount of time I’ve spent trying to make the Digitakt reliably change patterns.

Program change on the Digitakt is really kicking me in the nuts. All I really want to do is drag a clip, containing a program change to the arrangement view in my DAW. When the playhead reaches the program change I want the Digitakt to change to the pattern I told it to. It doesnt though, its always a bar behind or there is the random missing first step. I’ve already read the entire internet, gone through the same issue with multiple DAWs and have done the offsets from one extreme to the other and every spot in between.

I can play a clip. Click the next clip before the other one finishes and it will go to the next pattern but only if I give it a stupid amount of time. The convenience of being able to work out a full track by experimenting with two banks worth of patterns in different sequences is riiiiiiiiiight there, almost, but not quite. So how is everyone else doing it?

1 Like

It has to get the program change before the end of the pattern to know to change…
it’s just how it is… move the clips slightly earlier or give up on that idea…
I either sequence on the device do it by hand and just record that
or sequence from the daw as if they were vst plugins now…

@Airyck is pretty good with max4live and mentioned he had been working on a patch to make it work as you described if you use ableton live … think still working on it though.


Check this :


Thanks guys for the kind words :heart: and linkage.

The current device above will work in Session view with multiple Elektron sequencers. It does it by sending the named program change when the clip is “armed” to start playing (before the clip starts playing).

The arrangement view is much more difficult but I do have it working.

It works with the same named clips and you are able to jump back and forth from arrangement view and session view. I’ve also made it possible to loop the arrangement and still get the correct pattern change.

A brief description of my method:

  • When a user creates a named clip in arrangement mode the start and end times of the clip are recorded into a database.

  • If a clip is selected in arrangement it scans and deletes all entries between the start and end times of the selected clip before adding the selected clip to the database

  • The arrangement playing position is monitored and some math functions are performed on it to trigger clips early in the right circumstances

Some limitations:

  • There is no way in the Ableton Live API (or Live Object Model) currently, to get a list of clips in the arrangement. The only time the clips can be updated is when they are selected by the user or “scrubbed” with the play head.

  • Once the user has selected the clip the database is updated and stored. Due to the clip ID constantly changing, start time has to be the identifier (because there can only be one clip at one start time on a track).

  • For old data to be removed from the database there can’t be any space between the clips. The scanning process only removes entries between the start and end times of the clips.

The database is stored with the live project, so you should be able to open a project and play the arrangement how it was when you saved.

Just working out some UI stuff right now.

There is also about a 5-10 second initialization time (might be able to reduce that in the future) to make sure all of the parts start in the correct order (only on the first load though).

It’s getting complicated…


@Tchu thanks for the linkage!

@Airyck Wheeeeeeeeeeeeeeew! That is getting complicated. Kudos for working it out for the community! Hopefully it helps folks out.

I am a Bitwig user so it wouldn’t work for my setup. I’ve spent literally days and days collectively researching back when was using FLStudio and again now that I’m using BW to find a way to do it conveniently. There is the OB plugin to send note data at the lowest keys and I’ll give that a try.

@DanJamesAUS you pretty much nailed it, I’m giving up on the idea. I’ve spent a lot of time troubleshooting. The silver lining to that is that I learn the sh*t out of my software and the protocols.

I’ve spent a lot of time thinking on this, whether I should be pissed or not. I’m actually not, I actually find myself quite excited. I get to rethink my workflow from the bottom up (or is it top down in this case?).

Its just a bit disappointing really, sooooooooo damn close to absolute perfection for me and my wanted workflow but just cant kick it off the edge because I didnt code the box. I set up my Korg Monologue and I’m pretty sure that if I turned off quantization I could throw program change messages at the speed of midi 24FPS. So I dont know what the difference is between that midi implementation and Korgs.

Anyways thanks to everyone, I really was genuinely curious as to how people were pulling it off being as popular as it is as a studio hub / brain but I’ve spent my last 3 hours this morning fiddling with it before work. I’ll do it by hand and program in the program changes linearly or be absolutly brutal and kill enough patterns so that I have only the A bank filled and pattern chain to record into the DAW one shot.

I’ll get into OB when I feel like its time, right now I just want to make music, not tinker and troubleshoot and add more variables that will potentially distract me from that.

Thanks all!!


I didn’t realize you were using Bitwig. Max for Live is the main reason I’ve never switched to it.

The note thing works in Overbridge Mode on Channel 16 FYI.

Otherwise the whole problem is that MIDI isn’t fast enough to send the change before the pattern starts playing again.

The solution is to send the program changes (or note changes in Overbridge) a few beats before the change is suppose to happen… however you work that out.

Good luck and happy music making! Eventually I’ll stop building and start making music again.


I finally found the right solution to receive instant midi program change for the digitakt (slave)
This is the same trick for the Monomachine (I have one) and it almost look like a bug… I discovered it randomly on the monomachine… and then figured out it was also working on the DT :

The midi chanel 8 !

The midi chanel 8 is the only chanel on Digitakt that allows Program Change reception ! From a Pyramid for instance, or from a RS 7000, it works perfectly. The digitakt is then a perfect expander / sampler / slave machine… BUT : it works ONLY if the transport is desactivated. No play. No midi sync. No instant Pattern change. Only Program Change. The DT is then only an expander. Otherwise you have to wait for the end of the pattern, wich is the most irrational modern live machine behavior ever (and I told many ingeneers already about it).

1 Like