I guess people with a digitakt will know this, when your digitakt is in slave and you change a pattern on your master device, the digitakt waits 1 pattern (1bar or 4 bars) to switch the pattern. for me this is a problem because i want the digitakt to switch patterns instantly together with my master device.
anyone knows how to do this with the midihub? That’s practically the reason why i bought this device so I hope someone can help me out with this.
I checked this thread but this guy is basically trying to achieve this with his computer… this is not what i want
He wants that the pattern changes directly when you press the button of the pattern change (in direct mode). This is not my goal, I want that the pattern changes at the end of the master pattern (that comes from my Analog Rytm). i tried it with the sync delay pipe like you mentionned in the other thread and i must say it works 7 out of 10 times… But ofcourse that’s not good enough
btw: the Rytm does respond to pattern changes as slave to every end of a pattern from another master, the guy in the other thread really wants it immediately when you press the pattern change button, i want to press a button and want it to follow the master in 1, 2 or 3 bars (all steps it has to go till the switch to the next pattern). So on Rytm this works fine as slave, on digitakt it does not.
I could swith my setup and make the digitakt master of this chain, BUT i play for so long with the Rytm in my setup and always liked that i need 2 buttons to switch a pattern, on the digitakt you need to press 3 buttons, first select bank, then bank number and then pattern number. I know, it’s a small difference but for me it is bigger than that
anyway, thanks for your help, i will try some more things and come back if it’s not working how i want.
Pretty much the only solution is a stop message, then a program change message, then a start message. Octatrack is the same way, it plays through its pattern, then changes. This is configurable but it takes at least one pattern step, cannot make it immediate. I’ve gotten mine to switch instantly using this method.
I don’t know when the rytm sends its program change, but if you transform it into those three messages you should be able to get the digitakt to switch right when the program change is sent. If it sends it a few bars before you need the change, I can’t think of any way to fix that with midihub. Midihub doesn’t know how long your patterns are. Hopefully it is right when you want the switch.
I guess you need two transforms to make two additional messages out of one. I would try turning the program change into a stop ‘before’ and then the next transform a ‘start’ after.
There may be side effects to doing this, can’t remember. I mostly gave up on elektron sequencers. They are only superior to toys.
Could you maybe explane exactly how to do it? i need to add 3 transform pipes? 1 stop, 1 program change and 1 start, right?
I don’t really get what i need to choose in all the other options in the transform pipeline like the unused and argument options… and also the mode, should it be on insert before or after or replace?
Could you maybe check these 3 pictures in the dropbox link below and see what i did wrong or mention what i should change to make this work…
From the pictures you are not transforming anything. You are telling it to turn a start into a start, etc… You need to turn the program change into a stop, insert before, then turn the program change into a start, insert after. Think just those two transforms would likely do it.
‘Prioritize Real-Time’ should be off in this case, so the order of messages is retained. Otherwise, MIDI messages belonging to ‘Real-Time’ class would get priority over all the rest of the messages like Program Change.
hey,thanks for the help already! Yeah, I’m normally good with midi but this midihub is a bit of a pain in the ass for me at the start
So, I tried everything you guys mentionned and still no luck. sometimes it changes correctly together with the Rytm pattern, and sometimes it does the same as usual, waiting for a full pattern to change to the next pattern. with the things you told me i need to do it also get’s out of sync from the moment it switches a pattern… Could this maybe have something to do with the insert before and/or after setting? because it’s just like the pattern starts a little bit too early.
I again added a folder with all my settings in the pipelines. Could you maybe check again if everything is correctly? there is also a video where you can see that the sync is lost from the moment it switches. my main clock is the erm midiclock+ and sends only clock/start/stop to the rytm (and octatrack). The rytm only need to send program changes to the digitakt, i have entered several filters between the output of the rytm (midi C) and the input of the digitakt (midi D), only program change and clock/start/stop/continue are not filtered and sent to the digitakt from the rytm. I also filtered all midi channels except channel 16 which is used only for pattern change send on the rytm and pattern send receive on the digitakt.
I tried to explain as good as possible, i really would like this to work as this would totally complete my live setup and how i want to play
Also, have been messing in opposite direction, digitakt sending program changes to the analog rytm (mk2) and this works flawless… i know it’s a digitakt problem but looks like the people from the other threads here have the same problem with the rytm (maybe mk1?). for me this works perfect, only downside is that i am so used to play with my rytm as master… so help still would be appreciated.
1 thing that would also work and that i would find super usefull is to select a pattern on the digitakt and then with a cc message select the next pattern with a button via midi, unfortunately there is no cc command for increasing or decreasing patterns on elektron gear. I did just found out about a pedal that can do that, the source audio soleman. Anyone has experience with that or tried it?
This is it. If you need an explenation of what is all connected and what are the purposes, please let me know. For The problem i have it’s the connection between input C to output D (Analog Rytm to Digitakt)
The preset you have should produce the correct sequence of STOP, PGM CHANGE, START messages.
There’s a more elaborate way to do the same, but with some timing control for the events. There’s an example showcasing it, see in Midihub Editor: File → Open Example…, open ProgramChange to Multiple Ordered Events.mhp.
Set the channel as needed in the CH REMAP pipe. Try playing with the Delay’s time argument to see if some larger or lower values make a difference and make it work as expected.
However, is it expected/best-case-behaviour-in-2024 for it to lose an entire quarter note before changing to the next pattern? The timing of the change is correct - but due to how I understand this to work with inserting a stop - the stop is essentially skipping anything the last quarter note (ie the last four 16th notes) before changing.
If so, it’s a clever idea for a work-around but it’s kind of unusable to have a bunch of hanging notes just before each pattern change isn’t it? Even if it is actually changing the patterns on time. I was kind of assuming it would be an impercepible gap of a few milliseconds right before the change. The Delay Time in the Delay pipe is for 2ms - maybe 2ms is four 16th notes at 120bpm though?
It also seems to only work inconsistently, even without changing the settings.
Anyway, I’m assuming it’s just the best people can do given the limitations of the hardware, but I was just suprised that other people seem to be getting use out of it and thought maybe I was doing something wrong. Or maybe that there’s a better patch with the newer firmware?
Hey, @linee
I’m not an elektronaut so forgive me if I’m mis-remembering, but I had the impression that the Digitone Stop-PC-Start version was a way around peculiarities of those machines. (@szszoke might be able to point to discussion on it)
ie. where the device needed a Stop before a PC.
With the EMX-1 it’s like my ES-1:
If you change patterns during playback, the currently-playing pattern will finish playing first, and then the newly selected pattern will begin to play. The name of the pattern waiting to be played next will blink in the display until the change occurs.
This is like my ES-1 so I dug it out to play. Setting up a Note → PC Transform worked just fine; changing smoothly at the end of the pattern.
the ES-1 only has 64 patterns, so if you need to jump from banks A-B ↔ B-C on the EMX…
...it's just a little more complicated...
When you switch patterns, the EMX-1 will transmit a pro- gram change message [Cn, pp] (and Bank Select [Bn, 00, mm] (control change #00), [Bn, 20, bb] (control change #32) (mm: bank number upper byte, bb: bank number lower byte). If the EMX-1 receives a program change message on the ap- propriate MIDI channel, it will switch patterns within the same group (e.g., from A01 to A02). If the EMX-1 receives a bank select message, it will switch groups (e.g., from A01 to C01) so that patterns of another group can be selected.
(p85 of manual)
btw, if you put PCs on two different channels in the MPC sequence, the upgraded Transform can set the CC#32 value from the channel (then rescale it to 0-1). All done in 4 pipes!
…but still quite do-able
Thanks; nice to be reminded of how much fun the Electribe is!
PS. On the arithmetic, 1beat @120 = 500ms so a 16th note is about 30 ms
PPS. The first patch is an early best-use of Transform before it had channel-setting properties; nowadays it can be done in one line, but if I’m correct you don’t need all the Transport messages
As always, thanks for the in-depth response Resonatter. I’ll go through what you said and create a demo tomorrow to try and illustrate the issue with I’m having with that last quarter note being “erased” with the stop/start approach. If a quarter note @ 120bpm is 500ms and then it seems at odds with the 2ms delay in the patch. Luckily the Bank Changing part I’m fine with, it’s just the missing notes. To be continued…
@linee: as before, why do you need the Stop-Start; EMX should change with just PC?
As regards the 2ms delay with the Digitakt approach, AFAIcan remember, the Elektrons wouldn’t allow a PC without a Stop-Start, Sooo the patch was designed to give an imperceptible delay to let the device catch-up. It had nothing to do with quarter notes!
The Elektron thing might be a false flag sorry. I think essentially want to find if there’s a way to get the Midihub to pass on that PC cue from the MPC to the EMX when it actually hapens - ie. in the middle of a loop - not just as soon as the pattern starts (at which point it’s too late for the EMX).
My ideal would be to use the MPC as a master and set every pattern to correspond to another one on the EMX and for the EMX follow the MPC exactly. That way I can use the MPC freely and when I cue up a pattern change on the MPC, the EMX also cues up its pattern change at the same time (not only once it’s too late, on the 1 of the new pattern of the MPC).
Currently if I have the MPC running a Pattern 1 on a loop and then cue up Pattern 2 (which is set up to send a corresponding PC to the EMX), the EMX will receive the change just a on the 1 of the new pattern. So once the Pattern 1 loop on the MPC ends, it starts playing the cued-earlier Pattern 2 but the EMX is still in Pattern 1, but with Pattern 2 now cued up to start next time. So it’s always one iteration of a loop out of a sync.
It would be great if you could use the Midihub’s MIDI monitor to produce a log of events that MPC sends when it plays one loop, and switches to another loop, and plays it fully.
To do that, highlight the MPC’s input pipe within the Midihub Editor, then do this on the MPC:
Set up a 4/4 loop of a single bar length.
Set up another 4/4 loop of a single bar length that is supposed to produce the Program Change message on its start.
Play the first loop for 2 times.
Make it switch to the 2nd loop, play it for 2 times.
Stop at the end of the loop.
(no notes are necessary - I’m interested in Start, Clock and Program Change messages)
Then do Settings → Export as CSV…, save it to a file and upload it here.
We can inspect the file to get an understanding of how MPC1000 behaves.
It’d be great if you could clear the MIDI monitor log and repeat the procedure 2 or 3 times, saved as separate files, so we can see if the behavior is consistent.