Please allow manual starting and stopping of transport even when synced to MIDI clock

edited April 2023 in Feature Wish-lists

None of my hardware synthesizers behaves like this and does not allow me to start their sequencers when MIDI clock is present.

So please find a way to allow the transport to be manually started and stopped when the device is synced to MIDI clock. I find the current implementation very limiting. My suggestion would be to allow this when Ableton Link is enabled (even without any peer present).

In addition I would even go a step further and allow syncing with MIDI clock while ignoring start/stop messages. I am often jamming with others, and we just want to keep our sequencers in sync without starting/stopping our band mates gear.

«1

Comments

  • This isn't implemented for a reason.

    MIDI clock has no timing information embedded, it's just a sequence of identical dumb MIDI clock messages.

    It only makes any sense in conjunction with a START, STOP or CONTINUE message.

    If you were able to start any time, that's possible but the chance that you start at the perfect time is almost zero, letting the synced slaves run at a certain offset.

    Ableton LINK is better in this regard: It makes sure that all LINKed members follow an exact beat time,

    MIDI clock works as long as master and slave start or continue at precisely the same time.

  • I understand why MIDI clock in connection with START, STOP and CONTINUE makes sense. And I am not aware of any hardware MIDI implementation that does not allow the player to manually start and stop the sequencer. Having the flexibility of starting and stopping Drambo manually does not stop the use of the system realtime messages. As I said, this is an annoying limitation in a jam situation. Specially when your iPad is part of a hardware centered setup and you play with other people who use hardware synths. Ableton Link does not work with most hardware synths. I just do not want to be at the mercy of someone else sending me start and stop messages and I cannot even stop the transport when clock is present.

    That is why I suggest to only change the behaviour when Link is enabled. Link is a peer to peer system, so make MIDI behave in a similar way when it is enabled.

  • edited April 2023

    That's an interesting off-standard request. Keep in mind though that while LINK is a peer to peer thing, MIDI clock sync is always a master to slave relation with only the master sending transport status control. And none of my hardware sequencers (Korg, elektron, Roland, Yamaha) will let me start or stop the sequencer manually while in MIDI clock slave mode.

    Enabling MIDI clock master mode in Drambo with LINK enabled could make Drambo send appropriate clock messages along with transport control to keep in line with the LINK beat meter, effectively making Drambo a LINK to MIDI converter. Nothing wrong with that.

    Enabling MIDI clock slave mode in Drambo with LINK enabled would effectively mean that Drambo needs to sync to LINK instead of MIDI clock. Which connects the transport control to starting or stopping at the correct beat position.

    If you really want to be able to start and stop locally while synced to MIDI clock (and, to repeat, no hardware I know of does that), it would still mean that there needs to be one single clock master in your jam session with all jammers slaving to it. It would be up to each musician to hit start or stop at the correct downbeat in order to avoid rhythmic offsets.

    Now let me suggest this:

    LINK is good and allows easy sync of WiFi connected devices. MIDI clock could be generated with a (hosted) Drambo module that gives you full control over clock and status messages to send to your hardware.

    It could be done inside Streambyter. IMO the easiest workaround would be to use a Clock Generator into a MIDI PC generator to generate pulses in sync with Drambo's (LINK synced) transport and add a Streambyter AUv3 instance to convert the program change message "C0 01" into "F8" and add a similar module combination merged into the same stream for sending START and STOP messages inside the F8 clock stream, e.g. by hitting buttons inside Drambo which could also be MIDI mapped to MIDI controller buttons.

    By modulating the Clock Generator's "Trigs/beat" knob, you could even implement a nudge function that will temporarily send more or less clock pulses to re-sync your hardware in case you haven't hit that start or stop button in time or if for some reason (high CPU load for example), a clock pulse gets lost in transit.

    BTW, you'll also find some Streambyter code written by nic and @uncleDave that receives MIDI clock here:


  • edited April 2023

    Huh. That request makes perfect sense to me. I'm surprised anyone would object to it. I can think of lots of cases where I wouldn't want every sequencer in a midi rig to start and stop every time the master does, or where I would want to be able to stop a sequencer individually while everything else remained running.

    I get the point about starting at the right synchronized time though. Link is great for that.

  • One possible solution which rs2000 suggested is to use a third party midi clock.

    I had some issues recently with midi clock and sync so this is the tool that I use to trouble shoot midi clock.

    You can use as many as the midi ports that you have and with a couple of switches you could start/stop manually.

  • @rs2000 Thanks for your suggestions. We will probably settle for clock pulses instead of MIDI. This avoids other problems like the need to filter out note and CC messages from others. I am going to use my modded Volca Beats to convert from clock pulses to MIDI clock for my own setup.

    Interesting to hear about your hardware. I do have a Roland SH-01A, an Arturia KeyStep, an Arturia MicroFreak and a bunch of Korg Volcas. All devices do allow me to start/stop their sequencers individually while receiving MIDI start/stop/continue at the same time and regardless if they are synced to MIDI clock, or clock pulses (last one does not work for the Roland).

    I still would love to be able to manually start/stop at any time. If not for the music playing itself, then definitely for testing, and as a sort of "panic" option that allows me to stop my Drambo sequencer in the case a start message arrives by accident. I always find automation good, and automation with the option of a manual override even better.

  • @catherder Oh, that's good to know. I got both a Keystep and a Microfreak and I didn't know that they support this!

    Will try it soon 😉

  • Great discussion, watching this space.

    I do a regular live stream with Richard Nicol of Pittsburgh Modular and BusCrates (among other performance) and clock sharing strategies continue to be a challenge

  • Sure, it's Pittsburgh Modular's youtube channel under live.

    Here's the most recent livecast from this Wednesday nigh:

    https://www.youtube.com/watch?v=yu2MuNjxsYc&t=8319s

  • edited July 2023

    +1, I often accidentally end up with projects that make interesting sounds when the transport isn’t running. Would be nice to multitrack record them in Ableton when using Drambo as a plugin.

  • you could make a blank scene and use that as a work around to start at will. I do that with a few sequencers.

  • edited October 2023

    I just would like to bump this thread because I am right now in a situation where this limitation (no manual control over transport when synced to MIDI clock) is a real problem. Basically I have an external synth or other device provide the clock while I want Drambo to be manually started and stopped and send out start / stop signals to the following devices in the MIDI chain.

    I know there are reasons why the transport should be controlled centrally, but there are reasons / situations where this is not wanted.

    Removing the limitation and allowing manual transport control would not hinder anybody who controls the transport centrally to do so.

    I would have not problem to pay for an IAP just to get this in my opinion unnecessary obstacle out of the way.

  • I learned directly that lesson from @rs2000

    when my synth wasn’t syncing, he asked me to check midi clock - it was disabled from the internal midi clock of the synth so play and transport didn’t work until properly synced…I got my transport on and syncing happened.

    did you find your internal midi clock as the source or is it variable? That might be your problem as mine was set to internal or external clocks .


    only thing for me I do t like is when you have it synced to your synth, when you arm record and press play on TRansport there is no count in so you have to like time it, (to back to edit or skip a bar which isn’t good if your maxing 16)

  • edited October 2023

    (Not so) quick explainer:

    • I have several (analog) synths that expect a continuous clock stream and the use of start/stop for transport control. Otherwise there is always that “warmup” phase of up to a second until the synth has locked on the clock.
    • That makes Drambo for me unusable as main clock because it only sends clock when it’s own transport is running.
    • On the other hand I cannot sync Drambo to another clock source because it disables all transport controls when configured as a clock receiver.
    • Last but not least, I like playing “DAW less”. That means starting and stopping sequencers manually and immediately without any “warmup”. Basically I need clock for tempo synchronisation, but don’t need the transport controls. I tried many workarounds, but freeing Drambo of the, in my opinion unnecessary, limitations with regards to MIDI clock would solve everything in an instant.
  • @catherder do you have MiRack?

  • edited October 2023

    I wonder if sending clock to Audiobus instead would help. Audiobus could take care of mirroring clock to hardware devices. Drambo could be synced with Link instead of clock, with Link Start/Stop disabled.

    ... but I'm guessing you'll not want Drambo be able to start instantly and not to have to wait for the Link sync quantum.


    Still - it seems like there has to be some Streambyter-ish or Mozaic workaround. Like maybe sending clock to MidiFire with Mozaic taking care of routing and filtering of various clock messages when needed? Mozaic maybe responding to midi messages from Drambo to set the behavior as needed? Trigger mozaic to send a clock start message to Drambo from an alternative midi signal from a Drambo button press?

  • @gravitas and @number37, I've got miRack, but never really used it. Maybe something to try. For the jam tonight I was using AudioBus and was running Drambo as a sequencer inside it. This worked pretty well. I could hat least sync this combo to my hardware clock. And I am thinking about using Mozaic. There is the "Midi Clock Tool" script that works pretty well when used in "external" mode, and I might create my own script for my setup.

  • As you’ve got MiRack you can try using the “Clocked” module.

  • Midi Clock Tool will only work with hosts that pass clock messages through to plugins. AUM does. Audiobus doesn't. I never tried with Drambo. I'm guessing that MidiFire would work, and it can host Mozaic or Streambyter.

    Note: you don't have to host Drambo in Audiobus in order for Audiobus to do the Clock to Link bridging. With Drambo running standalone you can still host AUv3's inside it.

    (Sorry for the distraction from the actual feature request. It would be great if workarounds weren't needed.)

  • I use it for tracking down clocking issues when needed.

    I think you’ll find it very useful.

  • edited October 2023

    In my experience AudioBus 3 does route MIDI clock to the plugin / effect slot, but only if the input is set to "All Channels". The moment you filter for a particular channel only, the clock disappears. On the outgoing side this does not matter and clock is always transmitted to the connected interface. So both Mozaic / MIDI Clock Tool and miRack should work.


  • For the moment it seems there are a variety of workarounds. I'd hope that as Drambo continues to be developed and refined that the syncing capabilities be made as flexible and capable as possible.

    I'm in my late 50s now and remember the way we used to rig various sync scenarios. Today's tools are nothing short of miraculous, so thank you again for the wonderful platform that is Drambo!

  • edited October 2023

    I don't think so, but I hope I'm wrong. Good luck. 👍🏼

    (Intuitively, it still seems to me like something like MidiFire, possibly augmented by Mozaic or Streambyter scripts hosted in it is the way to go.)

  • Your suggestion got a new dimension today: The latest update for miRack that I got this morning can now host AUv3 plugins. I managed to run Drambo inside miRack - insane!

  • edited October 2023

    @catherder

    I’m still thinking about how to resync sequencers without using an extra trig however have a look at this…

    Using MiRack’s Clocked module I am sending out midi clock internally to dRambo, which is hosting it,

    and to three other outputs which are as follows

    the Korg Volca Drum, the Behringer Crave (which is a strange beast to sync up) and

    dRambo on another iDevice set to receive midi clock.

    Here are the screenshots.

    This first one shows a Switch module connected up to send a gate signal to the Clocked module for start and stop.

    This one shows the Clocked patch itself.

    the switch module in MiRack is so that the Start/Stop messages are sent correctly and

    it also removes an extraneous sysex message which I’m guessing is song position pointer.

    Using Clocked you can then send multiple time divisions out to whatever needs it.


    The only caveat being that you have to reassign the midi output ports in MiRack when you reload a project.

  • @catherder

    I was thinking about this a little bit more today.

    You can actually set Start/Stop per Clip using drambo automation

    so if you have multiple devices that require Start/Stop you simply

    add Clocked on a per Track basis and press a Clip to start/stop them

    and you can set it so that it resets every four bars etc.

    Automation screen


  • @gravitas before I find the time for a closer look at your suggestions, I just want to say thank you for spending so much brain / CPU power on this. 👍️

Sign In or Register to comment.