Feature Request: Rate-limited automations

Hi all,

I’ve just got a quick question about rate-limited automation lanes for both 7-bit and 14-bit CC messages. Im hoping that someone who works at Squarp can answer this directly, but if anyone else has any relevant info then I’m all ears:

When limiting the rate of a CC automation lane, say to 4PPQN for example, is the resulting CC data always sent ON the rising edge of that 4PPQN clock, or is the data sent at anytime that is at least 4PPQN worth of time since the last message was sent? In the case of 4PPQN, the first option would always send data at the beginning of each 16th note, however the second option could theoretically send the data at any point within a 16th note, as long as the previous change occurred at a time that was >= 4PPQN worth of time beforehand.

On this topic, is there any way of (or chance of adding a feature that allows for) a sample and hold type of function, where you could set an automation lane up so that it only sends a CC automation lane message whenever a Note On message is sent due to a note being played in either live or step mode?

Thanks for your time :slight_smile:

From the manual:
“While this is primarily intended as a safety feature, to not overload a MIDI device’s bandwidth, it can have musical applications, as well. Limiting the max rate to 4ppqn, for instance, will send a message once every sixteenth note at most, which can create very rhythmical parameter changes. This is akin to a sample-and-hold function.”

So I suspect that the whole automation lane is “cut in pieces”, where it will check (sample) for the value of fixed points (synced to the clock) in the automation lane. So for a 4ppqn rate, it will probably start at 0 and will then send the stored value in the automation lane at every 1/16th note.

It should be easy enough to test and verify this, but I’m not at my Hapax now, may do that later if you still have no definitive answer.

About the sample and hold function to send a random value for every note on: you can use the LFO effect for that. You can make it retrigger on every note and make it a one-shot LFO, so it will keep that value until you hit a new note. Just set the LFO waveform to random and the mode to “once”. Or do you want to sample a specific automation lane instead of a random value? In that case, I don’t think that is possible.

You might want to suggest this feature (and also ask any other questions) by contacting Squarp support directly by their contact form. They usually answer within a day or so. They are very open for feature requests and their support is very good!

Thanks for your detailed reply Maarten, that was how I interpreted the manual as well, but I haven’t been able to test it yet.

Re the Sample and Hold thing - yes, I was talking about sampling a specific automation lane curve, not just any random value, but I didn’t actually know that you could do a random sample and hold LFO on a per-note basis… so thanks for that info! I’ve suggested the feature to Squarp - an automation lane rate-limiting option of 1 message per note, alongside the current PPQN options.

Maybe you can achieve the automation lane per note sample thing by doing the following:

  • Add a midi Filter FX and set it to filter all CC messages
  • Add a midi Envelope FX and set its destination to the Filter on/off switch with a depth of -100%. Set attack, sustain and release to 0, decay to 1 (or maybe a bit longer or even 0 - see what works).

I think the envelope should now turn off the midi CC filter at the start of every note, thus the current value of the automation lane will come through and then immediately gets cut off again as the envelope closes and the filter gets switched on again.

Worth a try :slight_smile:

That’s a great idea @Maarten , I’ll give that a go at some point soon and see if that works.

I just received this email from Squarp re the request:

So hopefully we will see this idea in a future firmware update!

1 Like

Sadly I still haven’t heard back since this. Please also express your interest here if you’re hoping to see this feature in the future