"Early" Program Change (make slaved drum machines & grooveboxes change patterns in sync)
I use the Deluge as a "conductor" to control a small orchestra of synths, with a focus on live performing (mainly by using colored groups in the Deluges Song mode). In order to make all slaved machines play their sounds and patterns in time, I have set up Midi clips with program changes on the Deluge (for each instrument).
This works well enough on connected synths like Bass Station 2, Toraiz AS-1 and Blofeld, where program change only effects a sound change. However there are sync problems with my drum machines / grooveboxes that each have their own sequencer, playing their own internal patterns (Tanzbär 2, MC-101, Model:Cycles).
On the MC-101 and the Model:Cycles (each on their latest firmware), program change messages that arrive AT the pattern change usually only get applied one pattern length after the fact. The Tanzbär 2 has problems with LFO-Timing that occurs instantly after program change, usually not sounding the LFO the first time around.
Through lots of experimentation I found out that these machines need an "early" program change, that arrives at least 1/8th note before the pattern change (= 125ms @ 120 bpm). Apparently this "prep time" is necessary for preloading the new parameters/samples of the forthcoming pattern.
It seems that other people have the same kind of problems, not only with the MC-101* and the Cycles** but also the Digitakt ***. It's also not a problem unique to the Deluge since it seems to occur with other master sequencers as well (Pyramid, Live).
@ fellow delugians: Do you experience the same problem? Which other machines are affected by this?
I tried finding a workaround by using a Midi processor (midiglue) but failed to find a reliable solution to keep it all in sync (...partly because time travel is only slated to arrive with Midi v.3 and only omom know how long that's gonna take).
I really like the Deluge as a "conductor" in my setup, but would hope for a flexible approach when dealing with "temporally challenged" external devices:
Would it be possible to get an option for each Midi-Clip, to send out its program change (incl. Bank & Sub) message early? This should apply only to pattern changes that are "known in advance" by the system, like the ones set via the colored groups in Song mode, or the preprogrammed ones in Arranger mode.
I imagine it as an additional parameter after the "PGM", "BANK" and "SUB", named "EARLy" (or "PRE"), with values of "OFF" and a range of numeric intervals representing millisecond durations like "50", "100", "150", etc...
If an early value is set by the user, the Deluge would "prepone" the corresponding program change message accordingly before the coming pattern change.
In the case of colored groups: If the "remaining time to pattern change" is shorter than the specified "EARLy" value (= because the user has changed the color very shortly before the pattern change is set to occur), the program change should be sent instantly (in order to somehow still try to trigger the pattern in sync, even though this might not always work).
Roland MC 101
(Post in a german forum describing an offset of one 64th note on the Roland MC101 internal sequencer (Slave) each time a program change is sent from the Deluge (Master)).
** Model Cycles:
(French forum post of the same problem, but with either Digitakt or Model:Samples as Master).
(Same problem with either the Octatrack or the Model Samples set as Master)
*** Elektron Digitakt
(When controlled externally (with Live or Pyramid), the Digitakt changes pattern too late, despite Elektrons affirmations that they had fixed this problem).